Bash文件将早于X的文件移动到S3

时间:2016-04-05 18:38:39

标签: bash amazon-s3

我正在尝试创建一个bash文件,通过复制的cron作业运行,然后通过CLI将本地早于特定日期的文件/目录删除到Amazon S3。

我安装了S3 CLI并且正常工作,只是不知道如何编写脚本来复制和删除文件。

2 个答案:

答案 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"