2012-08-18 1 views
-1

J'ai besoin d'un script pour s3cmd qui envoie la commande de suppression pour certains fichiers dans mon compartiment Amazon S3. Je sais qu'il y a this method intégré, mais ce n'est pas très utile. Voyons voir pourquoi.Amazon S3: suppression automatique de certains fichiers avec s3cmd

En ce moment j'ai un script qui sauvegarde ma base de données tous les minuit et mes fichiers de sites Web tous les vendredi et mardi (toujours à minuit).

Le script que je cherche devrait supprimer les fichiers afin d'avoir seulement sur le seau: 1 sauvegarde par mois (disons, du 1er jour de chaque mois) de db et de fichiers. Et laissez toutes les sauvegardes (tous les jours pour db et mardi et vendredi pour les fichiers, donc le comportement "par défaut") pour les 7 derniers jours.

exemple, si je suis le 17 juin 2012, la situation devrait être:

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 

Puis le 2 juillet 2012, le seau doit contenir:

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

Le script automatiser ce que je Je fais manuellement en ce moment (j'ai déjà seulement 1 sauvegarde par mois passé, donc je dois supprimer les sauvegardes à partir de 7 jours avant de revenir à la dernière sauvegarde du 1er du mois).

Désolé pour la question compliquée, j'espère que c'est assez clair. : D

Répondre

2

Pour configurer s3cmd afin d'être en mesure d'exécuter dans vos scripts exécuter:

s3cmd --configure 

Exécutez cette commande de l'utilisateur qui doit exécuter le script de sauvegarde ou de copier le fichier généré à cet utilisateur répertoire personnel.

Pour supprimer le fichier avec s3cmd vous utilisez la commande del, donc, dans votre script, vous devez appeler s3cmd comme ceci:

s3cmd del s3://bucketname/file 

Bien sûr, vous pouvez également utiliser des caractères génériques:

s3cmd del s3://bucketname/file* 

vous pouvez vous nommer les fichiers de sauvegarde avec la date:

db.backup.20130411.tgz

et utilisez la date pour supprimer les sauvegardes précédentes. Btw, dans le projet s3ql, il existe un script expire_backups qui pourrait déjà faire ce que vous voulez faire.

+0

Je sais comment appeler s3cmd et que je supprime les fichiers avec del, mais je suis à la recherche du script exact pour supprimer ces fichiers, j'ai expliqué :-) – MultiformeIngegno

+0

... et ont expliqué la situation que j'ai expliquée périodiquement. :) – MultiformeIngegno

+1

Eh bien, il s'agit d'un site de questions et réponses, et non un endroit où demander le programme de personnes pour vous. Il y a d'autres sites où vous pouvez le faire. – adosaiguas

Questions connexes