Suppression de sauvegarde

Fermé
khew - 21 avril 2009 à 14:01
khew Messages postés 9 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 21 avril 2009 - 21 avril 2009 à 17:01
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
A voir également:

7 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
21 avril 2009 à 14:07
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 !
0
khew Messages postés 9 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 21 avril 2009
21 avril 2009 à 14:14
Je vois ce que tu veux dire, je suis un débutant. AU départ c'est sa que j'avais mis mais sa ne marche pas non plus.
* /15 * * 6 /rm /home/lea/sauvegarde/ >>/home/sauvegarde/backups_automatises.log.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > khew Messages postés 9 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 21 avril 2009
21 avril 2009 à 14:20
Non t'as pas compris, je te demande où est ton script ?

"/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 :
/home/lea/sauvegarde/ton_script.sh
0
khew Messages postés 9 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 21 avril 2009 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
21 avril 2009 à 14:25
je l'ai pas mis donc c'est à cause de sa que sa déconne.
Je viens de le modifier:
* /15 * * 6 /home/lea/sauvegarde/make_backup.sh >>/home/sauvegarde/backups_automatises.log
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895 > khew Messages postés 9 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 21 avril 2009
21 avril 2009 à 14:26
Ben si tu essaies de lancer l'exécution d'un script programmée sans mettre le nom du script, il (le système) ne va pas le deviner tout seul ;-((
0
khew Messages postés 9 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 21 avril 2009 > jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020
21 avril 2009 à 14:30
Je suppose que maintenant je dois créer une fonction qui aura pour nom celle du script. A l'intérieur de script je pourrai effectuer mes suppressions. Exemple:

# 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"
}
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
21 avril 2009 à 15:14
Il est où ton script ?

Affiche :

ls /home/lea/
ls /home/lea/sauvegarde/

0
khew Messages postés 9 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 21 avril 2009
21 avril 2009 à 16:35
C bon en fait je m'étais tromper de syntaxe.
Mais j'arrive toujours pas à mettre en place le cron. J'ai toujours le message No crontab for root.
Si tu veux je te remets toutes les modifications qui ont été apportées à ce script.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
21 avril 2009 à 16:40
No crontab for root
Quelle commande tapes-tu pour avoir ce message ?
0
khew Messages postés 9 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 21 avril 2009
21 avril 2009 à 16:41
crontab -l
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 895
21 avril 2009 à 16:44
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
0
khew Messages postés 9 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 21 avril 2009
21 avril 2009 à 16:58
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.
0
khew Messages postés 9 Date d'inscription mardi 21 avril 2009 Statut Membre Dernière intervention 21 avril 2009
21 avril 2009 à 17:01
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.
0