Pages : 1
#1 Le 26/07/2011, à 19:44
- dureiken
Crontab et init.d
Bonjour,
je vous sollicite car je ne comprends pas pourquoi ce crontab ne fonctionne pas : les 2 premières lignes ne fonctionnent pas, les 2 dernières oui, avec le même utilisateur bien sur :
# m h dom mon dow command
00 06 * * * /etc/init.d/toto-Build save
10 06 * * * /etc/init.d/toto-Build carte
00 15 * * * rm -r /var/www/map
10 15 * * * mv /home/tutu/map /var/www/map
/etc/init.d/toto-Build save et carte marchent quand je les execute en ligne de commande avec cet utilisateur
Merci de votre aide !
Hors ligne
#2 Le 26/07/2011, à 21:17
- Haleth
Re : Crontab et init.d
Montre les scripts qui ne se lancent pas, parcque la, ton crontab est correct
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#3 Le 26/07/2011, à 21:21
- Cyrille_tux
Re : Crontab et init.d
Rien d'anormal dans le fichier /var/log/cron.log ?
Hors ligne
#4 Le 26/07/2011, à 21:35
- dureiken
Re : Crontab et init.d
Merci de me répondre
le fichier /var/log/cron.log n'existe pas.
Et sinon je peux t'envoyer les scripts mais ils sont assez gros, du fait qu'ils se lancent en console manuelle je pensais qu'il n'y aurait pas de souci pour les lancer en cron
Hors ligne
#5 Le 26/07/2011, à 21:54
- Cyrille_tux
Re : Crontab et init.d
Pour le fichier de LOG, regarde du côté de /var/log/syslog
Peux-tu faire un essai avec un autre script ?
Contenu du fichier debug par exemple
#!/bin/bash
touch /tmp/$1
Puis dans la crontab
00 06 * * * /etc/init.d/debug TEST
Et vérifier que le fichier TEST est créé dans le répertoire /tmp
Hors ligne
#6 Le 27/07/2011, à 06:35
- dureiken
Re : Crontab et init.d
Hum,
dans le syslog :
Jul 27 06:00:01 ICreeper CRON[28908]: (creeperic) CMD (/etc/init.d/toto-Build save)
Jul 27 06:00:01 ICreeper postfix/sendmail[28917]: fatal: open /etc/postfix/main.cf: No such file or directory
Jul 27 06:10:02 ICreeper CRON[29782]: (creeperic) CMD (/etc/init.d/toto-Build carte)
Jul 27 06:10:02 ICreeper postfix/sendmail[29790]: fatal: open /etc/postfix/main.cf: No such file or directory
Et sinon ton test a marché avec le repertoire TEST
Hors ligne
#7 Le 27/07/2011, à 13:31
- Haleth
Re : Crontab et init.d
Ben, ca me parait clair : il cherche un fichier qui n'existe pas
Etrange d'ailleur, il me semble que ce fichier est la conf principale de postfix
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#8 Le 27/07/2011, à 20:56
- dureiken
Re : Crontab et init.d
Une idée de la solution ?
Hors ligne
#9 Le 27/07/2011, à 21:08
- Cyrille_tux
Re : Crontab et init.d
- Le fichier main.cf existe t-il ?
- Il doit y avoir un problème avec le script que tu utilises. Peux-tu le poster ?
Hors ligne
#10 Le 28/07/2011, à 06:28
- dureiken
Re : Crontab et init.d
Le fichier main.cf ,n'existe pas
Voici le script :
#!/bin/bash
# /etc/init.d/toto-Build
# version 0.3.2 2011-01-27 (YYYY-MM-DD)
### BEGIN INIT INFO
# Provides: toto
# Required-Start: $local_fs $remote_fs
# Required-Stop: $local_fs $remote_fs
# Should-Start: $network
# Should-Stop: $network
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Toto server
# Description: Starts the toto server
### END INIT INFO
#Settings
SERVICE='toto'
USERNAME="creeperic"
MCPATH='/home/toto-Build/'
TECTONICUSPATH='/home/creeperic/tectonicus'
ME=`whoami`
as_user() {
if [ "$ME" == "$USERNAME" ] ; then
bash -c "$1"
else
su - $USERNAME -c "$1"
fi
}
mc_start() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep -v -i tectonicus | grep $SERVICE > /dev/null
then
echo "$SERVICE est deja en fonctionnement !"
else
echo "$SERVICE n'etait pas en fonctionnment... Lancement du serveur."
cd $MCPATH
as_user "cd $MCPATH && screen -dmS toto-Build java -Xmx4096M -Xms4096M -jar toto_server.jar nogui"
sleep 7
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo "$SERVICE est maintenant lancé."
else
echo "Impossible de demarrer $SERVICE."
fi
fi
}
mc_stop() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep -v -i tectonicus | grep $SERVICE > /dev/null
then
echo "$SERVICE is running... stopping."
as_user "screen -p 0 -S toto-Build -X eval 'stuff \"say EXTINCTION DU SERVEUR DANS 10 SECONDES. SAUVEGARDE DE LA CARTE...\"\015'"
as_user "screen -p 0 -S toto-Build -X eval 'stuff \"save-all\"\015'"
sleep 10
as_user "screen -p 0 -S toto-Build -X eval 'stuff \"stop\"\015'"
sleep 7
else
echo "$SERVICE n'etait pas en fonctionnement."
fi
if ps ax | grep -v grep | grep -v -i SCREEN | grep -v -i tectonicus | grep $SERVICE > /dev/null
then
echo "$SERVICE n'a pas pu etre eteint... toujours en fonctionnement."
else
echo "$SERVICE eteint."
fi
}
mc_save() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep -v -i tectonicus | grep $SERVICE > /dev/null
then
echo "$SERVICE en marche, pas de sauvegarde."
else
echo "Lancement de la sauvegarde"
as_user "cd $MCPATH && cp -r ICreeper /home/creeperic/`date "+%Y-%m-%d"`_ICreeper"
sleep 20
echo "Sauvegarde effectuee"
fi
}
mc_carte() {
if ps ax | grep -v grep | grep -v -i SCREEN | grep tectonicus > /dev/null
then
echo "Generation de carte en cours. Abandon du lancement d'une autre generation."
else
echo "Suppression de l'ancien repertoire ICreeper dans Tectonicus."
as_user "rm -r $TECTONICUSPATH/ICreeper"
sleep 30
echo "Copie de la sauvegarde du jour dans Tectonicus."
as_user "cd $MCPATH && cp -r /home/creeperic/`date "+%Y-%m-%d"`_ICreeper $TECTONICUSPATH/ICreeper"
sleep 30
echo "Lancement de la generation de la carte."
as_user "cd $TECTONICUSPATH && ./tectonicus"
sleep 30
if ps ax | grep -v grep | grep -v -i SCREEN | grep tectonicus > /dev/null
then
echo "Generation de la carte lancee"
else
echo "Generation de la carte NON lancee"
fi
fi
}
#Start-Stop here
case "$1" in
start)
mc_start
;;
stop)
mc_stop
;;
restart)
mc_stop
mc_start
;;
save)
mc_stop
mc_save
mc_start
;;
carte)
mc_carte
;;
status)
if ps ax | grep -v grep | grep -v -i SCREEN | grep $SERVICE > /dev/null
then
echo "$SERVICE is running."
else
echo "$SERVICE is not running."
fi
;;
*)
echo "Usage: /etc/init.d/toto-Build {start|stop|save|status|carte|restart}"
exit 1
;;
esac
exit 0
Merci
Hors ligne
#11 Le 30/07/2011, à 14:16
- Cyrille_tux
Re : Crontab et init.d
Salut,
Si le système tente d'envoyer un mail (par l'intermédiaire de postfix) c'est qu'il a trouvé une erreur dans le script.
1° Installe postfix
2° Exécute le script via cron
3° Regarde dans les fichiers de log le message généré (/var/log/maillog ou un fichier dans ce genre)
Hors ligne
#12 Le 30/07/2011, à 15:17
- jilucorg
Re : Crontab et init.d
Moi je tenterais d'abord ceci :
gksudo gedit /etc/crontab
y écrire :
MAILTO=""
ou mettre cette valeur "" à la place de ce qui y serait déjà.
parce qu'installer postfix pour recevoir les mails de cron, ça me paraît légèrement too much et les mails de cron n'ont aucun intérêt pratique.
EDIT: et d'ailleurs, que répond la commande
mail
?
Dernière modification par jilucorg (Le 30/07/2011, à 15:22)
jiluc.
––
Pour soutenir concrètement le logiciel libre : l'April ! http://www.april.org
Hors ligne
#13 Le 30/07/2011, à 16:44
- Haleth
Re : Crontab et init.d
gksudo gedit /etc/crontab
Non
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#14 Le 30/07/2011, à 17:19
- jilucorg
Re : Crontab et init.d
Et pourquoi donc cette sentence si décisive ? Peut-on avoir une bribe de justification ?
Ce fichier est prévu pour être édité, et il comporte au début des variables d'environnement :
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
J'aimerais bien un peu moins de laconisme et l'explication pour ce « Non » interdisant l'ajout d'une variable MAILTO="" (manip parfaitement homologuée, Google est ton ami si tu en doutes.)
Et même : man cron :
En plus de LOGNAME, HOME, et SHELL, cron(8) prendra en compte la variable MAILTO s'il doit envoyer le résultat d'une commande exécutée dans cette crontab. Si MAILTO est définie (et non vide), le résultat est envoyé à l'utilisateur indiqué. Si MAILTO est défini et vide (MAILTO=""), aucun courrier ne sera envoyé. Sinon, le courrier sera émis vers le propriétaire de la crontab.
Dernière modification par jilucorg (Le 30/07/2011, à 17:23)
jiluc.
––
Pour soutenir concrètement le logiciel libre : l'April ! http://www.april.org
Hors ligne
#15 Le 30/07/2011, à 17:49
- Cyrille_tux
Re : Crontab et init.d
Salut Jilucorg,
J'évoquais l'installation de postfix car les fichiers de LOG y faisait référence.
fatal: open /etc/postfix/main.cf: No such file or directory
Après, si la variable MAILTO est suffisante, je n'y vois aucun inconvénient !
Hors ligne
#16 Le 30/07/2011, à 18:11
- jilucorg
Re : Crontab et init.d
J'en sais rien hein ! Juste que je sais que cron peut faire des erreurs quand il est contrarié dans son envoi de mails. Ma "solution" est un test pour ce problème (cron ne veut plus envoyer de mails), et est aisément réversible.
Ce qui m'intéresse d'abord – d'où ma demande –, c'est de savoir si mailutils est bien installé et ce que dit alors la simple commande mail (il faut normalement avoir mailutils pour que cron ne pose pas de problèmes, voir la doc) : si ça marche elle devrait présenter une série de mails de compte-rendu de cron.
[On espère que dureiken s'intéresse à son sujet.............]
Dernière modification par jilucorg (Le 30/07/2011, à 18:13)
jiluc.
––
Pour soutenir concrètement le logiciel libre : l'April ! http://www.april.org
Hors ligne
#17 Le 30/07/2011, à 20:31
- Haleth
Re : Crontab et init.d
vi /etc/crontab
vim /etc/crontab
nano /etc/crontab
Mais
gksu gedit /etc/crontab
Non
C'est pas un conseil, mais une incitation au vice !
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#18 Le 30/07/2011, à 21:08
- jilucorg
Re : Crontab et init.d
vi /etc/crontab
vim /etc/crontab
nano /etc/crontab
-rw-r--r-- 1 root root 724 2009-09-16 00:32 crontab
C'est quoi l'intérêt d'ouvrir crontab en lecture seule ?
Et si c'est l'éditeur qui te pose problème, pas assez roots, on peut faire aussi
sudo emacs /etc/crontab
Dernière modification par jilucorg (Le 30/07/2011, à 21:10)
jiluc.
––
Pour soutenir concrètement le logiciel libre : l'April ! http://www.april.org
Hors ligne
#19 Le 31/07/2011, à 23:05
- dureiken
Re : Crontab et init.d
Bonjour, désolé j'étais en déplacement.
Bon alors j'ai installé mailutils comme dit dans un post. Lorsque je fais mail avec mon compte non admin (creeperic) j'ai ça :
creeperic@ICreeper:/home$ mail
Impossible d'ouvrir la boîte aux lettres /var/mail/creeperic: Permission non accordée
Pas de courrier pour creeperic
et en sudo mail :
dureiken@ICreeper:~$ sudo mail
Pas de courrier pour root
J'ai été regardé le fichier /var/log/mail.log :
Jul 31 22:56:02 ICreeper postfix/sendmail[10414]: fatal: open /etc/postfix/main.cf: No such file or directory
Jul 31 22:58:01 ICreeper postfix/sendmail[10628]: fatal: open /etc/postfix/main.cf: No such file or directory
et sudo emacs /etc/crontab donne :
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
Merci de vos réponses en tout cas
Hors ligne
#20 Le 31/07/2011, à 23:07
- Haleth
Re : Crontab et init.d
aptitude install postfix
Ubuntu is an ancien African word which means "I can't configure Debian"
Because accessor & mutator are against encapsulation (one of OOP principles), good OOP-programmers do not use them. Obviously, procedural-devs do not. In fact, only ugly-devs are still using them.
Hors ligne
#21 Le 01/08/2011, à 07:25
- dureiken
Re : Crontab et init.d
C'etait deja installe postix
Aucun paquet ne va être installé, mis à jour ou enlevé.
0 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 9 non mis à jour.
Il est nécessaire de télécharger 0o d'archives. Après dépaquetage, 0o seront utilisés.
Hors ligne
#22 Le 12/08/2011, à 19:37
- dureiken
Re : Crontab et init.d
Un petit coup de pouce de retour de vacances ?
merci
Hors ligne
#23 Le 13/08/2011, à 09:30
- Cyrille_tux
Re : Crontab et init.d
Salut,
- Postfix existe
- le fichier main.cf n'existe pas
==> Commence peut-être par réinstaller postfix.
Hors ligne
Pages : 1