Crontab

IvyAlice Messages postés 397 Statut Membre -  
IvyAlice Messages postés 397 Statut Membre -
Bonjour à tous,

Voici mon problème, je voulais faire redémarrer samba tous les soir par le cron, mais ça ne marche pas .

J'avais fait:
- crontab -e
- 0 21 * * * /etc/init.d/samba restart
- esc : wq (pour sauvegarder)
Et ça me disait qu'il avait sauver le nouveau fichier. si je le ré-ouvre, je vois bien ma ligne.

Est-ce qu'il y aurait une erreur dans cette ligne, ou est-ce que je dois relancer un démon quelconque ou faire exécuter la ligne par un utilisateur spécifique pour que ça marche ( ça tourne sur une debian etch )
(il y a bien un 'samba' dans '/etc/init.d', et qui fonctionne lorsqu'on le lance à la main)

Merci d'avance pour votre aide.

Amicalement, Ivy

16 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

C'est la crontab de root ?
0
IvyAlice Messages postés 397 Statut Membre 32
 
Salut Jipicy,

Oui, c'est le crontab de root
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Ok, et tu te bases sur quoi pour savoir que ça ne marche pas ?
0
IvyAlice Messages postés 397 Statut Membre 32
 
Je regarde dans les log du nmbd de samba, et on voit bien qu'il ne s'est pas arrêter car il n'y a plus de log depuis le dernier redémarrage, en plus on utilise nagios et quand j'arrive le matin et que je vois que samba est up depuis plusieurs jours, je me dit qu'il n'a pas redémarré.

(en plus comme tu le vois j'ai bêtement choisis 21h pour tester, et il y a encore des gens qui bossent à cette heure, s'ils avaient été coupé. même brièvement, ils me l'auraient fait savoir... enfin ... en principe ^_^ )

je peux voir ça ailleurs ? par ce que dans le log de samba log.smbd j'ai rien de relatif au reboot de samba
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Salut,

Regarde dans les mail, pour voir ce que dit cron.
Regarde dans /var/log/syslog pour voir si le cron s'exécute.
0
jivef Messages postés 927 Date d'inscription   Statut Membre Dernière intervention   306
 
Bonsoir,

Si tu fais un "crontab -l" (lettre l comme Lima) est-ce que tu vois bien ta tâche ?

A plus.
0
blux Messages postés 27794 Statut Modérateur 3 362
 
Salut,

peut-être un problème d'espace...
Essaie de mettre ta commande dans un script et de l'appeler dans ton cron...

Trace également la ligne d'exécution :

0 21 * * * /home/smbrestart.sh 1 >>/home/trace.txt 2>&1
0
IvyAlice Messages postés 397 Statut Membre 32
 
Bonjour jivef et blux,

Merci pour vos réponses.

Alors pour répondre à vos questions, non je ne vois pas de log dans le syslog par contre je vois bien ma ligne avec crontab -l
0
blux Messages postés 27794 Statut Modérateur 3 362
 
donc mets une trace.
0
IvyAlice Messages postés 397 Statut Membre 32
 
Je peux faire ça comment ?
Bon c'est pratique de logger samba, mais je SAIS qu'il ne fonctionne pas( pour les raisons citées plus haut)
Donc c'est plutôt ça qui m'intéresse avant tout
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Je peux faire ça comment ?
C'est expliqué au message #7.
0
blux Messages postés 27794 Statut Modérateur 3 362
 
Il te suffit de lire le message 7 ;-)
0
IvyAlice Messages postés 397 Statut Membre 32
 
D'oh !!j'ai raté ce message Oo

Effectivement les autres commandes du cron appellent toutes des scriptes

donc j'ai fait un scripte restart_samba.sh avec
#!/bin/bash
/etc/init.d/samba restart

Je l'ai rendu exécutable avec
"chmod 755 restart_samba.sh"

Le l'appel (mais à 6h du matin cette fois) depuis crontab avec :
0 6 * * * /root/misc/restart_samba.sh >>/root/misc/rsSmb.txt 2>&1

Là, et maintenant il n'y à plus qu'à 'attendre' demain pour voir si ça fonctionne ou pas.

Je vous tient au courant,

Merci,

Ivy
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
Re,

Là, et maintenant il n'y à plus qu'à 'attendre' demain pour voir si ça fonctionne ou pas.

Pourquoi attendre demain?
Tu peux tester toute de suite (remplace H et M avec l'heure et minute désirer, par exemple après une minute selon ton horologe système)

M H * * * /root/misc/restart_samba.sh >>/root/misc/rsSmb.txt 2>&1 


0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

Vu plus haut :
(en plus comme tu le vois j'ai bêtement choisis 21h pour tester, et il y a encore des gens qui bossent à cette heure, s'ils avaient été coupé. même brièvement, ils me l'auraient fait savoir... enfin ... en principe ^_^ )


;-))
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570 > jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention  
 
Salut,

Ok, j'ai pas vu, mais franchement entre 12h00 et 14h00 il faut appeller les gens au bureau, il y forte chance qu'il ne soient pas là ;-DDD
Et puis un admin système peut envoyer un message en disant que entre tel et tel heure il y aura un test sur le serveur, mais bon...
0
blux Messages postés 27794 Statut Modérateur 3 362
 
N'oublie pas le 1 avant >>, car des fois, ça permet de trouver des choses qui sont pas trop standard...
0
IvyAlice Messages postés 397 Statut Membre 32
 
"Ok, j'ai pas vu, mais franchement entre 12h00 et 14h00 il faut appeller les gens au bureau, il y forte chance qu'il ne soient pas là ;-DDD "

C'est peut-être vrai chez les fonctionnaires, mais nous on est indépendant, et qui plus est avec des horaires souples, ça fait qu'entre 6h45 et 9h30, parfois même plus tard, il y a quasi toujours quelqu'un (c'est bien soulant d'ailleurs)


"Et puis un admin système peut envoyer un message en disant que entre tel et tel heure il y aura un test sur le serveur, mais bon.."
C'est vrai mais je me gène ^_^
0
IvyAlice Messages postés 397 Statut Membre 32
 
Bonjour à tous,

bon, on a eu quelque problèmes entre temps , d'où le fait que je ne réponde que maintenant

Résultat, mon samba n'a pas redémarré, voici la ligne du crontab :

0 6 * * * /root/misc/restart_samba.sh >>/root/misc/rsSmb.txt 2>&1

et dans le rsSmb.txt:

Stopping Samba daemons: nmbd/etc/init.d/samba: line 46: start-stop-daemon: command not found
smbd/etc/init.d/samba: line 58: start-stop-daemon: command not found
.
Starting Samba daemons: nmbd/etc/init.d/samba: line 28: start-stop-daemon: command not found
failed!


Quelqu'un pourrait-il éclairé ma lanterne (rouge) ?

Merci d'avance
0
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Commence par nous afficher le contenu de :

cat -n /etc/init.d/samba

peut être y verrons-nous un peu mieux ;-))
0
blux Messages postés 27794 Statut Modérateur 3 362
 
Et aussi /root/misc/restart_samba.sh, car on appelle peut-être samba avec des paramètres...
0
IvyAlice Messages postés 397 Statut Membre 32
 
Bonjour jipicy et blux,

alors, /root/misc/restart_samba.sh :
#............................................................................................................................
#!/bin/bash
/etc/init.d/samba restart
#............................................................................................................................
Quand je tape cette commande à la main il me semble que ça fonctionne .

et /etc/init.d/samba :
#............................................................................................................................
#!/bin/sh

# Defaults
RUN_MODE="daemons"

# Reads config file (will override defaults above)
[ -r /etc/default/samba ] && . /etc/default/samba

NMBDPID=/var/run/samba/nmbd.pid
SMBDPID=/var/run/samba/smbd.pid

# clear conflicting settings from the environment
unset TMPDIR

# See if the daemons are there
test -x /usr/sbin/nmbd -a -x /usr/sbin/smbd || exit 0

. /lib/lsb/init-functions

case "$1" in
start)
log_daemon_msg "Starting Samba daemons" "nmbd"

if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/nmbd -- -D; then
log_end_msg 1
exit 1
fi

if [ "$RUN_MODE" != "inetd" ]; then
log_progress_msg "smbd"
if ! start-stop-daemon --start --quiet --oknodo --exec /usr/sbin/smbd -- -D; then
log_end_msg 1
exit 1
fi
fi

log_end_msg 0
;;
stop)
log_daemon_msg "Stopping Samba daemons" "nmbd"

start-stop-daemon --stop --quiet --pidfile $NMBDPID
# Wait a little and remove stale PID file
sleep 1
if [ -f $NMBDPID ] && ! ps h `cat $NMBDPID` > /dev/null
then
# Stale PID file (nmbd was succesfully stopped),
# remove it (should be removed by nmbd itself IMHO.)
rm -f $NMBDPID
fi

if [ "$RUN_MODE" != "inetd" ]; then
log_progress_msg "smbd"
start-stop-daemon --stop --quiet --pidfile $SMBDPID
# Wait a little and remove stale PID file
sleep 1
if [ -f $SMBDPID ] && ! ps h `cat $SMBDPID` > /dev/null
then
# Stale PID file (nmbd was succesfully stopped),
# remove it (should be removed by smbd itself IMHO.)
rm -f $SMBDPID
fi
fi

log_end_msg 0

;;
reload)
log_daemon_msg "Reloading /etc/samba/smb.conf" "smbd only"

start-stop-daemon --stop --signal HUP --pidfile $SMBDPID

log_end_msg 0
;;
restart|force-reload)
$0 stop
sleep 1
$0 start
;;
*)
echo "Usage: /etc/init.d/samba {start|stop|reload|restart|force-reload}"
exit 1
;;
esac

exit 0
#............................................................................................................................


Merci
0