Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 10/11/2014, à 16: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, à 21:22)

Hors ligne

#2 Le 10/11/2014, à 16: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, à 16: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 ?)


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#4 Le 10/11/2014, à 17: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, à 17:16)

Hors ligne

#5 Le 10/11/2014, à 17: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

?


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#6 Le 10/11/2014, à 17: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, à 17: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... smile


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#8 Le 10/11/2014, à 17:58

ijack30

Re : [Résolu] Cron n'execute pas mes scripts

MILLES MERCIS Jean Philippe..
ca fonctionne !!

Hors ligne

#9 Le 10/11/2014, à 20: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.


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#10 Le 14/11/2014, à 20: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 sad

Dernière modification par ijack30 (Le 14/11/2014, à 20:06)

Hors ligne

#11 Le 14/11/2014, à 20:09

jplemoine

Re : [Résolu] Cron n'execute pas mes scripts

Quelle est la première ligne du script ?


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#12 Le 14/11/2014, à 20: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, à 20: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, à 20: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

Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne

#15 Le 14/11/2014, à 20: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, à 20: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, à 20:43)


Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.

Hors ligne