Slt a tous
J'ai reussi enfin a paramétrer ma crontab avec cygwin.
J'ai tuer cron puis relancer afin de prendre en compte mes modifs, mais cela ne fonctionne tjrs pas alors que mon script lui fonctionne bien quand je le lance d'une console.
Quelqu'un peut me tuyauter sur cela.
Merci d'avance.
# Question bete..
Posté par TuxPierre . Évalué à 0.
Sinon un chmod +x devrait resoudre definitivement le pb.
# variable d'environnement ou chemin d'accès incorrect
Posté par totof2000 . Évalué à 2.
Peut-être que certaines variables d'environnement ne sont pas initialisées ....
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par Eric GERMAIN . Évalué à 0.
chmod +x
cp -r /home/test /home/test1
Voilà mon script. Je ne pense pas me tromper ds la table ou j'ai mis
ceci
10 12 * * * /home/script1.sh
Le script se trouve bien ds ce rep.
Maintenant je ne comprends pas bien ce qui se passe.
Je modifis j'enregistre je sors de la table je relance cron.exe et cela ne marche tjrs pas.
Quelqu'un peut me dire pourquoi
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par totof2000 . Évalué à 2.
Une erreur lors de l'exécuion de la commande cron.exe ?
essaie ça en cron:
10 12 * * * echo "coucou" >/tmp.test.log
(remplace 10 12 par les bons paramètres, bien sur) et va voir si le fichier /tmp/test.log est bien créé.
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par Dabowl_92 . Évalué à 1.
Si ton script fonctionne bien et qu'il a les bons droits d'exécution, cron devrait le lancer sans problème.
Pour prendre en compte les modification, tu n'as pas besoin de relancer à la main le démon, tu peux procéder de deux manières pour ajouter un job à cron.
1) Tu écris dans un fichier les jobs à plannifier:
exemple ici:
10 12 * * * /home/script1.sh
Tu enregistres le fichier avec le nom que tu veux, par exemple crontab.jobs, puis tu lances la commande: crontab crontab.jobs
Tu vérifies ensuite avec un crontab -l que le job est bien pris en compte.
2) crontab -e et tu ajoutes les mêmes lignes, selon les environnement un éditeur de texte sera lancé ça peut être vi, nano etc... une fois tes infos ajoutées, tu enregistres le fichier et tu sors de l'éditeur, les modifications seront bien prises en compte, pareil tu vérifies avec un crontab -l...
Ces manip sont celles que j'utilise avec Unix/Linux, ça doit à mon avis très bien marché sous cygwin :-)
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par Eric GERMAIN . Évalué à 0.
#!/bin/sh
$PATH
chmod +x
cp -r /home/test /home/test1
J'ai suivi ton conseil et je suis passé par un fichier crontab.jobs
Je suis en phase de test, mais mon script est il bon
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par Dabowl_92 . Évalué à 1.
VARIABLE=valeur
ou bien
export VARIABLE=valeur
Donc pour ton PATH:
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
Ton script est bon, sauf pour la variable mais je viens de t'en donner un exemple.
Une fois le fichier crontab.jobs renseigné, --> crontab crontab.jobs et après un crontab -l pour vérifier que c'est OK
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par Eric GERMAIN . Évalué à 0.
#!/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
chmod +x
cp -r /home/test /home/test1
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par totof2000 . Évalué à 2.
le chmod se fair en ligne de commande APRES avoir éditer le script.
Dans le répertoire qui contient ton script tu fais chmod u+x script
( le $PATH ne sert a rien, il doit même te retourner une erreur).
Une bonne habitude a avoir quand on exécute un script via cron est de générer un fichier de logs. Ca permet de comprendre beaucoup de choses.
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par Dabowl_92 . Évalué à 1.
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par Eric GERMAIN . Évalué à 0.
Mon script est
#!/bin/sh
cp -r /home/test /home/test1
J'ai un fichier crontab.jobs sous /home avec mon fichier script1.sh
Est ce que cela est bon
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par totof2000 . Évalué à 2.
Tans la crontab, tu met
10 12 * * * /home/script1.sh >/tmp/script1.log 2>&1
Remplace le 10 12 par la bonne valeur, et quand l'heure fatidique est passée tu vas voir le contenu du fichier /tmp/script1.log. Tu sauras peut-être ce qui ne marche pas.
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par totof2000 . Évalué à 2.
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11
Cordialement.
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par Gyro Gearllose . Évalué à 2.
Alors, on reprend depuis le début :
- si tu tiens vraiment à faire ça sous cygwin :
Dans une console, tu tapes :
$ chmod u+x script1.sh
Évidement, tu te seras placé à l'endroit de l'arborescence où se situe le fichier nommé script1.sh.
- Si tu veux abandonner cygwin au profit d'une solution plus simple
Tu rédiges un script nommé sauve.bat (le bloc note est très bien pour ça) dans lequel tu mets :
xcopy /e /s [chemin_source]\*.* [chemin_destination]
En remplaçant [chemin_source] et [chemin_destination] par les valeurs renseignées dans la barre d'adresse de ton explorateur.
Ensuite, tu utilises le planificateur de tâches de windows, pour lui dire que tel(s) jour(s) à telle(s) heure(s) il doit lancer le script nommé sauve.bat.
Avec ça, ça doit marcher.
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par totof2000 . Évalué à 2.
Pas forcémeent, ça lui permet d'apprendre (et aparamment ça lui donne envie d'installer linux).
Mais je pense qu'il est un peu jeune et a un peu de mal à s'exprimer.
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par Eric GERMAIN . Évalué à 0.
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par Gyro Gearllose . Évalué à 2.
Tout ce que je voulais dire, c'est qu'installer cygwin uniquement pour copier un répertoire d'un point A à un point B à heure fixe, c'est un peu prendre un char pour écraser une puce.
A aucun moment je n'ai voulu dire que c'était une mauvaise idée d'utiliser cygwin, je voulais juste préciser ce point.
Après, si c'est juste "un exercice de style" pour apprendre le shell, et tout ce qui gravite autour de notre os favori, tant mieux !
Après tout, y'en a bien qui ont codé un compilateur C en bash....
[^] # Re: variable d'environnement ou chemin d'accès incorrect
Posté par Eric GERMAIN . Évalué à 0.
tu résumes bien la situation.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.