Linux定时执行任务命令 >> crontab
一、cron服务
【1】在LINUX中,周期执行的任务一般由cron这个守护进程来处理
【2】启动服务:/sbin/service crond start
【3】关闭服务:/sbin/service crond stop
【4】查看服务状态:/sbin/service crowd status
【5】重启服务:/sbin/service crond restart
【6】重新载入配置:/sbin/service crond reload
二、crontab命令
cron读取一个或多个配置文件,这些配置文件中包含了命令行及其调用时间,cron的配置文件称为crontab
【1】crontab -e 编辑某个用户的任务
【2】crontab -l 列出某个用户的任务计划
【3】crontab -r 删除某个用户的任务
【4】crontab -u 指定一个用户
三、cron文件语法
【1】 * * * * * command 分 时 日 月 周 命令
0-59 0-23 1-31 1-12 0-6 (取值范围,0表示周日)
【2】特殊符号含义
* 代表取值范围内的数字
/ 代表“每”
- 代表从某个数字到某个数字
, 分开几个离散的数字
【3】示例
5 * * * * ls 指定每小时的第5分钟执行一次ls命令 30 5 * * * ls 指定每天的 5:30 执行ls命令 30 7 8 * * ls 指定每月8号的7:30分执行ls命令 30 5 8 6 * ls 指定每年的6月8日5:30执行ls命令 30 6 * * 0 ls 指定每星期日的6:30执行ls命令
【4】更多示例和内容
http://blog.csdn.net/xiyuan1999/article/details/8160998
四、crontab配置问题
【1】查看crontab配置文件,PATH为配置的系统环境
【2】问题:shell命令可以执行脚本,而在crontab中无法执行
原因:需要执行的脚本中,包含一些执行命令(比如apktool),而命令的安装路径(比如/usr/local/bin/apktool)不在crontab的PATH中,所以导致command not found
解决:使用crontab执行脚本,脚本中的命令和输出,都使用绝对路径
【3】可以把结果输出和错误信息,重定向到log文件
五、参考链接
【1】http://blog.csdn.net/xiyuan1999/article/details/8160998
【2】http://blog.csdn.net/xiyuan1999/article/details/8160977