crontab定时任务找不到模块
最近写一个爬虫任务,需要定时去进行运行,但是crontab始终找不到自己定义的模块位置,如果直接用python test.py运行,程序是直接可以运行的。
- 首先去查看是否配置了python的工作路径,vim /etc/profile
我已近配置了python的工作目录,但是还是找不到文件,但是查阅资料解决办法是:
‘* * * * * source ~/.bashrc; /opt/test.py’
在bashrc添加工作目录,然而还是不能解决。 - 没办法,决定写个shell脚本,通过crontab定时执行shell脚本,依旧不行。
了解到 crontab不是Linux内核的功能,而是依赖一个crond服务,所以python程序可以直接运行,但是用定时任务就会出错。 - 最后我在shell脚本里指定了pythonpath,终于可以定时启动了,
执行命令:
crontab -e
0 * * * * /opt/test.sh
service crond start
一个一小时执行一次的定时任务完美运行。