8

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)
4

3 に答える 3

11

date コマンドに -d フラグを使用できます。

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

したがって、日付変数を次のように変更するだけです。

DATE=`date +%m%d%Y -d "3 days ago"`
于 2011-06-20T20:48:48.760 に答える
2

ディレクトリの変更時刻を使用しないのはなぜですか? その後、find でそれらを検索できます。例:

find backups -maxdepth 1 -mtime 3
于 2011-06-20T20:47:48.390 に答える