Une tache Cron qui ne s'exécute pas

Bonjour a tous !

Alors voila j’essaye d’exécuter une sauvegarde journalière d’un serveur web avec l’outil borgbackup
J’ai décidé de tout faire a l’aide de script, donc en un seul script je dump la base de donnée et j’envoie tout
sur le dépôt distant en ssh.
en exécution manuelle tout va bien.
Mais en cron il ne se passe rien.

Les log de cron indique une exécution mais rien n’est envoyé.

Ci joint les copie d’écran.

une idée ?

Salut,
Dans la conf de ta cron je vois que tu exécutes le script avec l’utilisateur “bash”, cet utilisateur existe-t-il bien sur ton serveur ?
Cet utilisateur a-t-il les droits suffisants à l’execution de ce script ?

Salut Ben_raven, merci,

oui c’est un user que j’ai créé qui a les droits nécessaires.
Quand bien même, lorsque je dépose le script dans le dossier cron.daily, toujours rien.

Il y’a quelque chose que je rate… est ce que la verbose gene l’exécution d’un cronjob ?

Edit : Je viens d’essayer avec l’user root pour etre certain : toujours rien :cold_sweat:

Ton fichier est bien executable (chmod +x) ?
Ou est stocké son script cron du coup, dans /etc/cron.d/ ?

Oui, j’ai carrément fait chmod 777 avec les nerfs… :rage: :joy:
j’ai ressaye en mettant le script directement dans cron.hourly , toujours rien.

dans etc/cron.d j’ai anacron et php5 Je ne sais pas si je réponds a ta question

Mes scripts cron je les mets dans /etc/cron.d/

Tu as quelle version de debian ?
A la fin du fichier cron, fais un retour chariot (saut de ligne) et dis-moi ce que ça donne.
J’ai connu ce bug il y a quelques années.

Comme ceci ?

https://imgur.com/afZ8jCE

a moin que ce soit \r

Cela n’a pas marché… je commence a croire que mon cron est cassé :wink:
Mieux encore : j’ai activé les cron.log dans le rsyslog.conf mais ils n’apparaissent pas dans /var/log/

non, debian 7

et les log : https://imgur.com/PewL0Vp

Tu as essayé avec un script bash très simple qui écrierait dans un fichier par exemple ? ou qui ferait un mkdir d’un dossier bidon ?
Qu’on élimine tout de suite le pb du script en lui-même

test efféctué, le cron n’a pas été exécuté.

Je vois sur certain forum des cron écrits de la sorte :

01 18 * * * /bin/sh /chemin/vers/script.sh

Quelle est la difference avec

01 18 * * * root /chemin/vers/script.sh

?

Le premier fonctionne, le deuxième non si tu ne spécifie pas le chemin /bin/bash ou /bin/sh.

01 18 * * * root /bin/sh /chemin/vers/scripts.sh

ou alors si tu l’as rendu exécutable

01 18 * * * root /chemin/vers/./script.sh

Bon et bien j’ai essayé les deux rien n’y fait.

par contre je suis tombé sur ce sujet qui a l’air interessant, mais je ne comprend pas grand chose.

J’ai bien ajouté la ligne
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Mais ca ne fonctionne toujours pas.

Je vais tester ca : http://askubuntu.com/questions/23009/reasons-why-crontab-does-not-work

Edit : Je désespére je vais essayer fcron.
Personne a une idée ?

Il y avait une petite erreur dans mon deuxième exemple, c’est corrigé.

En passant par

crontab -e

pour éditer les tâches ce ne serait pas plus simple ? Parce qu’en mettant ton script dans cron.daily tu ne peux pas choisir l’heure d’exécution.

Bonjour les amis !

Donc je reviens avec des petites nouvelles je ne sais toujours pas ce qui clochait.
Ca ne fonctionnait pas non plus avec fcron.
Donc j’ai tout recommencé, avec une machine Debian 8 , j’ai tout réinstallé.
Ca m’a pris un bon 4 heures car j’avais pas mal de config a refaire.

Cette fois ci tout va bien !

Je n’aime vraiment pas contourner les problèmes ça me laisse un arrière gout de défaite je suis quelque peu déçu. Je suis certain que c’est du coté des variable d’environnements etc…
Malheureusement je n’ai pas le temps de m’attarder j’ai des deadline.
Au moins ça fonctionne.

Merci a tous !