Rechercher : dans
Par :

Lancer un script shell avec cron

Dernière réponse le 13 aoû 2008 à 12:30:54 nina08, le 10 aoû 2008 à 13:00:26 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « lancer un script shell avec cron » dans :
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...

1

dubcek, le 11 aoû 2008 à 08:53:01

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

Répondre à dubcek

2

d.rose2, le 11 aoû 2008 à 09:16:17

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

Répondre à d.rose2

3

nina08, le 11 aoû 2008 à 10:36:29

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

Répondre à nina08

4

d.rose2, le 11 aoû 2008 à 11:25:16

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

Répondre à d.rose2

5

nina08, le 11 aoû 2008 à 12:17:54

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

Répondre à nina08

6

d.rose2, le 11 aoû 2008 à 19:16:14

Hello,
Montres moi ton script, car je ne pense pas avoir compris tout à fait le probleme.

...

Répondre à d.rose2

7

nina08, le 12 aoû 2008 à 09:35:28

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.

Répondre à nina08

8

dubcek, le 12 aoû 2008 à 10:07:34

Même chose
0-59/3 * * * * /chemin/script source user@ip:dest >> /chemin/log 2&1

Répondre à dubcek

9

d.rose2, le 12 aoû 2008 à 10:51:12

Hello,

pas mieux ....

Répondre à d.rose2

10

nina08, le 12 aoû 2008 à 11:21:15

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

Répondre à nina08

11

dubcek, le 12 aoû 2008 à 12:20:43

Avec cette redirection >> /chemin/log 2&1 toutes les éventuelles erreurs sont dans log. Il faut tjrs vérifier un backup.

Répondre à dubcek

12

d.rose2, le 12 aoû 2008 à 21:02:44

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+

Répondre à d.rose2

13

jipicy, le 12 aoû 2008 à 21:09:10

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 ? ;-\
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

16

 nina08, le 13 aoû 2008 à 12:30:54

Merci jipicy,
vous avez parfaitement, raison
Merci

Répondre à nina08

14

d.rose2, le 12 aoû 2008 à 21:11:05

D'accord

Répondre à d.rose2

15

jipicy, le 12 aoû 2008 à 21:21:09

Ma réflexion s'adressait avant tout à nina08 ;-))
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy