IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

lancer un script avec cron


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut lancer un script avec cron
    Bonjour tous le monde,
    J'ai ecris un script shell qui sera lancé tout les 5 minutes.
    Pour cela J'ai configuré le fichier crontab pour qu'il me lance mon script à une date précise.
    J'ai fait ça :
    crontab -e
    puis j'ai rajouté cette ligne:

    48 10 10 8 * essai-cron.bash > /dev/null 2>&1

    mais comment je peux voir le resultat de mon script.

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Si tu rediriges tout vers /dev/null, tu auras un peu de mal à voir ce qu'il se passe

    Ce que tu peux faire c'est rediriger la sortie et les erreurs vers un fichier


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    48 10 10 8 * essai-cron.bash > /chemin/essai.log 2>&1

    Autre chose Tu dois toujours fournir le chemin absolu vers ton script ainsi que le chemin absolu des commandes que tu utilises dans ton script si tu ne définis pas de variable PATH dans ta crontab.

    Donc la forme correcte serait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    48 10 10 8 * /chemin-vers-cmd/essai-cron.bash > /chemin-vers-log/essai.log 2>&1

    ou alors

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    PATH=$PATH:/chemin-vers-cmd
    48 10 10 8 * essai-cron.bash > /chemin-vers-log/essai.log 2>&1
    Dernière modification par Invité ; 10/08/2008 à 19h26.

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut
    Merci pour la réponse,
    J'ia fait comme ceci:

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

    et je voie bien le changement dans le fichier essai_cron.txt.
    Mais le problème est que mon script lance la commande rsync qui fait la copie d'une source à une destination. donc moi je dois donner les repertoires sources et destinatoin à mon script shell.
    cad ds le terminal je lance le script comme ceci:
    ./monscript source user@ip: destination

    Svp pouriez vous me dire comment rajouter ça dans le cron.
    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut,

    bah tu le mets tel que tu l'as tapé.

    quel est le problème?

  5. #5
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut
    Merci ça marche bien.
    J'ai un autre probleme maintenant, je veux lancer mon script avec des options par exemple -s pour source et -d pour destination.
    ./script -s source -d user@ip:dest

    pouriez vous me dire svp comment j'utilise getopts pour recupérer les paramètres -s et -d, ou donnez moi un lien interessant svp.

    Merci

  6. #6
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut
    Voila ce que tu pourrais faire:
    OPTARG sert a récupérer l'argument de l'option.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    USAGE="USAGE:$(basename $0) [ -s source ] [ -d  dest ]"
    SRC=""
    DST=""
    while getopts ":s:d:" opt
    do
    	case $opt in
    		s ) SRC=$OPTARG ;;
    		d ) DST=$OPTARG ;;
         	        * ) echo $USAGE; exit 1;;
    	esac
    done
    shift $(($OPTIND - 1))
    <traitement des autres arguments s'il y en a>
    La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
    Donald E. Knuth

  7. #7
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut
    merci baucoup pour votre aide

  8. #8
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 631
    Points : 30 865
    Points
    30 865
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par nina08 Voir le message
    pouriez vous me dire svp comment j'utilise getopts pour recupérer les paramètres -s et -d, ou donnez moi un lien interessant svp.
    Cours de Shell Linux : http://linux.developpez.com/cours/
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  9. #9
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 130
    Points : 47
    Points
    47
    Par défaut
    Merci bien pour le lien.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Commande pour lancer un applet avec cron
    Par Ceubex dans le forum Applets
    Réponses: 12
    Dernier message: 15/01/2014, 16h18
  2. lancer un script avec sysdba
    Par menoran dans le forum Oracle
    Réponses: 3
    Dernier message: 02/06/2010, 21h40
  3. cygwin bash - comment lancer un script avec bash.exe
    Par noooop dans le forum Shell et commandes GNU
    Réponses: 0
    Dernier message: 24/12/2009, 12h34
  4. Réponses: 7
    Dernier message: 17/01/2009, 16h45
  5. Probleme pour lancer un .sh avec cron
    Par Devether dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 06/09/2007, 11h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo