linux

解决crontab运行python脚本不生效

2018-08-02  本文已影响0人  Bigvan

实习中老板给安排了一个任务,写一个脚本kgtest.py,定时监测我们公司给客户做的各种网站和接口,遇到挂掉的网站第一时间在钉钉群里让机器人通知给相关的负责人。
由于windows的计划任务不是很友好,python脚本写好后,便准备部署在服务器下。
我先是这样做的,我的脚本需要在python3环境下运行,但是我的账户下默认是python2,root下是python3,所以在root下先安装了一些脚本需要用到的包,我先是在root账户下切换到kgtest.py所在路径,输入

chmod +x ./kgtest.sh 

使py脚本具有执行权限,然后输入

crontab -e

编辑时间配置内容如下

*/5 * * * * python /home/fangaozhuo/codes/kgtest.py

这里时间配置的详细解析请自行gg,网上很多,就不再阐述了。
但是并不会每过5分钟运行一次,(网上有人这样做成功了,我也不知道哪里有问题),只能手动运行脚本,这个时候我就在网上各种找,皇天不负有心人,终于找到了解决办法,注意,下面是干货!
第一步,在同路径下创建一个kgtest.sh文件,内容编辑为

#!/usr/bin/bash
cd  /home/fangaozhuo/codes
/root/anaconda3/bin/python kgtest.py

这里简单解析下,为了保险起见,所有的路径都写成绝对路径,比如第二行是我的kgtest.sh和kgtest.py所在的路径,第三行/root/anaconda3/bin/python 这里是服务器下的python3的绝对路径

第二步,cd到kgtest.sh路径下,输入

chmod +x ./kgtest.sh 

使kgtest.sh具有执行权限
任意路径下输入

crontab -e

编辑时间配置内容如下

*/5 * * * * /home/fangaozhuo/codes/kgtest.sh

保存退出后就可以每5分钟运行一次了!

上一篇下一篇

猜你喜欢

热点阅读