Linux服务器定期执行python代码
这个问题我一直觉得比较麻烦,今天还是搞出来了。
一、前提需要知道什么:
1.需要操控linux服务器的终端框。一般是宝塔或者Xshell
2.服务器安装了python环境。没有安装的话可以先安装
3.会把py文件放在服务器某个地方。一般是宝塔->文件->新建后缀名为py的文件,或者用filezilla软件,或者开机放文件(太麻烦)
二、大概过程:
就是安装一个crontab,这是linux定时执行任务的指令。
大概是怎么链接到文件呢?
把py代码的.py文件放一个地方,最好离根目录进,比如位置在 /home/python文件.py
终端输入liuux代码执行crontab指令,将定时执行哪个文件和时间通过一行代码设置即可。
而代码主要就是时间+文件路径,很简单的。
完整步骤(下面代码都要输入在操控linux服务器的终端):
1.安装crontab:
yum install cronie
2.开始更改:
crontab -e
进去东西应该比较多,建议全部删除,打上
*/1 * * * * python /home/python文件.py //每分钟用py执行一次home下的python文件
3.查看看当前任务
crontab -l
如果crontab -e 的文件分多行写,就是执行多个任务,这个指令可以看到目前所有的
步骤就是以上的三个步骤,以下为细节操作
一、输入crontab -e后,如何编辑及保存:
按任意一个26英文键进入修改模式,可按Esc退出修改模式
保存方法是:先按Esc,再按‘ Ctrl ’ + ‘ : ’,输入wq,回车
二、*/1 * * * * python /home/python文件.py 这行代码的组成:
前面是执行时间,这就是cron表达式,可以百度搜下,只是这个最低是分钟没有秒,如果是测试能不能运行的话,建议用这个每分一次的尝试。
比如:23 8 * * * ,就是每天8.23执行一次
*/1 * * * *,就是每分钟执行一次
python:就是用py执行
/home/python文件.py
就是文件的路径,最好是从根目录开始的
三、怎么知道他执行了没呢?
建议用发邮件的代码试验,(前提要会,比如要开协议后才能发),或者其他有效果的代码
一般不写这么麻烦的文章,因为不少东西只需最重要的即可,但这个问题还是详细点会好些。