Cronjob没有触发[重复]
Posted
技术标签:
【中文标题】Cronjob没有触发[重复]【英文标题】:Cronjob not firing [duplicate] 【发布时间】:2022-01-20 04:31:57 【问题描述】:我一定是在做一些可笑的错误,但我没有看到。
我想跑步:
python3 /home/web/Code/python/hourly-script.py
从命令正常运行,它会显示一个通知弹出窗口。
在crontab -e
我输入:
* * * * * python3 /home/web/Code/python/hourly-script.py
为了测试它的运行,我应该每 1 分钟得到一个弹出窗口。我没有收到任何弹出窗口。
在命令行中,当我运行 grep CRON /var/log/syslog
时,我得到:
Dec 17 07:44:01 web-XPS-15-9570 CRON[16643]: (web) CMD (python3 /home/web/Code/python/hourly-script.py) Dec 17 07:45:02 web-XPS-15-9570 CRON[16879]: (web) CMD (python3 /home/web/Code/python/hourly-script.py) Dec 17 07:46:01 web-XPS-15-9570 CRON[17114]: (web) CMD (python3 /home/web/Code/python/hourly-script.py) Dec 17 07:47:01 web-XPS-15-9570 CRON[17489]: (web) CMD (python3 /home/web/Code/python/hourly-script.py) Dec 17 07:48:01 web-XPS-15-9570 CRON[17988]: (web) CMD (python3 /home/web/Code/python/hourly-script.py) Dec 17 07:49:01 web-XPS-15-9570 CRON[18287]: (web) CMD (python3 /home/web/Code/python/hourly-script.py) Dec 17 07:50:01 web-XPS-15-9570 CRON[18544]: (web) CMD (python3 /home/web/Code/python/hourly-script.py)
这表明它每分钟都在运行,那么为什么我没有看到弹出窗口?
我在 ubuntu 上运行。 python文件本身是可执行的:
-rwxrwxr-x 1 web web 148 Dec 17 07:34 hourly-script.py
【问题讨论】:
这是真正的 dup:***.com/q/16519673/5378816 【参考方案1】:它可能通过定义python
可执行文件的完整路径来修复。它看起来像这样:
* * * * * /usr/bin/python3 /home/web/Code/python/hourly-script.py
要仔细检查python
解释器的安装路径,请使用which
命令:
$ which python
/usr/bin/python
【讨论】:
感谢您的回答,不幸的是这不是问题【参考方案2】:直接转到您的目录并执行它
你可能需要定义如下路径:
echo $PATH
crontab 的第一行应该是这样的(echo $PATH
的输出)
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
* * * * * cd /home/web/Code/python && python3 hourly-script.py
【讨论】:
我已经得到了路径名中的目录,这不会有什么不同 尝试将hourly-script.py
替换为houry_script.py
【参考方案3】:
对不起。问题是错误的。这不是 cronjob 没有触发的情况,而是通知发送在 CRON 内部不起作用。
所以在我的 python 脚本中我需要使用这个:
os.system('XDG_RUNTIME_DIR=/run/user/$(id -u) notify-send Alert "Notification Text"')
【讨论】:
以上是关于Cronjob没有触发[重复]的主要内容,如果未能解决你的问题,请参考以下文章
K8S CronJob简单入门,和手动重复操作Say Goodbye!
K8S CronJob简单入门,和手动重复操作Say Goodbye!