2016-04-05 8 views
1

cronジョブで実行するbashファイルを作成しようとしていますが、特定の日付より古いファイル/ディレクトリをCLI経由でAmazon S3にコピーして削除します。Xより古いファイルを移動するBashファイル

私はS3 CLIをインストールして動作させていますが、ファイルをコピーして削除するスクリプトの書き方は分かりません。修正時刻に基づいて、古い仮定

答えて

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

関連する問題