• Seedbox
  • Message à la fin d'une tâche !

Bonjour à tous,
J'ai édité un script afin de rapatrier des dossiers de la seedbox ver le NAS. Quand je lance la commande ça fonctionne bien et j'ai un feedback que la copie à bien démarrée et quelle s'est terminée avec succès ! J'ai rajouté à la fin du script echo "finish"
Je lance le planificateur CRON afin de planifier la tâche pour lancer le script tous les jours à 23h55
55 23 * * * bash /root/scripts/rsync.sh > /dev/null 2>&1
Tout est ok sauf que je ne reçois aucun feedback de quoi que ce soit. Merci pour vos conseils. Bien cordialement 🙂

Yop,
tu as bien config ton mailer_daemon ? tes alias sont OK ? ton serveur mail fonctionne correctement en dehors des jobs de ta crontab ?

    lokiii
    Merci pour ta réponse ! Je voulais juste savoir si c'était possible d'avoir un contrôle sur la console comme je l'ai quand je le fais manuellement.

    Salut
    Oui tu peux envoyer un mail a la fin de ton cron

    Alors normalement, les scripts Cron de sont pas censer être verbose, c'est à dire donner un retour sur les actions qu'ils font en temps réel, car il ne sont pas reliés à une session à proporement dis (d'ou le fait que echo n'est pas adapté).

    Pour être informé du bon deroulement ou non d'un script, il va falloir utiliser autre chose, par exemple :
    - Mail : Faire en sorte de recevoir un mail a une adresse spécifique en cas de succès ou non de ton script
    - Logs : Ajouter un fichier de Logs que l'on renseigne a chaque utilisation du script (pratique quand on a deja un système de LogWatch
    - Message sur mobile : si tu es chez free tu peux t'envoyer facilement des SMS, sinon je te conseille Télégram qui est pratique pour recevoir facilement des petits messages de ses serveurs sur bonne execution ou non d'un CRON. il ya d'autre solution a base de notification push comme pushbullet, ou autre....

    Pour ce qui est d'un simple echo, malheuresement cela me semble compromis car le script ne sais pas ou il doit ecrire du texte, car le script n'est pas rattaché à une session.

      shyne
      Merci pour ton message. En fait je si je comprends un peu 🙃 il y a une logique ce n'est plus moi qui exécute la commande c'est le cron donc aucune apparition sur la console. Ok ! Quelle méthode accessible me conseilles tu. Je veux juste avoir un retour terminé ou non ! Bien cordialement

        chlotus
        Le plus simple a mon avis est de rediriger la sortie de ton script vers un fichier de log au lieu de /dev/null

        55 23 * * * bash /root/scripts/rsync.sh > /ton/fichier/log 2>&1

        Il ne te restera plus qu'a vérifier le contenu de ton fichier de log.

          sunnay
          Merci à toi pour ton conseil. Je vais faire au plus simple c'est clair et net je suis vraiment basique de chez basique en commande. ok pour la redirection. Pour le .log je le fais avec nano comme un fichier texte ou c'est un fichier spécial ? Merci pour ta réponse.

            chlotus
            C'est un fichier classique, tu peux l’éditer avec nano ou simplement l'afficher avec cat ou less/more.

              Si tu as un postfix ou sendmail qui tourne sur ta machine, tu peux définir une adresse mail pour le user qui lance le script en cron (via le fichier /etc/aliases)
              Du coup, si tu ne rediriges pas la sortie (tu supprimes le > /dev/null 2>&1 à la fin), le user recevra un mail avec toutes la sortie standard.
              Si tu ne laisses que > /dev/null sans le 2>&1, tu ne recevras un mail qu'en cas d'erreur (stderr)

                sunnay
                Merci pour ton conseil. C'est parfait ainsi tout est Ok 🙂

                Merrick
                Merci pour ta réponse. J'ai choisi l'option fichier log 🙂

                Répondre…