【发布时间】:2018-12-27 22:39:55
【问题描述】:
我阅读了其他相关主题,但它们对我没有帮助。
我有一个 shell 脚本,它检查我的 python 脚本是否没有运行,它会运行它。否则它将只是跳过并且什么都不做。
当我使用时它完全有效: bash myshellscrip.sh 我得到了我想要的结果,那就是做一些任务并向一些通讯员发送电子邮件。但是,当我尝试在 crontab 上运行这个特定的 shell 脚本时,它不会发送电子邮件,也不会执行其他任务。 我在 crontab 上尝试了以下方法,但都没有奏效。
* * * * * /bin/bash /path/to/my/script/myshellscrip.sh
* * * * * /bin/bash /path/to/my/script/myshellscrip.sh >> /some/other/path/output.txt
当我将更改保存到“output.txt”文件时,它会创建该文件,但不会发送电子邮件或执行其他任务。
我也尝试了重启选项,因为我也需要这个程序在启动时运行,但这不起作用:
@reboot /bin/bash /path/to/my/script/myshellscrip.sh
有人知道怎么解决吗?
编辑:
当我检查最简单的 shell 脚本时,例如:
#!/bin/sh
/usr/bin/python /home/pi/DCA/code.py
我的 crontab 在我的 output.txt 文件中没有任何输出,尽管我的 code.py 也有一些输出。
但是,当我使用非常简单的 python 代码时,例如只有一个“打印”语句,它将运行并将输出保存到 output.txt 中。
【问题讨论】:
-
发布脚本内容
-
您可能正在使用需要您的环境或交互式 shell 才能正常工作的命令。 see here
-
请通过cron tag wiki 上的调试步骤并使用错误日志和其他结果更新您的帖子
-
改用
bash -x执行它;并将标准错误重定向到 output.txt。您这样做的方式是丢弃错误消息。 -
@Sunitha。脚本最简单的内容是:#!/bin/sh /usr/bin/python /home/pi/DCA/code.py