use o Cron para enviar o log de um trabalho

2

Eu tenho um script semanal que o cron executa para criar um instantâneo do zfs. Eu queria saber se é possível enviar um email OK se o trabalho for executado corretamente e um email de erro se algo aconteceu e no conteúdo do email para ter o log de trabalho. Como fazer isso?

25 11 * * 5 /home/aegrimisu/ZFS-autosnapshot.sh>>/home/aegrimisu/ZFS-WeeklySnapShot.log 2>&1 | mail -s "ZFS SnapShot Status" [email protected]

O conteúdo do script é:

#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
zfs snapshot Misu@Misu-'date +%Y.%m.%d-%H:%m:%S'
    
por Misu Egri 09.08.2013 / 10:27

2 respostas

2

2>&1 diz ao shell para redirecionar o erro padrão para a saída padrão. Sem isso, você ainda receberia e-mails se o script imprimisse alguma coisa no erro padrão.

Esta linha do seu script ZFS-autosnapshot.sh :

zfs snapshot Misu@Misu-'date +%Y.%m.%d-%H:%m:%S'

provavelmente dá um erro, então você deve usar:

25 11 * * 5 /home/aegrimisu/ZFS-autosnapshot.sh>>/home/aegrimisu/ZFS-WeeklySnapShot.log \
            | mail -s "ZFS SnapShot Status" [email protected]

como crontab se você deseja receber o erro por e-mail.

    
por Radu Rădeanu 09.08.2013 / 11:53
0

Variante do Mutt E-Mail Client

  1. Instale o mutt

    sudo apt-get install mutt

  2. Crie mailbck.sh e cole as linhas do link

  3. Torne-o executável

    chmod +x mailbck.sh

  4. Adapte-o às suas necessidades

por tuxar 09.08.2013 / 11:59