2012-08-18 2 views
-1

Мне нужен скрипт для s3cmd, который отправляет команду удаления для некоторых файлов в моем ковре Amazon S3. Я знаю, что есть this method встроенный, но он не используется. Давайте посмотрим, почему.Amazon S3: автоматическое удаление определенных файлов с s3cmd

На данный момент у меня есть сценарий, который создает резервные копии моей базы данных каждую полночь и файлы моих веб-сайтов каждую пятницу и вторник (все еще в полночь).

Сценарий, который я ищу, должен удалять файлы, чтобы иметь только на ведре: 1 резервное копирование в месяц (скажем, 1-го числа каждого месяца) как db, так и файлов. И оставить все резервные копии (каждый день для db и tuesday и friday для файлов, поэтому поведение по умолчанию) в течение последних 7 дней.

Например, если я на 17 июня 2012 года ситуация должна быть:

1st January 2012: db and files 
1st february 2012: db and files 
1st march 2912: db and files 
1st april 2012: db and files 
1st may 2012: db and files 
10th june 2012: db 
11th june 2012: db 
12th june 2012: db and files 
13th june 2012: db 
14th june 2012: db 
15th june 2012: db and files 
16th june 2012: db 

Затем на 2 июля 2012 ковш должен содержать:

1st of jan, feb, march, apr, may, june: both db and files 
last 7 days: "default" backups untouched (files backup only on tuesday and friday and db every midnight). 

Сценарий будет автоматизировать то, что я m делать вручную прямо сейчас (у меня уже есть только 1 резервная копия за последний месяц, поэтому мне нужно удалить резервные копии, начиная с 7 дней назад, начиная с последней резервной копии 1-го месяца).

Извините за запутанный вопрос, я надеюсь, что это достаточно ясно. : D

ответ

2

Чтобы настроить s3cmd для того, чтобы иметь возможность работать в в сценариях запуска:

s3cmd --configure 

Выполнить эту команду от пользователя, который должен запустить сценарий резервного копирования или скопировать сгенерированный файл для этого пользователя домашний каталог.

Чтобы удалить файл с s3cmd использовать дель команды, поэтому в сценарии вы должны вызвать s3cmd так:

s3cmd del s3://bucketname/file 

Конечно, вы можете также использовать подстановочные знаки:

s3cmd del s3://bucketname/file* 

Вы можете назвать вам резервные файлы с датой:

db.backup.20130411.tgz

и используйте дату, чтобы удалить предыдущие резервные копии.

Btw, в проекте s3ql есть сценарий expire_backups, который может уже делать то, что вы хотите сделать.

+0

Я знаю, как вызвать s3cmd, и что я удаляю файлы с del, но я ищу точный скрипт для удаления тех файлов, которые я объяснил :-) – MultiformeIngegno

+0

... и имею ситуацию, которую я объяснял периодически. :) – MultiformeIngegno

+1

Ну, это сайт вопросов и ответов, а не место, где можно запросить программу для людей. Есть и другие сайты, где вы можете это сделать. – adosaiguas