ubuntu Linux下面,我们很多时候需要定时运行一定的任务,比如每隔10分钟,每天凌晨2点等。任务可以多种多样,但作为数据科学家,我们的很多任务是基于python代码。
一个简单的python任务
加入我们有一个非常简单的python文本需要每天凌晨2点运行。这个python文本名为test.py,代码如下:
a=3
b=5
print(a+b)
我们可以写一个bash script,run.sh 来运行上面的python 程序:
#!/bin/bash
python test.py >> log.txt
把上面的run.sh变为可以执行的文件:
chmod +x run.sh
这意味着在命令行,我们可以运行上面的script,执行上面的python代码,获得a+b的答案并且存入log.txt:
./run.sh
我们接下来的任务是定时运行run.sh script文件即可。
安装crontab
如果你的ubuntu没有安装contab
安装:apt-get install cron
启动:service cron start
重启:service cron restart
停止:service cron stop
检查状态:service cron status
查询cron可用的命令:service cron
检查Cronta工具是否安装:crontab -l
添加crontab 任务
命令为:
crontab -e
接着选择合适的编辑环境,比如vi 或者 nano。每日凌晨2点运行run.sh:
0 2 * * * /home/user_name/run.sh
如果是每5分钟运行一次,规则是这样的:
*/5 * * * * /home/user_name/run.sh
命令编辑完成以后,推出crontab,任务就开始启动了。
通过命令
crontab -l
可以查看所有计划运行的job