Forum Programmation.shell Problème d'exécution script sur crontab

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
0
20
oct.
2019

Bonjour,

j'ai un script (pg-retart.sh) qui marche normalement lors de son exécution manuelle.
Ce script comporte les 4 lignes suivantes :

#!/bin/bash
/usr/sbin/pg-stop.sh
/usr/sbin/pg-start.sh
/usr/sbin/pg-status.sh

mais lorsque je planifie l'exécution du script sur le crontab, le crontab lance le script à l'heure précisée mais rien ne se passe.
la ligne ajoutée sur le crontab :

35 13 * * * /usr/sbin/pg-restart.sh

Pouvez-vous m'aider pour ce problème.

Merci d'avance

  • # Gérer les logs ...

    Posté par  . Évalué à 2. Dernière modification le 20 octobre 2019 à 17:24.

    Pour voir ce qui se passse, il te faut aller voir les logs générées par cron. Si elles ne sont pas activées, il faut le faire. Ensuite tu auras certainement plus d'infos sur ce qui se passe.

    Sinon tu peux tenter de rediriger les logs de tes scripts dans un fichier dédié. Mais sans logs on ne pourra pas vraiment t'aider (nous ne sommes pas devins).

    • [^] # Re: Gérer les logs ...

      Posté par  . Évalué à 2.

      Ah et j'ai oublié … Essaie de mettre un truc comme ça en cron pour rediriger la sortie d'erreur vers la sortie standard:

      /usr/sbin/pg-restart.sh 2>&1

      • [^] # Re: Gérer les logs ...

        Posté par  . Évalué à 2.

        Si tu veux rediriger les logs de ton script :

        /usr/sbin/pg-restart.sh >/chemin_vers_fichier_log.log 2>&1

        Tu peux le rediriger vers /tmp pour le debug dans un premier temps et voir ensuite pour les envoyer vers un autre endroit (avec si besoin horodatage et gestion de logrotate).

  • # environnement de travail

    Posté par  . Évalué à 3.

    quand tu lances le script a la main il s'execute avec l'environnement courant
    mais pas avec cron

    il faut parfois preciser cet environnement par un utilisateur ou des variables

    • [^] # Re: environnement de travail

      Posté par  . Évalué à 2. Dernière modification le 20 octobre 2019 à 21:29.

      parfois c'est assez pénible à faire, les script un peu lourd j'ai toujours du mal à les faire partir avec cron, parfois meme avec l'environnement ca ne passe pas, du coup je mets les liens en dur depuis la racine dans le scripts vers tous les fichiers et les programmes et cela passe mieux. :/

  • # pas d'extension dans noms de scripts cron

    Posté par  (Mastodon) . Évalué à -1.

    mv pg-retart.sh pg-restart
    
  • # Problèmes de chemin ou variable d'environnement ?

    Posté par  . Évalué à 1.

    Bonjour,
    Tes scripts font peut-être référence à un chemin soit :
    - non accessible pour l'utilisateur cron
    - qui fait référence à une variable d'environnement style ~

    A vérifier !

    Alfafa

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.