crontab 定时执行python脚本
参考网址:http://zhidao.baidu.com/question/145860117.html
<pre id="answer-content-440639755" class="answer-text mb-10" name="code" style="white-space: pre-wrap; word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; padding: 0px; font-family: arial, \'courier new\', courier, 宋体, monospace;"><span style="white-space: pre;"> </span> http://the5fire.com/ubuntu-crontab.html
首先是python程序,就不贴源程序了,把测试crontab的python程序写出来吧。
crontest.py
- #!/usr/bin/python
- #encoding=utf-8
- import os
- outfileName = \’/data5/outcid.txt\’
- outfile = open(outfileName, \’w\’)
- outfile.write(“This is crontab command test!”)
- outfile.close()
然后更改crontest.py的权限,使其可以执行。然后就是用编辑crontab命令了。如果用vi /etc/crontab命令的话,会列出root的已有任务列表,这是针对系统的服务。如果是想用当前用户执行,可以用命令crontab -e 来打开一个vi编辑自己的任务。
crontab -e
输入
*/2 * * * * python /data5/crontest.py >> /data5/crontest.py.log 2>&1
意思是每个两分钟就用python执行/data5目录下的crontest.py,将日志输出值crontest.py.log中,当然,程序crongtest.py中的输入到指定文件的数据是不会输入到该log文件中的,后面那个2>&1的意思是把错误的输出也输出到标准输出(2表示错误,2>表示错误输出,&表示等同于,1表示正确),因此如果运行出错也会把错误输出到之前定义的log中。
以下为有用的参考资料:
<pre id="answer-content-440639755" class="answer-text mb-10" name="code" style="white-space: pre-wrap; word-wrap: break-word; margin-top: 0px; margin-bottom: 10px; padding: 0px; font-family: arial, \'courier new\', courier, 宋体, monospace; "><span style="font-size: 18px;">分钟 小时 日期 月份 周 命令 举例: 每天8点30分运行命令/tmp/run.sh 30 8 * * * /tmp/run.sh 每两小时运行命令/tmp/run.sh 0 */2 * * * /tmp/run.sh</span>
<span style="font-size: 18px;">设置的时候用crontab -e来设置 设置好后可以用crontab -l来查看 设置好后不用重启crontab服务,马上生效 但至少间隔一分钟,也就是说9:50分设置9:51分运行的命令,很可能是不会生效的,至少要设置9:52分运行。 你用哪个用户运行crontab -e,那么执行的时候就是以哪个用户身份执行</span>
<span style="font-size: 18px;">以及这个网址 http://the5fire.com/ubuntu-crontab.html</span>