【问题标题】:Crontab, want to mail just errors to myself AND log output in separate fileCrontab,只想将错误邮寄给自己,并将输出记录在单独的文件中
【发布时间】:2014-07-31 13:02:37
【问题描述】:

我对 crontab 很陌生,我今天才开始使用它。

我正在尝试做的事情相当简单(我认为。)我希望将脚本可能导致的所有错误邮寄给我自己,并将所有输出(无论成功与否)记录在单独的日志文件。

目前,它正在记录输出,但我不知道从哪里开始让它通过电子邮件向我发送错误。

这是我到目前为止的代码:

MAILTO=mymail@myaddress.ca

# m h dom mon dow   command

0,15,30,45 * * * * /path/to/script >> /path/to/log/$(date +\%m\%d\%H\%M)_f.log 2>&1

谢谢!

【问题讨论】:

    标签: logging cron crontab error-log


    【解决方案1】:

    或者干脆

    * * * * * /.../script 2>&1 | tee script.log
    

    【讨论】:

      【解决方案2】:

      我建议您将脚本封装在另一个脚本中。 您将把这个新脚本添加到 cron

      encap.sh 内容:

      #call your script
      script.sh > /tmp/temp$$.log
      
      #analyze results using /tmp/temp$$.log or $?
      
      #send mail depending on results
      
      #Log results
      cat /tmp/temp$$.log >> /path/to/log/$(date +\%m\%d\%H\%M)_f.log
      #or 
      mv /tmp/temp$$.log > /path/to/log/$(date +\%m\%d\%H\%M)_f.log
      

      【讨论】:

        【解决方案3】:

        试试mailx。您需要传递一个 ~/.mozilla/firefox/xxxxx.default 目录才能使其正常工作。

        #! /bin/bash
        
        MACHINE=$(hostname)
        CURRENT_TIME=$(date +%Y-%m-%d_%H-%M-%S)                                                                                                                                                                                          
        
        mailx -v -s "BACKUP FAILED" -S ssl-verify=ignore -S smtp-auth=login -S smtp=smtp://smtp.server.com:587 -S from=name@server.com -S smtp-auth-user=name@server.com -S smtp-auth-password=namesecret -S ssl-verify=ignore -S nss-config-dir=/home/name/.mozilla/firefox/xxxxxxx.default/ name@server.com << EOF                                   
        Hello,                                                                                                                                                                                                                           
        
        This message was sent by an automatic script. Please do not reply.                                                                                                                                                               
        
        If you are reading this, it means that the machine $MACHINE could not connect to the External Backup Server.                                                                                                                     
        
        Please check this situation.                                                                                                                                                                                                     
        
        Regards,
        
        The $MACHINE Administrator.
        EOF
        

        【讨论】:

          猜你喜欢
          • 2023-03-27
          • 1970-01-01
          • 1970-01-01
          • 2019-02-28
          • 2011-07-25
          • 2015-08-03
          • 1970-01-01
          • 1970-01-01
          • 2021-09-13
          相关资源
          最近更新 更多