Lancer un script shell avec cron

nina08 -  
nina08 Messages postés 8 Statut Membre -
Bonjour,
J'ai ecris un script shell, je veux le lancer tous les 5 mn.
Donc j'ai utilisé les cron.
J'ai rajouté cette ligne dans le fichier contrab
48 10 10 8 * essai-cron.bash > /dev/null 2>&1
Mais comment je peux voir le résultat, quand l'heure arrive j'ai aucun changement.

Merci
Configuration: Linux
Firefox 2.0.0.13

12 réponses

  1. d.rose2 Messages postés 39 Date d'inscription   Statut Membre 2
     
    Bonjour,

    exemple de crontab pour lancer un script toutes les trois minutes

    0-59/3 * * * * date >> /tmp/essai_cron.txt

    Tu peux vérifier que ton fichier /tmp/essai_cron.txt evolue bien ...

    Aprés tu remplaces "date" par ton script.

    Daniel
    2
  2. nina08 Messages postés 8 Statut Membre
     
    Merci beaucoup pour la reponses c'est trés gentil.

    J'ai un autre problème, mon script lance la commande rsync qui fait la copie des données via le réseau.
    donc je dois lui donné les paramètres dans la ligne de commande.
    depuis le terminal je lance mon script come ceci:
    ./script source user@ip: destination

    comment je fait pour rajouter ces parametres dans le cron.

    Merci
    0
  3. d.rose2 Messages postés 39 Date d'inscription   Statut Membre 2
     
    Tu peux soit mettre la commande rsync directement dans le cron

    Ex: 0-59/3 * * * * rsync -aov --rsh="ssh -l user" /repertoire_source host_dest:/repertoire_dest

    ou mettre les parametres dans le script
    0
    1. nina08 Messages postés 8 Statut Membre
       
      Merci pour la réponse,
      Désolé, j'ai pas compris comment je met les paramettres dans un script, alors que moi je dois les donné dans la lligne de commande qui lance le script.

      Merci
      0
  4. d.rose2 Messages postés 39 Date d'inscription   Statut Membre 2
     
    Hello,
    Montres moi ton script, car je ne pense pas avoir compris tout à fait le probleme.

    ...
    0
    1. nina08 Messages postés 8 Statut Membre
       
      Bonjour,

      Mon script est simple il ne fait que lancer la commande 'rsync', pour la copie de fichier text.

      #!/bin/bash
      rsync -a -e ssh $1/*.txt $2

      Je le lance comme ceci depuis un terminal:
      ./script source user@ip:dest
      Voilà, comment je fait pour que son lancement sera avec un cron.

      Merci.
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    même chose
    0-59/3 * * * * /chemin/script source user@ip:dest >> /chemin/log 2&1
    0
  7. d.rose2 Messages postés 39 Date d'inscription   Statut Membre 2
     
    hello,

    pas mieux ....
    0
  8. nina08 Messages postés 8 Statut Membre
     
    Merci bien pour vos reponses, ça marche bien
    Mon probleme maintenant est de lancer le script avec des options cad comme ceci

    ./script -s source -d user@ip:dest

    et si jammais j'oublie un parametre oubien j'ecri mal la commande, ça m'affiche um message d'erreur,du genre je rajoute à mon script

    usage ()
    {
    echo "Usage: $0 -s source -d dest" >&2

    }

    if [ $# -eq 0 ]; then
    usage

    fi

    Svp, comment je peux faire ceci,depuis le terminal ça m'affiche bien mais avec cron je voie pas comment le faire ?
    Merci
    0
  9. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    avec cette redirection >> /chemin/log 2&1 toutes les éventuelles erreurs sont dans log. Il faut tjrs vérifier un backup.
    0
  10. d.rose2 Messages postés 39 Date d'inscription   Statut Membre 2
     
    Hello,
    pourquoi faire simple quand on peut faire compliqué :

    Voici un exemple de traitement des arguments d'un script

    #!/bin/bash
    while getopts "s:d:" flag
    do
    case $flag in
    s)
    SOURCE=$OPTARG
    ;;
    d)
    DEST=$OPTARG
    ;;
    *)
    exit
    ;;
    esac
    done
    echo "rsync -ao $SOURCE $DEST"

    A+
    0
  11. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Euh... juste un truc qui me chiffonne, si tu lances ton script depuis la crontab, normalement les paramètres y sont déjà, je ne vois pas d'où pourrait surgir une éventuelle omission de paramètres, non ? ;-\
    0
    1. nina08 Messages postés 8 Statut Membre
       
      Merci jipicy,
      vous avez parfaitement, raison
      Merci
      0
  12. d.rose2 Messages postés 39 Date d'inscription   Statut Membre 2
     
    d'accord
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Ma réflexion s'adressait avant tout à nina08 ;-))
      0
  13. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    conserver les sortes et voir dedans:

    48 10 10 8 * essai-cron.bash > /tmp/logfile 2>&1

    le script est exécutable ? chmod u+x essai-cron.bash
    -1