Linux(centos 8)定时运行python脚本

2022-11-11 13:49:02 浏览数 (2)

装入py环境并与yum软链接

装入crond与crontab

这些自己一搜就有

可以在安装好后写一个简单的自动化脚本测试

直接:

crontab -e

0 * * * * echo "测试" >> test.txt

就可以查看这个文件中是否有记录,来盘断运行

其次Python需要一些依赖

可能我们在linux系统中跑py程序是会出现:

python缺少依赖的信息

我们需要在脚本中添加如下创建python虚拟环境

在这之前需要拿到所有需要的依赖放入比如/home中(这里需要从自己的开发环境导出依赖,自行百度)

使用venv创建虚拟环境并pip install依赖,这里不多说,可以自行百度

source /opt/testVenv/bin/activate

image.pngimage.png

具体步骤:

创建sh脚本如上图

source是开启py虚拟环境

python 自己的py文件目录

而后crontab -e

0 0 7 * * cd /root/auto_call; ./start_auto_call.sh >> auto_call.log 2>&1

./后面的是sh脚本文件路径 写入自己的路径,后面的不需要改动

前面007是每天七点运行脚本

crond运行注意事项:

crond start启动

crond restart/stop为重启或者关闭

crontab -e编辑自动化任务

crontab -l查看自动化任务

如果 crond start报错尝试下面的命令,这是由于centos命令换了

systemctl restart crond.service

注意:可能由于操作不当开了很多线程,会导致

crond服务多次运行脚本

此时可以查看线程树:pstree -p

kill 线程pid

关闭多余线程就可以解决这个问题

借鉴: 链接

0 人点赞