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
Configuration: Windows XP
Firefox 3.0.14

16 réponses

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

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

    Oui, c'est le crontab de root
    0
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Ok, et tu te bases sur quoi pour savoir que ça ne marche pas ?
    0
  4. 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
  7. jivef Messages postés 1024 Statut Membre 306
     
    Bonsoir,

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

    A plus.
    0
  8. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    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
  9. 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
    1. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      donc mets une trace.
      0
  10. 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
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Je peux faire ça comment ?
      C'est expliqué au message #7.
      0
    2. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Il te suffit de lire le message 7 ;-)
      0
  11. 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
  12. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    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
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      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
      1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571 > 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
  13. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
     
    N'oublie pas le 1 avant >>, car des fois, ça permet de trouver des choses qui sont pas trop standard...
    0
  14. 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
  15. 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
  16. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Commence par nous afficher le contenu de :
    
    cat -n /etc/init.d/samba

    peut être y verrons-nous un peu mieux ;-))
    0
    1. blux Messages postés 2046 Date d'inscription   Statut Modérateur Dernière intervention   3 455
       
      Et aussi /root/misc/restart_samba.sh, car on appelle peut-être samba avec des paramètres...
      0
  17. 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