Как удалить файлы старше 7 дней в S3? - PullRequest
0 голосов
/ 22 мая 2018

Нужно удалить файлы в S3, который старше 7 дней, нужен сценарий оболочки, чтобы сделать это, не повезло с поиском в Google, я нашел следующий URL

http://shout.setfive.com/2011/12/05/deleting-files-older-than-specified-time-with-s3cmd-and-bash/

нам не полезно, есть ли у кого-нибудь скрипт для удаления всех файлов старше 7 дней?

Ответы [ 2 ]

0 голосов
/ 30 мая 2018

Спасибо, Джон

Мы немного изменили код, и он работает нормально.

   aws s3 ls BUCKETNAME/ | while read -r line;
       do
        createDate=`echo $line|awk {'print $1" "$2'}`
        createDate=`date -d"$createDate" +%s`
        olderThan=`date --date "7 days ago" +%s`
        if [[ $createDate -lt $olderThan ]]
           then
            fileName=`echo $line|awk {'print $4'}`

            if [[ $fileName != "" ]]
            then
                    aws s3 rm BUCKETNAME/$fileName
            fi
       fi

       done; 
0 голосов
/ 23 мая 2018

Самый простой способ - определить Управление жизненным циклом объекта в корзине Amazon S3.

Можно указать, что для объектов старше определенного числа дней должно быть expired (удалено).Самое приятное то, что это происходит автоматически на регулярной основе, и вам не нужно запускать собственный скрипт.

Если вы хотите сделать это самостоятельно, лучше всего написать скрипт (например, на Python) для получения списка файлов и удаления файлов старше определенной даты.

Пример: GitHub - jordansissel / s3cleaner: очиститель файлов Amazon S3 - удаление файлов старше определенного возраста, соответствующих шаблону,и т. д.

В качестве сценария оболочки сделать его немного сложнее.

...