在使用Python脚本实现DDNS功能时发现并没有定时运行,在指令后面添加 >/dev/null 2&>1
指令,发现如下报错

00-18-01
Traceback (most recent call last):
  File "/home/c2/DDNS/run.py", line 21, in <module>
    import requests
ImportError: No module named requests

脚本单独运行是正常的,但是已使用Crontab后运行异常,再一番Google后发现,是Crontab不能正确加载Python的环境变量导致,需要做如下修改:

  • 1 直接执行Python所在路径,路径可以使用whereis python 指令来获取,所以我的指令是:
    /usr/bin/python3.6 #此处必须指定使用的python版本,不然报错
    `
    
  • 2 使用绝对路径

/usr/bin/python3.6 /path/to/your/py/run.py
包括脚本需要指定的参数包含路径的,都必须使用绝对路径

以上就是我在使用crontab实现计划任务时的遇到的问题和解决方法,希望能对你有所帮助