2011-06-20 32 views
6

私はEC2サイトのデータベースとHTMLをS3にバックアップするために毎晩実行するシェルスクリプトを持っています。フォルダをバックアップすると、それを見やすいように日付が追加されます。しかし、私は3日前から関連するバックアップフォルダを削除することもできるようにしたい。 3日前に計算を行うにはどうすればいいですか?シェルスクリプトの日付計算方法

#!/bin/bash 
DATE=`date +%m%d%Y` 

s3cmd put -r /var/lib/mysql/mydb/ s3://mybucket/mydb-$DATE/ 
s3cmd put -r /home/ec2-user/public_html/ s3://mybucket/public_html-$DATE/ 
s3cmd del -r s3://mybucket/mydb-(date 3 days ago) 

答えて

7

:exmapleため

DATE=`date +%m%d%Y -d "3 days ago"` 
2

なぜディレクトリの変更時刻を使用しないのですか?次に、findでそれらを検索するだけです。

-d, --date=STRING 
    display time described by STRING, not 'now' 

だから、ちょうどにあなたの日付変数を変更します:あなたはdateコマンドのために-dフラグを使用することができます

find backups -maxdepth 1 -mtime 3