Suppression de sauvegarde
khew
-
khew Messages postés 9 Statut Membre -
khew Messages postés 9 Statut Membre -
Bonjour,je crée un script cron qui permet de supprimer les sauvegardes vieux d'une semaine. Cependant j'ai eu quelques problèmes:
-lorsque j'édite le script avec la commande "crontab -e" le script est crée mais lorsque je sauvegarde et ferme crontab. Quand je tape "crontab -l" sa m'affiche qu'il n y'a pas de crontab pour root.
-lorsque je l'exécute directement sur le terminal le fichier log n'est pas généré No such file or directory .
Si vous avez une idée de comment marche les cron votre aide me sera utile. MERCI
lea@ubuntu:~$
lea@ubuntu:~$ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/scripts
lea@ubuntu:~$ # Redéfinit le shell par défaut.
lea@ubuntu:~$ SHELL=/bin/sh
lea@ubuntu:~$
lea@ubuntu:~$
lea@ubuntu:~$ #Le script va supprimer le dossier de sauvegarde vieux de sept jours
lea@ubuntu:~$ #Le script va créer un répertoire dans le dossier sauvegarde a la date du jour (ex : 13012008)
lea@ubuntu:~$
lea@ubuntu:~$ date=`date '+%d-%m-%Y a %Hh%Mm%Ss'`;
lea@ubuntu:~$ echo "creation des dossiers pour la backup le "$date ;
creation des dossiers pour la backup le 21-04-2009 a 10h36m08s
lea@ubuntu:~$ mkdir /home/lea/sauvegarde ;
mkdir: cannot create directory `/home/lea/sauvegarde': File exists
lea@ubuntu:~$ date=`date '+%d-%m-%Y a %Hh%Mm%Ss'`;
lea@ubuntu:~$ * /15 * * 6 /home/lea/sauvegarde/ >>/home/sauvegarde/backups_automatises.log
bash: /home/sauvegarde/backups_automatises.log: No such file or directory
lea@ubuntu:~$
lea@ubuntu:~$ repTravail="home/lea/sauvegarde/"
lea@ubuntu:~$ log="/home/lea/sauvegarde/backup_automatises.log"
lea@ubuntu:~$
lea@ubuntu:~$ dateActuelle=$(date +%d%m%Y)
lea@ubuntu:~$ datePassee=$(date --date '7 days ago' +%d%m%Y)
lea@ubuntu:~$
lea@ubuntu:~$ repTravailActuel=$repTravail$dateActuelle
lea@ubuntu:~$
lea@ubuntu:~$
lea@ubuntu:~$ echo - Suppression du repertoire $repTravail$datePassee
- Suppression du repertoire home/lea/sauvegarde/14042009
lea@ubuntu:~$
lea@ubuntu:~$ rm -rf $repTravail$datePassee
lea@ubuntu:~$ echo "" >> "$log"
lea@ubuntu:~$
lea@ubuntu:~$ echo *******************************************************
Bureau Documents Examples Images Modèles Musique Public sauvegarde script_cron.bat Vidéos
lea@ubuntu:~$ echo "le repertoire a été supprimé."
le repertoire a été supprimé.
lea@ubuntu:~$
lea@ubuntu:~$
Ce script est pour un test mais je veux aller plus loin donc votre aide me sera précieux. Merci
-lorsque j'édite le script avec la commande "crontab -e" le script est crée mais lorsque je sauvegarde et ferme crontab. Quand je tape "crontab -l" sa m'affiche qu'il n y'a pas de crontab pour root.
-lorsque je l'exécute directement sur le terminal le fichier log n'est pas généré No such file or directory .
Si vous avez une idée de comment marche les cron votre aide me sera utile. MERCI
lea@ubuntu:~$
lea@ubuntu:~$ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/home/scripts
lea@ubuntu:~$ # Redéfinit le shell par défaut.
lea@ubuntu:~$ SHELL=/bin/sh
lea@ubuntu:~$
lea@ubuntu:~$
lea@ubuntu:~$ #Le script va supprimer le dossier de sauvegarde vieux de sept jours
lea@ubuntu:~$ #Le script va créer un répertoire dans le dossier sauvegarde a la date du jour (ex : 13012008)
lea@ubuntu:~$
lea@ubuntu:~$ date=`date '+%d-%m-%Y a %Hh%Mm%Ss'`;
lea@ubuntu:~$ echo "creation des dossiers pour la backup le "$date ;
creation des dossiers pour la backup le 21-04-2009 a 10h36m08s
lea@ubuntu:~$ mkdir /home/lea/sauvegarde ;
mkdir: cannot create directory `/home/lea/sauvegarde': File exists
lea@ubuntu:~$ date=`date '+%d-%m-%Y a %Hh%Mm%Ss'`;
lea@ubuntu:~$ * /15 * * 6 /home/lea/sauvegarde/ >>/home/sauvegarde/backups_automatises.log
bash: /home/sauvegarde/backups_automatises.log: No such file or directory
lea@ubuntu:~$
lea@ubuntu:~$ repTravail="home/lea/sauvegarde/"
lea@ubuntu:~$ log="/home/lea/sauvegarde/backup_automatises.log"
lea@ubuntu:~$
lea@ubuntu:~$ dateActuelle=$(date +%d%m%Y)
lea@ubuntu:~$ datePassee=$(date --date '7 days ago' +%d%m%Y)
lea@ubuntu:~$
lea@ubuntu:~$ repTravailActuel=$repTravail$dateActuelle
lea@ubuntu:~$
lea@ubuntu:~$
lea@ubuntu:~$ echo - Suppression du repertoire $repTravail$datePassee
- Suppression du repertoire home/lea/sauvegarde/14042009
lea@ubuntu:~$
lea@ubuntu:~$ rm -rf $repTravail$datePassee
lea@ubuntu:~$ echo "" >> "$log"
lea@ubuntu:~$
lea@ubuntu:~$ echo *******************************************************
Bureau Documents Examples Images Modèles Musique Public sauvegarde script_cron.bat Vidéos
lea@ubuntu:~$ echo "le repertoire a été supprimé."
le repertoire a été supprimé.
lea@ubuntu:~$
lea@ubuntu:~$
Ce script est pour un test mais je veux aller plus loin donc votre aide me sera précieux. Merci
A voir également:
- Suppression de sauvegarde
- Logiciel de sauvegarde gratuit - Guide
- Forcer suppression fichier - Guide
- Sauvegarde facile - Télécharger - Sauvegarde
- Sauvegarde android - Guide
- Suppression compte gmail - Guide
7 réponses
Salut,
* /15 * * 6 /home/lea/sauvegarde/ >>/home/sauvegarde/backups_automatises.log
Il est où ton script ??? Là il n'y a que le répertoire, mais pas de script !
* /15 * * 6 /home/lea/sauvegarde/ >>/home/sauvegarde/backups_automatises.log
Il est où ton script ??? Là il n'y a que le répertoire, mais pas de script !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Ben c'est normal cette commande c'est pour afficher la crontab, et forcément si tu n'en a jamais créé une avant, y'en a pô ;-((
Pour créer et éditer une crontab c'est :
crontab -e
Pour créer et éditer une crontab c'est :
crontab -e
j'ai crée le script avec crontab -e, je l'ai sauvegardé. Mais lorsque je tape crontab -l c'est là que je vois ce message NO CRONTAB FOR ROOT.
En fait je pense que le problème vient de là:
lea@ubuntu:~$ ls /home/lea/sauvegarde
backup_automatises.log backups_automatises.log backups_automatises.log~ make_backup.sh make_backups.sh
lea@ubuntu:~$ cd /home/lea/sauvegarde
lea@ubuntu:~/sauvegarde$ ls
backup_automatises.log backups_automatises.log backups_automatises.log~ make_backup.sh make_backups.sh
Il me crée un répertoire vide. Normalement avec l'extension .sh sa devait me créer un fichier.
lea@ubuntu:~$ ls /home/lea/sauvegarde
backup_automatises.log backups_automatises.log backups_automatises.log~ make_backup.sh make_backups.sh
lea@ubuntu:~$ cd /home/lea/sauvegarde
lea@ubuntu:~/sauvegarde$ ls
backup_automatises.log backups_automatises.log backups_automatises.log~ make_backup.sh make_backups.sh
Il me crée un répertoire vide. Normalement avec l'extension .sh sa devait me créer un fichier.
* /15 * * 6 /rm /home/lea/sauvegarde/ >>/home/sauvegarde/backups_automatises.log.
"/home/lea/sauvegarde/" ça c'est le chemin (répertoire) où est sensé se trouver ton script, mais il n'y est pas ! ;-\
Ca devrait être un truc du genre :
Je viens de le modifier:
* /15 * * 6 /home/lea/sauvegarde/make_backup.sh >>/home/sauvegarde/backups_automatises.log
# 0 12 * * * /home/lea/sauvegarde/make_backups.sh >>/home/lea/sauvegarde/backups_automatises.log
make_backup ()
{
rep=$1
# Suppression du fichier backup datant d'il y a une semaine
if test -f "${rep}_${une_semaine}.tar.gz"
then
\rm -f "${rep}_${une_semaine}.tar.gz" >> "$log" 2>> "$log"
echo "Le fichier ${rep}_${une_semaine}.tar.gz a ete supprime" >> "$log"
fi
echo "" >> "$log"
}