Suppression de sauvegarde

khew -  
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
Configuration: Windows XP
Firefox 3.0.8

7 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
    1. khew Messages postés 9 Statut Membre
       
      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
    2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > khew Messages postés 9 Statut Membre
       
      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
    3. khew Messages postés 9 Statut Membre > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
       
      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
    4. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898 > khew Messages postés 9 Statut Membre
       
      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
    5. khew Messages postés 9 Statut Membre > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
       
      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
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Il est où ton script ?

    Affiche :

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

    0
    1. khew Messages postés 9 Statut Membre
       
      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
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    No crontab for root
    Quelle commande tapes-tu pour avoir ce message ?
    0
  4. khew Messages postés 9 Statut Membre
     
    crontab -l
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
  7. khew Messages postés 9 Statut Membre
     
    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
  8. khew Messages postés 9 Statut Membre
     
    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