В настоящее время я работаю над сценарием для удаления файлов с сервера, возраст которых превышает одну неделю. Я использую AWS-CLI.
В настоящее время скрипт удаляет все, а затем завершает резервное копирование. Я хотел бы сохранить не менее 7 дней и удалять только файлы, возраст которых составляет неделю или более.
domain=( mydomain.com )
sqldb=( mydb )
opath=$HOME/backup/
mysqlhost=mysql.mydomain.com
username=myuser
password=password
webdir=$HOME/myfolder
today=$(date +%m-%d-%Y)
week=$(date --date='1 week ago' '+%m-%d-%Y')
for (( i = 0; i < ${#domain[@]}; i++))
do
cpath=$opath${domain[$i]}
if [ -d $cpath ]
then
filler="just some action to prevent syntax error"
else
echo Creating $cpath
mkdir -p $cpath
fi
mysqldump -c -h $mysqlhost --user $username --password=$password ${sqldb[$i]} > ${cpath}/"$today"_${sqldb[$i]}.sql
zip -r ${cpath}/"$today"_"$domain".zip $webdir
done
#delete objects older than 7 days
# aws --endpoint-url https://objects-us-east-1.dream.io s3 rm s3://my-bucket/file.txt
aws --endpoint-url https://objects-us-east-1.dream.io s3 rm --recursive s3://mybackups | grep $week
#use aws-cli to upload to DreamObjects
aws --endpoint-url https://objects-us-east-1.dream.io s3 sync $opath s3://mybackups/backups/ --exclude "$opath"mybackups.com-backup.sh
#delete backup from web server
find $HOME/backup/* -type d -exec rm -rf {} \; 2> /dev/null