Pages : 1
#1 Le 10/11/2014, à 15:27
- ijack30
[Résolu] Cron n'execute pas mes scripts
Bonjour
J'ai installé un serveur Ubuntu 14.0.4, et j'ai créé 2 scripts pour faire des sauvegardes.
1 pour ma BD MySQL et l'autre pour les fichiers.
Lorsque j'exécute mes script par sudo bash script.sh, tout est parfait.
J'ai mis un petit log dans mon script et je vois bien qu'il est exécuté.
Je planifie cron avec crontab -e.
Mais lorsque le moment est passé, RIEN !!
je regarde dans /var/log/syslog, et je vois bien à la date et heure qu'il exécute mon script
Nov 10 08:00:01 ubuntu CRON[12967]: (admin) CMD (/usr/bin/scripts/bu_files.sh)
Mais aucune exécution en tant que telle, car le log du script ne donne rien, et les fichiers sauvegardés ne sont pas où ils devraient être !
J'ai tenté de redémarrer le service CRON... mais la encore, pas de changement.
Une idée ?
Merci
Dernière modification par ijack30 (Le 14/11/2014, à 20:22)
Hors ligne
#2 Le 10/11/2014, à 15:45
- gl38
Re : [Résolu] Cron n'execute pas mes scripts
Il faudrait peut-être mettre le script dans le crontab de root.
Pour cela tu peux taper
sudo su
crontab -e
Tu remplis le crontab sans mettre le sudo et tu n'oublies pas de taper un control-D quand tu en as fini avec crontab pour ne pas rester root inutilement et dangereusement.
Cordialement,
Guy
Hors ligne
#3 Le 10/11/2014, à 15:54
- jplemoine
Re : [Résolu] Cron n'execute pas mes scripts
Je pense qu'un simple
sudo crontab -e
peut suffire. On reste sous l’utilisateur de base : pas besoin de CTRL-D (utiliser exit ne serait pas plus propre ?)
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#4 Le 10/11/2014, à 16:11
- ijack30
Re : [Résolu] Cron n'execute pas mes scripts
En effet, j'ai fait crontab -e sans le sudo..
Malheureusement, cela n'a pas changé grand chose
Nov 10 10:05:01 ubuntuglpi CRON[13681]: (root) CMD (/usr/bin/scripts_glpi/bu_files.sh )
L'exécution semble bien se faire par root cette fois, mais je ne vois aucun résultat sur l'exécution même... très étrange !à
Mettons que je veuille reprendre la programmation de cron au complet.
le fichier crontab est où.. pour le supprimer et le refaire.
je ne veux pas l'éditer pour être certain.
en fait j'ai un contab sous mon user et un autre sous root.
je vais tout refaire.
Merci
Dernière modification par ijack30 (Le 10/11/2014, à 16:16)
Hors ligne
#5 Le 10/11/2014, à 16:15
- jplemoine
Re : [Résolu] Cron n'execute pas mes scripts
Je voudrais vérifier quelque chose : peux-tu donner le retour en respectant les préconisations de cette page de
ls -ld /usr/bin/scripts_glpi/bu_files.sh
?
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#6 Le 10/11/2014, à 16:38
- ijack30
Re : [Résolu] Cron n'execute pas mes scripts
Voici.. Je ne sais pas ci cela te conviens, ou si tu préfères une copie exacte (photo)
itadmin@ubuntuglpi:/usr/bin/scripts_glpi$ ls -ld /usr/bin/scripts_glpi/bu_files.sh
-rw-r--r-- 1 root root 269 nov 10 10:29 /usr/bin/scripts_glpi/bu_files.sh
itadmin@ubuntuglpi:/usr/bin/scripts_glpi$
Hors ligne
#7 Le 10/11/2014, à 16:42
- jplemoine
Re : [Résolu] Cron n'execute pas mes scripts
tu n'as pas respecté les préconisations de la page donnée en lien : cela permet d'avoir un retour beaucoup plus lisible...
Regardes :
itadmin@ubuntuglpi:/usr/bin/scripts_glpi$ ls -ld /usr/bin/scripts_glpi/bu_files.sh
-rw-r--r-- 1 root root 269 nov 10 10:29 /usr/bin/scripts_glpi/bu_files.sh
itadmin@ubuntuglpi:/usr/bin/scripts_glpi$
Il n'y pas de droit d’exécution.
il faut que tu fasses :
sudo chmod a+x /usr/bin/scripts_glpi/bu_files.sh
tu auras alors
itadmin@ubuntuglpi:/usr/bin/scripts_glpi$ ls -ld /usr/bin/scripts_glpi/bu_files.sh
-rwxr-xr-x 1 root root 269 nov 10 10:29 /usr/bin/scripts_glpi/bu_files.sh
itadmin@ubuntuglpi:/usr/bin/scripts_glpi$
Et là, ça devrait fonctionner...
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#8 Le 10/11/2014, à 16:58
- ijack30
Re : [Résolu] Cron n'execute pas mes scripts
MILLES MERCIS Jean Philippe..
ca fonctionne !!
Hors ligne
#9 Le 10/11/2014, à 19:06
- jplemoine
Re : [Résolu] Cron n'execute pas mes scripts
Peux-tu modifier ton premier post et changer le titre en [Résolu] Cron n'execute pas mes scripts ? Merci.
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#10 Le 14/11/2014, à 19:05
- ijack30
Re : [Résolu] Cron n'execute pas mes scripts
Je pensais avoir résolu tous mes problèmes de scripts, mais il me reste un script qui fait son irréductible gaulois, et qui me résiste !
Si j'exécute le script avec sudo bash script.sh. TOUT EST OK
je fais sudo crontab -e
j'ai bien mon script:
30 12 * * 1-5 /chemin/script.sh
J'ai confirmé a cent reprises le chemin et le nom du script saisi dans crontab...
Je vais dans /var/log/syslog, et je vois bien du lundi au vendredi à 12H30 mon script s'exécuter.. MAIS IL NE LE FAIT PAS.
Et bien entendu j'ai refait à plusieurs reprises pour être certain
sudo chmod a+x script.sh
en faisant ls -ld j'ai
-rwxr-xr-x 1 root root 352 nov 11 16:15 script.sh (et il est inscrit en vert)
il est dans le même répertoire que mes autres scripts qui fonctionnent.
il ne comporte pas d'accents, pas de caractères spéciaux. son nom est restore_glpi.sh
alors je ne comprends pas pourquoi LUI il ne se fait pas automatiquement alors que les autres se font très bien (a d'autres heures)
J'ai tenté de
changer l'heure
refaire mon crontab -e
m'assurer que le path et nom était bien inscrit.. pas d'erreur !
donc là, je ne sais vraiment plus
Dernière modification par ijack30 (Le 14/11/2014, à 19:06)
Hors ligne
#11 Le 14/11/2014, à 19:09
- jplemoine
Re : [Résolu] Cron n'execute pas mes scripts
Quelle est la première ligne du script ?
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#12 Le 14/11/2014, à 19:17
- ijack30
Re : [Résolu] Cron n'execute pas mes scripts
VOICI EN DÉTAILS MES SCREENS
itadmin@UbuntuModel:/usr/bin/scripts_glpi$ ls -l
total 28
-rwxr-xr-x 1 root root 132 nov 5 09:28 bu_files.sh
-rwxr-xr-x 1 root root 256 nov 3 09:16 bu_glpi.sh
-rw-r--r-- 1 root root 77 nov 5 09:29 exclude.txt
-rwxr-xr-x 1 root root 380 nov 14 08:21 restore_files.sh
-rwxr-xr-x 1 root root 352 nov 11 16:15 restore_glpi.sh
-rw-r--r-- 1 root root 4845 nov 14 13:00 restore.log
itadmin@UbuntuModel:/usr/bin/scripts_glpi$
itadmin@UbuntuModel:/usr/bin/scripts_glpi$ sudo crontab -e
0 9-17 * * 1-5 /usr/bin/scripts_glpi/restore_files.sh
30 12 * * 1-5 /usr/bin/scripts_glpi/restore_glpi.sh
0 6 * * 1-5 /usr/bin/scripts_glpi/restore_glpi.sh
itadmin@UbuntuModel:/var/log$ vi syslog
Nov 14 12:30:01 UbuntuModel /USR/SBIN/CRON[20428]: (root) CMD (/usr/bin/scripts_glpi/restore_glpi.sh)
Hors ligne
#13 Le 14/11/2014, à 19:20
- ijack30
Re : [Résolu] Cron n'execute pas mes scripts
Voici les premières lignes.
Comme je le disais, a la main il fonctionne très bien
itadmin@UbuntuModel:/usr/bin/scripts_glpi$ vi restore_glpi.sh
#!#bin#bash
#
#stockage de la date dans une variable
LOGFILE=/usr/bin/scripts_glpi/restore.log
var_date=`date +'%d%m%Y'`;
#restauration des BD MySQL
Hors ligne
#14 Le 14/11/2014, à 19:26
- jplemoine
Re : [Résolu] Cron n'execute pas mes scripts
La première ligne n'est pas
#!#bin#bash
mais
#! /bin/bash
Quand tu testes, il faut mettre la même chose que dans ton crontab :
/chemin/script.sh
et non pas
bash /chemin/script.sh
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
#15 Le 14/11/2014, à 19:32
- ijack30
Re : [Résolu] Cron n'execute pas mes scripts
BON SANG, MAIS C'EST BIEN SUR !!
Mes autres scripts ont bien #!/bin/bash
erreur !!
ca doit être OK maintenant.
Encore merci.
Je vais modifier mon titre pour [Résolu], dès que je suis certain, mais il doit pas y avoir de problème maintenant.
OUF
Hors ligne
#16 Le 14/11/2014, à 19:42
- jplemoine
Re : [Résolu] Cron n'execute pas mes scripts
En fait, il faut mettre #! puis le programme qui doit être lancé. Je te conseille de mettre un espace même si ça fonctionne sans.
Par exemple :
#! /bin/bash
#! /bin/sh
#! /usr/bin/python
#! /usr/bin/python3
etc..
Dernière modification par jplemoine (Le 14/11/2014, à 19:43)
Ce compte ne servira plus : vous pouvez le supprimer si le coeur vous en dit...
Laissé par l'auteur pour historique.
Hors ligne
Pages : 1