【发布时间】:2021-11-24 20:12:39
【问题描述】:
我在安装了 Ubuntu 18.04 的 Raspberry Pi 上的虚拟环境中运行了一个名为 opencanary 的程序。我想使用 crontab 每 30 分钟重新启动一次。为了进行测试,我将脚本设置为每 3 分钟运行一次,如下所示。 当我手动执行脚本时,它工作正常。当使用 crontab 运行它时它不会,我无法找出它失败的原因。
这是我的脚本的样子:
#!/bin/bash
SHELL=/bin/sh
. /home/pi/.bashrc
source /home/pi/canary-env/bin/activate && cd opencanary && opencanaryd --restart
创建脚本后,我将其添加到 crontab -e:
*/3 * * * * /home/pi/restartOC.sh>>test.log
当我查看 cron.log 文件时,我可以看到脚本已执行:
Sep 29 08:33:01 DiskStation CRON[20880]: (pi) CMD (cd /home/pi && sh restartOC.sh>>test.log)
test.log 文件保持为空。
有人知道我做错了吗?
编辑 05.10.2021 在 opencanary 的 github 上,有人告诉我不必使用“cd opencanary”。我听从了建议并编辑了我的脚本:
#!/bin/bash
SHELL=/bin/sh
. /home/pi/.bashrc
source /home/pi/canary-env/bin/activate && opencanaryd --restart
手动执行时脚本仍然有效,但从 cron 运行脚本时问题仍然存在。
【问题讨论】: