La commande suivante fonctionne à partir de prompt mais pas de crontab.
grep abc /var/log/messages | grep "`date '+%B %d'`" | mail -s"abc log of `hostname`" shantanu.oak+`hostname`@gmail.com
J'ai besoin de l'ajouter à cron quotidien.
La commande suivante fonctionne à partir de prompt mais pas de crontab.
grep abc /var/log/messages | grep "`date '+%B %d'`" | mail -s"abc log of `hostname`" shantanu.oak+`hostname`@gmail.com
J'ai besoin de l'ajouter à cron quotidien.
Réponses:
Vous devez échapper aux %
signes. Ils ont une signification particulière dans les crontabs:
man (5) crontab:
Percent-signs (%) in the command, unless escaped with backslash (\),
will be changed into newline characters, and all data after the
first % will be sent to the command as standard input.
date +%F
et je
SHELL=/bin/bash
, je peux toujours réécrire en cat %Hello world
tant que cat <<<'Hello world'
. Je ne vois pas la nécessité d'une syntaxe spéciale.
Cela ne répond pas directement à votre question, mais je vous suggérerais de créer un fichier de script dans / usr / local / bin (ou ~ / bin ou ce qui est approprié) et de l'appeler à partir de cron. C'est plus facile à tester et à éditer.