立即登录

python定时执行脚本 Linux 简单使用crontab命令(定时任务)

11/28 00:19:05

python定时执行脚本 Linux 简单使用crontab命令(定时任务)

久了不用,经常忘记,记录一下crontab的简单用法,以利于未来用到或忘记时快速查阅。

以下命令是在Ubuntu Linux上的终端执行的,可能有些命令不适用于其他版本的Linux。

如何知道Linux系统是否安装了cron服务?

有三个方法可以知道Linux系统是否安装了cron服务,方法一是使用apt命令,方法二是使用dpkg命令python定时执行脚本,方法三是使用systemctl命令。

python定时执行脚本_linux定时执行python脚本_shell定时执行脚本

查看Linux是否安装cron服务

方法1: 使用apt命令

apt list cron --installed

方法2: 使用dpkg命令

# 命令1
dpkg -l cron

# 命令2
dpkg -l | grep cron
# 命令3
dpkg -l | cut -d " " -f3 | grep cron
# 命令4 可以查看cron服务被安装在哪些路径下
dpkg -L cron

方法3: 使用systemctl命令

# 查看cron服务的状态
systemctl status cron

shell定时执行脚本_python定时执行脚本_linux定时执行python脚本

cron服务的安装、开机自启、启动、停止、重启、查看状态

# 安装cron服务
sudo apt update
sudo apt install cron
# 激活cron服务 开机自启(开机时自动启动)
sudo systemctl enable cron
# 禁用cron服务 开机自启
sudo systemctl disable cron
# 查看cron服务 是否激活了开机自启

python定时执行脚本_linux定时执行python脚本_shell定时执行脚本

linux定时执行python脚本_shell定时执行脚本_python定时执行脚本

使用crontab命令设置定时任务的步骤

步骤1: 安装和启动cron服务。如何安装cron服务?如何启动cron服务?前文已列出解决方法。

步骤2: 编写一个定时任务需要执行的脚本。这里我用python写了一个名叫create_machine_prize.py的脚本。

linux定时执行python脚本_shell定时执行脚本_python定时执行脚本

用python写了create_machine_prize.py

步骤3: 确定脚本执行的时间点。我这里希望脚本每10分钟执行一次,所以,该脚本的crontab任务配置如下:

*/10 * * * * /usr/bin/env bash -c 'cd /data/web/m.xyz.com && /data/web/m.xyz.com/env/bin/python -m cron_jobs.create_machine_prize' > /dev/null 2>&1

步骤4: 执行crontab -e命令,进入crontab任务编辑界面,复制步骤3的crontab任务配置,然后粘贴进去,保存后退出辅助卡盟,执行crontab -l命令查看刚才添加的任务是否存在。

linux定时执行python脚本_python定时执行脚本_shell定时执行脚本

执行crontab -e命令后进入的编辑环境,就是vi编辑器的环境,只要会用vi编辑器,编辑crontab任务的配置没有任何难度。

命令执行过程如下所示:

helper@hgdm:~$ crontab -e
crontab: installing new crontab
helper@hgdm:~$ crontab -l
*/10 * * * * /usr/bin/env bash -c 'cd /data/web/m.xyz.com && /data/web/m.xyz.com/env/bin/python -m cron_jobs.create_machine_prize' > /dev/null 2>&1

python定时执行脚本_linux定时执行python脚本_shell定时执行脚本

执行crontab -e和crontab -l

步骤5: 确定一下任务是否正确执行了。这里,我把任务的处理结果写入了数据库python定时执行脚本,我去数据库查看一下是否有数据就知道了。

其实,测试时最好把任务的输出结果写入到一个日志里,以利于出错时高效排错。若需写入日志,可以使用以下crontab配置:

*/10 * * * * /usr/bin/env bash -c 'cd /data/web/m.xyz.com && /data/web/m.xyz.com/env/bin/python -m cron_jobs.create_machine_prize' >>/home/helper/logs/create_machine_prize.log 2>>&1

最后

本文只是写了crontab的简单使用。如何配置任务的执行时间点,需要去查相关资料了。

来源:【九爱网址导航www.fuzhukm.com】 免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

最新资讯