J'exécute une demi-douzaine de tâches cron différentes à partir de mon hébergement chez Hostmonster.com. Quand un cronjob a été exécuté, je reçois un email avec la sortie du script.
L'email vient dans le format de:
De: Cron Daemon Sujet: Cron / disque mémoire / bin / php5 -c /home5/username/scheduled/optimize_mysql.bash
Le problème avec ceci est que le sujet de l'email rend très difficile de savoir à quel cronjob appartient l'email.
Existe-t-il un moyen de modifier l'objet d'un email cronjob pour qu'il soit plus facile à lire?
Par exemple:
De: Cron Daemon Objet: Optimiser la base de données MySQL
Ou utilisez la commande sh noop (:)
Le sujet a toujours l’air kludgey, mais au moins il est descriptif et ne nécessite pas de scripts superflus.
la source
Queue Summary; PATH=/usr/sbin qshape
Dirigez directement le résultat de votre travail cron vers le courrier, puis vous pouvez renseigner la ligne de sujet. la
2>&1
syntaxe envoie toute sortie d'erreur qui sinon disparaîtrait.la source
Assumer la responsabilité de l'envoi de la sortie de la commande par crond (ou non s'il n'y en a pas) en transmettant la sortie et stderr dans 'mailx -E'. Par exemple:
L'option '-E' de Mailx est intéressante car, tout comme crond, elle n'enverra pas de courrier s'il n'y a pas de sortie à envoyer.
la source
Several environment variables are set up automatically by the cron(8) daemon. SHELL is set to /bin/sh, and LOGNAME and HOME are set from the /etc/passwd line of the crontab's owner. PATH is set to "/usr/bin:/bin". HOME, SHELL, and PATH may be overridden by settings in the crontab; LOGNAME is the user that the job is running from, and may not be changed.
mailx
implémentations; seuls certains d'entre eux offrent cette-E
option. Sur Ubuntu, vous voulez les packagesbsd-mailx
ouheirloom-mailx
; lemailutils
paquet contient unemailx
commande Gnu avec un autre-E
.Une autre solution consiste à écrire un script shell avec la ligne d'objet souhaitée, qui appelle la bonne commande. Dans votre exemple, ce serait:
Vous pouvez inclure votre répertoire bin dans le chemin en le définissant dans le fichier crontab.
la source
ESSAYEZ CECI - Dans la ligne de commande, implémentez le code suivant ---
la source