#1 Le 06/08/2013, à 20:08
- omnimax
RESOLU toujours et encore cron :(
Bonjour,
Après avoir fouillé le forum, lu, relu la doc ainsi que le man de cron, je ne comprends pas pourquoi mon script ne marche pas dans cron !
Bien entendu mon script a été "chmodé" > sudo chmod +x sauvegarde
Les chemins complets des commandes sont renseignées.
En doublon je rajoute même le PATH des exécutables
J'ai même rajouté "DISPLAY" dans mon sudo crontab-e (alors que normalement c'est inutile puisque je ne fait appel à aucune instance graphique)
Lorsque je rajoute un log avec ma commande dans cron, mon log est vide.
voici de quoi peut-être m'aider....
la fin de mon crontab (édité avec sudo crontab -e,) avec redémarrage de mon ordi pour être sûr que le cron prenne effet à l'heure désirée + montage des disques 1 et 2 (voir condition dans mon script)
59 20 * * * DISPLAY=0.0 /home/omnimax/"Ubuntu One"/SCRIPT/sauvegarde
mon script, parfaitement fonctionnel dans un terminal:
#!/bin/bash
export LANG="fr_BE.UTF-8"
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
#VARIABLES EMPLACEMENTS
SOURCE="/media/$USER/disque1/"
DESTINATION="/media/$USER/disque2/"
LOG="/home/$USER/"Ubuntu\ One"/log/logsauvegarde"
REP="/home/$USER/"Ubuntu\ One"/ok"
#VARIABLES MAILS
ADRESSEMAIL="omnimax@gmail.com"
#VARIABLES MESSAGES
TXTMAILOK="sauvegarde effectuée avec succès"
TXTMAILPROBL="problème dans ma sauvegarde, consultez les logs"
#VERIFICATION SI DISQUES MONTES
if [ -d "$DESTINATION" ] || [ -d "$SOURCE" ]; then
/usr/bin/rsync -rltgoDv "$SOURCE" "$DESTINATION" > "$LOG" && touch "$REP"
if [ -e "$REP" ]; then
/bin/echo "$TXTMAILOK" | /usr/bin/msmtp "$ADRESSEMAIL"
else
/bin/echo "$TXTMAILPROBL" | /usr/bin/msmtp "$ADRESSEMAIL"
/bin/echo "$LOG" | /usr/bin/msmtp "$ADRESSEMAIL"
/bin/rm "$REP"
fi
fi
Merci pour vos éclaircissements.
Dernière modification par omnimax (Le 09/08/2013, à 07:16)
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#2 Le 06/08/2013, à 20:20
- Shanx
Re : RESOLU toujours et encore cron :(
Salut
Dans ton script, il y a la variable $USER. Or,cron n’est pas forcément lancé avec le même utilisateur, donc cette variable peut ne pas donner le résultat escompté. Pour le vérifier simplement, tu peux entre une nouvelle ligne dans ton cron avec la commande suivante :
echo $USER >> /home/toi/retour
Le nom d’utilisateur utilisé par cron sera dans le fichier retour
Sinon, pas besoin de redémarrer à chaque fois. Tu peux faire des tests en mettant la minute suivante (ou deux minutes, pour avoir de la marge), dès que tu fermes ton éditeur cron se met à jour.
EDIT : en fait, c’est même mieux de simplement ajouter echo$USER quelque part dans ton script, et ensuite de rajouter >> /home/toi/retour dans le crontab. Ça permettra d’être sûr qu’il n’y a pas de problème avec les utilisateurs (root, pas root, etc.) dans ton script. D’ailleurs, ça pourrait aussi donner un message d’erreur, ce qui est toujours bon à prendre.
Dernière modification par Shanx (Le 06/08/2013, à 20:33)
Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied
Hors ligne
#3 Le 06/08/2013, à 21:02
- omnimax
Re : RESOLU toujours et encore cron :(
Salut Shanx, et merci de m'avoir répondu
Bon, en faisant dans mon crontab
echo $USER >> /home/omnimax/retour
cat /home/omnimax/retour >>> résultat vide
Par contre en indiquant en clair mon nom d'utilisateur dans le script, cron s'effectue à moité
j'explique : il fait bien la synchronisation mais la partie où il doit m'envoyer un mail ne fonctionne pas (alors que via un terminal > sans soucis)
petite parenthèse futile: Je comprends pas trop la logique de Paul Vixie qui a écrit cron, en gros rien n'est reconnu il faut tout préciser > variables de base, chemins complets des exécutables...vite un gars qui nous recode un cron2 en comblant ces lacunes, cela éviterait des utilisateurs comme moi qui pollue le forum avec ces problèmes de cron
Dernière modification par omnimax (Le 06/08/2013, à 21:02)
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#4 Le 07/08/2013, à 00:21
- Postmortem
Re : RESOLU toujours et encore cron :(
Salut,
Ton script, dans le Terminal, tu le lances en étant connecté avec ton utilisateur sans mettre sudo devant ?
Si c'est le cas, il faut le renseigner dans la crontab de ton user et non celle de root.
Si tu fais sudo crontab -e, tu arrives dans la crontab de root.
Il faut faire crontab -e, ainsi c'est la crontab de ton user que tu mettras à jour.
Dernière modification par Postmortem (Le 07/08/2013, à 00:25)
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#5 Le 07/08/2013, à 06:08
- omnimax
Re : RESOLU toujours et encore cron :(
Merci postmortem,
Pour garder $USER dans mon script, ta méthode a l.air logique.
Le soucis vient maintenant de msmtp et je crois que l'erreur vient du fait que j.ai mal configuré mail-utils. Un idée pour reconfigurer le tout et arriver à l'écran de config dans le Shell. J.ai déjà fait sudo apg-get purge mail-utils et puis réinstaller mais sans retrouver ce panneau de config.
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#6 Le 07/08/2013, à 07:02
- tiramiseb
Re : RESOLU toujours et encore cron :(
Salut,
Pour ta toute dernière question, c'est peut-être la commande dpkg-reconfigure que tu cherches.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#7 Le 07/08/2013, à 07:12
- Shanx
Re : RESOLU toujours et encore cron :(
Mais d‘après ce fil (daté de 2008 cependant, ça a peut-être changé), c’est parfois un peu compliqué…
Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied
Hors ligne
#8 Le 07/08/2013, à 07:54
- omnimax
Re : RESOLU toujours et encore cron :(
ça y est j'ai trouvé pour reconfigurer mailutils
sudo dpkg-reconfigure postfix
Je teste ce soir via mon script et je tiens au jus .
bonne journée à vous deux.
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#9 Le 07/08/2013, à 07:55
- tiramiseb
Re : RESOLU toujours et encore cron :(
postfix n'est pas mailutils...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#10 Le 07/08/2013, à 08:07
- Shanx
Re : RESOLU toujours et encore cron :(
Mais il est parfois nécessaire pour faire fonctionner mailutils (cf. le fil dont j’ai donné le lien).
Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied
Hors ligne
#11 Le 07/08/2013, à 08:07
- omnimax
Re : RESOLU toujours et encore cron :(
oui, mais je retrouve la même invite de configuration que j'avais eue en installant mail-utils et par mégarde j'avais coché la mauvaise option.
Pour info Postmortem
echo $USER > /home/example
me donne rien du tout dans example, en le lancant dans crontab -e (sans sudo)
Dernière modification par omnimax (Le 07/08/2013, à 08:07)
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#12 Le 07/08/2013, à 08:09
- Shanx
Re : RESOLU toujours et encore cron :(
En même temps, tu n’as pas les droits d’écriture dans /home, donc /home/example ne peut pas être créé.
Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied
Hors ligne
#13 Le 07/08/2013, à 09:31
- Postmortem
Re : RESOLU toujours et encore cron :(
Je plussoie Shanx.
Essaie plutôt :
echo "$USER" > "$HOME/example"
Édit :
La variable $USER n'est peut-être pas connue dans l'environnement de cron. Il faudrait alors la remplacer par $LOGNAME.
Dernière modification par Postmortem (Le 07/08/2013, à 09:42)
Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »
Hors ligne
#14 Le 07/08/2013, à 11:26
- omnimax
Re : RESOLU toujours et encore cron :(
Sorry les gars pour aller plus vite j'avais mis /home/example mais j'avais bien testé avec /home/omnimax/example
Par contre, avec ce que tu m'as donné cela fonctionne
echo "$LOGNAME" > "$HOME/example"
Dernière modification par omnimax (Le 07/08/2013, à 11:27)
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#15 Le 07/08/2013, à 11:29
- Shanx
Re : RESOLU toujours et encore cron :(
Ben du coup, ça répond à la première partie de ta question : tu devrais mettre $LOGNAME dans ton script.
Mes randos : grande traversées des Alpes, de l'Islande, de la Corse, du Japon (en vélo), etc.
Traversée des États-Unis à pied
Hors ligne
#16 Le 07/08/2013, à 12:17
- tiramiseb
Re : RESOLU toujours et encore cron :(
Salut,
On peut voir là les variables d'environnement disponibles avec cron :
http://www.linux-france.org/article/man … tab-5.html
(par contre la page de man sur le système Ubuntu n'est pas identique, elle ne donne pas le détail des variables d'environnement).
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#17 Le 08/08/2013, à 06:52
- omnimax
Re : RESOLU toujours et encore cron :(
Salut tout le monde,
je teste.....sur ma virtualbox tout est ok, par contre sur mon poste de travail cela ne marche pas...
Et je ne sais plus les options que j'avais mises en postfix sur ma Vbox
Je vais essayer sur un autre poste pour voir.
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#18 Le 08/08/2013, à 06:57
- tiramiseb
Re : RESOLU toujours et encore cron :(
Eh bien compare la configuration de Postfix sur les deux machines... Si tu as encore accès à la machine virtuelle, c'est facile...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#19 Le 08/08/2013, à 08:17
- omnimax
Re : RESOLU toujours et encore cron :(
oui je pensais que ce serait simple aussi mais ou se situe la config de Postfix ?
j'ai bien fait locate postfix, mais je ne trouve rien de concluant.
sur la doc on voit le fichier /etc/postfix/main.cf mais chez moi il est vide ?
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#20 Le 08/08/2013, à 08:37
- tiramiseb
Re : RESOLU toujours et encore cron :(
mais ou se situe la config de Postfix ?
/etc/postfix/main.cf
sur la doc on voit le fichier /etc/postfix/main.cf mais chez moi il est vide ?
Dans ce cas Postfix ne peut pas fonctionner...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#21 Le 08/08/2013, à 08:46
- omnimax
Re : RESOLU toujours et encore cron :(
Bizarre, sur ma Vbox > mailtutils et postfix sont installés et /etc/postfix/main.cf est vide.
Et pourant mon cron avec smtp marche nickel.
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#22 Le 08/08/2013, à 08:55
- tiramiseb
Re : RESOLU toujours et encore cron :(
Es-tu sûr que ça utilise Postfix ?
Que donnent les commandes suivantes ?
sudo netstat -tlnp
postconf -n
postconf
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#23 Le 08/08/2013, à 09:36
- omnimax
Re : RESOLU toujours et encore cron :(
1. tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 830/smbd
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1268/dnsmasq
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 803/cupsd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 830/smbd
tcp6 0 0 :::139 :::* LISTEN 830/smbd
tcp6 0 0 ::1:631 :::* LISTEN 803/cupsd
tcp6 0 0 :::445 :::* LISTEN 830/smbd
2.postconf: fatal: open /etc/postfix/main.cf: No such file or directory
3. open /etc/postfix/main.cf: No such file or directory
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne
#24 Le 08/08/2013, à 09:53
- tiramiseb
Re : RESOLU toujours et encore cron :(
Postfix ne tourne pas sur ta machine.
Tes e-mails sortants ne passent pas par Postfix, je ne vois pas d'autre explication.
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#25 Le 08/08/2013, à 10:24
- omnimax
Re : RESOLU toujours et encore cron :(
mhmmm, merci quand même.
tu ne sais pas où est l'erreur alors ?
Pour résumer msmtp fonctionne en script shell et lorsqu'il est invoqué par cron il ne fonctionne pas.
14.04 unity et Linux Mint KDE 13 zsh-meilleur shell script fire
Hors ligne