我正在尝试创建一个bash文件,通过复制的cron作业运行,然后通过CLI将本地早于特定日期的文件/目录删除到Amazon S3。
我安装了S3 CLI并且正常工作,只是不知道如何编写脚本来复制和删除文件。
答案 0 :(得分:1)
根据修改时间推定较旧
find <dir_where_files_reside> -mtime +X | while read line
do
aws s3 cp $line s3://<bucket_name>/
if [[ $? -eq 0 ]]; then
rm $line
fi
done
答案 1 :(得分:0)
这应该这样做,假设你已经设置了aws凭证。
#!/bin/sh
##############################################################################################################
#
# this script will move any log files that are older than 7 days to s3
#
##############################################################################################################
LOG_DIR=/some/log/dir
DAYS_TO_HOLD=7
NOW=`date +%Y%m%d`
echo "Starting log cleanup process ..."
find ${LOG_DIR} -name "*your_file_pattern_match_here*" -mtime +${DAYS_TO_HOLD} -exec aws s3 mv {} s3://somebucket-that-holds-logs \; >/dev/null 2>&1
echo "Log clean up completed"