代码之家  ›  专栏  ›  技术社区  ›  lellefood

将crontab stdout重定向到stdout,而不是默认的电子邮件

  •  1
  • lellefood  · 技术社区  · 7 年前

    默认情况下,crontab jobs stdout被发送到crontab用户的电子邮件,就像crontab文件在描述中所说的那样:

    # Output of the crontab jobs (including errors) is sent through
    # email to the user the crontab file belongs to (unless redirected).
    

    slacktee 与使用相同( tee 在其他脚本中(通过将它们放入 /etc/cron.daily/ 目录)我这样做:

    echo "New message!" | slacktee -i "tada" -c "messages"
    

    当他们运行时,没有问题。但是在我的自定义计划脚本中,我没有看到关于slack的消息,尽管它们运行正常。

    我的工作每四小时开始一次,时间安排如下:

    * */4 * * * /scripts/mysql_backup.sh
    

    如何在自定义计划脚本中使用slacktee?

    我有点晚了,很抱歉,谢谢你的时间。

    @PhilDenfer不,slacktee不在/tmp上登录任何东西。
    sudo echo "test" | slacktee.sh 而且很有效。同时使用 su 然后呢 echo "test" | slacktee.sh
    @isp zax cron作业成功运行,因为脚本对数据库进行了备份。

    重定向我得到的stderr slacktee.sh command not found

    1 回复  |  直到 7 年前
        1
  •  1
  •   Andriy Berestovskyy    7 年前

    重定向我得到的stderr懒汉.sh未找到命令。所以使用松弛.hs当root在crontab调度作业中使用它时,as root可以工作(在每日调度脚本中,我成功地使用slacktee)。为什么?

    因为用户的路径变量 root 对于用户 cron

    使用完整路径,而不是仅仅使用“slacktee”。 /usr/local/bin/slacktee 它应该能正常工作。