Estou executando meia dúzia de trabalhos cron diferentes da minha hospedagem no Hostmonster.com. Quando um cronjob é executado, recebo um email com a saída do script.
O email vem no formato de:
De: Cron Daemon Assunto: Cron / ramdisk / bin / php5 -c /home5/username/scheduled/optimize_mysql.bash
O problema disso é que o assunto do email dificulta a leitura a qual cronjob o email está relacionado.
Existe uma maneira de modificar o assunto de um email do cronjob para facilitar a leitura?
Por exemplo:
De: Cron Daemon Assunto: Otimizar banco de dados MySQL
Ou use o comando sh noop (:)
O assunto ainda parece esquisito, mas pelo menos é descritivo e não requer scripts estranhos.
fonte
Queue Summary; PATH=/usr/sbin qshape
Canalize a saída da sua tarefa cron para enviar por e-mail diretamente e, em seguida, você poderá preencher a linha de assunto. a
2>&1
sintaxe envia qualquer saída de erro que de outra forma desapareceria.fonte
Assuma a responsabilidade da crond de enviar a saída do comando (ou não, se não houver), canalizando a saída e stderr para 'mailx -E'. Por exemplo:
A opção '-E' do Mailx é boa porque, assim como o próprio crond, ele não envia um email se não houver saída a ser enviada.
fonte
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
implementações; apenas alguns deles oferecem essa-E
opção. No Ubuntu você deseja que obsd-mailx
ouheirloom-mailx
pacotes; omailutils
pacote contém ummailx
comando Gnu com um diferente-E
.Outra solução é escrever um shell script com a linha de assunto que você deseja que chama o comando certo. No seu exemplo, isso seria:
Você pode incluir o diretório bin no caminho, definindo-o no arquivo crontab.
fonte
Experimente - na linha de comando, implemente o seguinte código ---
fonte