파일을 S3에 백업하고 Bash를 사용하여 삭제하는 방법
#!/bin/bash
time_in_the_past=604800 # 1 week in seconds
directory="./"
bucket_name=""
bucket_path="/"
current_time=$(date +"%s")
while read -d '' file; do
mtime=$(stat -c %Y $file)
difference=$((current_time-mtime))
if [ "$difference" -gt "$time_in_the_past" ]; then
echo "Backing up $file"
aws s3 cp $file s3://$bucket_name$bucket_path && unlink $file
fi
done < <(find $directory -type f -print0)
이 스크립트는 디렉터리의 파일을 읽고 지정된 시간보다 오래된 파일인지 확인하고 S3에 업로드하고 성공적이면 로컬 시스템에서 삭제합니다. 이 스크립트는 AWS CLI 을(를) 설치하고 구성했다고 가정합니다.
작동 방식을 제어하는 4개의 변수가 상단에 있습니다.
time_in_the_past는 일주일을 초 단위로 표시하지만 원하는 값으로 변경할 수 있습니다.
디렉토리는 백업이 발생할 디렉토리입니다.
bucket_name 파일이 업로드될 버킷 이름입니다. (a-z0-9_-)
bucket_path 파일이 배치될 버킷 내부의 경로입니다.
이 파일을
cleanup.sh
로 저장한 다음 crontab을 사용하여 X 시간마다 실행할 수 있습니다. crontab을 열려면 다음을 실행할 수 있습니다.crontab -e
그런 다음 선호하는 편집기를 선택합니다(저는 보통 nano를 사용합니다). 그런 다음 끝에 crontab 줄을 배치합니다.
30 6 * * sun /path/to/cleanup.sh
30 6 * * sun
는 매주 일요일 오전 6시 30분을 의미합니다. cron guru 이라는 놀라운 도구를 사용하여 cron 표현식을 시각화할 수 있습니다.도움이 되었기를 바랍니다. 질문이 있으시면 의견에 답변해 드릴 수 있습니다.
Reference
이 문제에 관하여(파일을 S3에 백업하고 Bash를 사용하여 삭제하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/zerquix18/how-to-back-up-files-to-s3-and-delete-them-using-bash-4i1p텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)