转载自:https://blog.youkuaiyun.com/ybsun2010/article/details/9972403
今天用python写了处理文件的程序,但是因为快要下班了,所以想用crontab来完成。搜了一下,大部分都是执行的shell脚本,自己根据搜索的资料写了测试了几次,亲测能用,整理一下。
参考网址: http://zhidao.baidu.com/question/145860117.html
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()
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中。
以下为有用的参考资料:
分钟 小时 日期 月份 周 命令
举例:
每天8点30分运行命令/tmp/run.sh
30 8 * * * /tmp/run.sh
每两小时运行命令/tmp/run.sh
0 */2 * * * /tmp/run.sh
设置的时候用crontab -e来设置
设置好后可以用crontab -l来查看
设置好后不用重启crontab服务,马上生效
但至少间隔一分钟,也就是说9:50分设置9:51分运行的命令,很可能是不会生效的,至少要设置9:52分运行。
你用哪个用户运行crontab -e,那么执行的时候就是以哪个用户身份执行
以及这个网址 http://the5fire.com/ubuntu-crontab.html