我寫了一個腳本這需要MySQL的轉儲,並上傳到S3和我已經加入了腳本到的cronjob和腳本在2點在午夜運行,並上傳了MySQL轉儲到S3。在上傳到S3之前,我使用日期和時間戳作爲文件名。管理每週的備份量
我的問題是我需要在S3上管理備份的7天,並自動從S3中刪除第8天的備份文件,因爲我使用日期和時間戳作爲文件名來使每個文件都是唯一的,所以我我無法弄清楚如何去做。
同時,我必須恢復最新的備份在另一個EC2實例。
我寫了一個腳本這需要MySQL的轉儲,並上傳到S3和我已經加入了腳本到的cronjob和腳本在2點在午夜運行,並上傳了MySQL轉儲到S3。在上傳到S3之前,我使用日期和時間戳作爲文件名。管理每週的備份量
我的問題是我需要在S3上管理備份的7天,並自動從S3中刪除第8天的備份文件,因爲我使用日期和時間戳作爲文件名來使每個文件都是唯一的,所以我我無法弄清楚如何去做。
同時,我必須恢復最新的備份在另一個EC2實例。
你可以抓住從您的S3存儲主機的XML響應,如
http://YOUR_BUCKET.s3.amazonaws.com/
應該返回XML,如: -
<ListBucketResult xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<Name>...</Name>
<Prefix/>
<Marker/>
<MaxKeys>1000</MaxKeys>
<IsTruncated>true</IsTruncated>
<Contents>
<Key>xxxx.gz (if you gzip the dump)</Key>
<LastModified>2011-11-10T02:38:49.000Z</LastModified>
<ETag>"xxxxx"</ETag>
<Size>xxx</Size>
<StorageClass>STANDARD</StorageClass>
</Contents>
,並與上次更改時間節點的值,可以確定何時創建文件。
S3有可用的SDK API是不同的語言,
你可以下載一個副本,然後以編程方式做淨化
至於複製,利用SDK API,你可以抓住從原來的S3存儲的內容,然後將其發佈到另一個S3桶。
SDK API: - http://aws.amazon.com/sdkforphp/(PHP)
http://aws.amazon.com/sdkfornet/(.NET)
http://aws.amazon.com/sdkforjava/(JAVA)
您可以創建備份文件使用日期字符串作爲文件名,並使用日期-7 days
來找出 文件需要刪除。