无论如何,Cronjob 都无法工作

无论如何,Cronjob 都无法工作

我已经在 Raspberry Pi 4 上安装了适用于 Raspberry Pi 64 位的 Ubuntu 20.04.1 LTS。我以sudo crontab e普通用户的身份设置了一个 cronjob(实际上会将内容设置为 root 的 crontab),规则是,

@reboot sleep 20 && /home/ubuntu/mount_usb.sh

这应该在启动时运行,对吧?但事实并非如此。我也尝试过按时间间隔运行它(使用运行一次因为我需要该脚本运行一次),就像这样,

1 * * * * run-one /home/ubuntu/mount_usb.sh

这也不起作用。此脚本的内容是,

#!/bin/sh
/usr/bin/tmux new-session -d -s usb_watcher '/usr/bin/python3.8 /home/ubuntu/watch_driver.py'

我也尝试过这样,

#!/bin/sh
source /home/ubuntu/.profile
tmux new-session -d -s usb_watcher '/usr/bin/python3.8 /home/ubuntu/watch_driver.py

像这样,

#!/bin/sh
PATH=/usr/bin/
tmux new-session -d -s usb_watcher '/usr/bin/python3.8 /home/ubuntu/watch_driver.py

如果你想知道这里面有什么watch_driver.py,那么请点击这里

cron 日志如下所示(grep CRON /var/log/syslog),

Sep 10 06:36:43 ubuntu CRON[1869]: (root) CMD (sleep 20 && /home/ubuntu/mount_usb.sh)

这是我执行时看到的sudo systemctl status cron

● cron.service - Regular background program processing daemon
     Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2020-09-10 06:36:42 UTC; 4min 43s ago
       Docs: man:cron(8)
   Main PID: 1813 (cron)
      Tasks: 1 (limit: 4434)
     CGroup: /system.slice/cron.service
             └─1813 /usr/sbin/cron -f

Sep 10 06:36:42 ubuntu systemd[1]: Started Regular background program processing daemon.
Sep 10 06:36:42 ubuntu cron[1813]: (CRON) INFO (pidfile fd = 3)
Sep 10 06:36:42 ubuntu cron[1813]: (CRON) INFO (Running @reboot jobs)
Sep 10 06:36:43 ubuntu CRON[1837]: pam_unix(cron:session): session opened for user root by (uid=0)
Sep 10 06:36:43 ubuntu CRON[1869]: (root) CMD (sleep 20 && /home/ubuntu/mount_usb.sh)
Sep 10 06:37:03 ubuntu CRON[1837]: pam_unix(cron:session): session closed for user root

如果 cron 任务运行,它应该创建一个tmux会话,如下所示,

usb_watcher: 1 windows (created Thu Sep 10 07:21:00 2020)

但事实并非如此。我肯定我遗漏了一些东西。看了一些帖子,也许这与运行 cron 的用户有关,但似乎无法弄清楚,尝试更改用户(从我的常规用户运行),也没有用,也许我做错了。请指教。

相关内容