cron定时任务
crond服务操作命令
/sbin/service crond start //启动服务
/sbin/service crond stop //关闭服务
/sbin/service crond restart //重启服务
/sbin/service crond reload //重新载入配置
/sbin/service crond status //查看服务状态
一、crontab命令选项
#crontab -u <-l, -r, -e>
-l:列出某个用户的任务计划
-r:删除某个用户的任务
-e:编辑某个用户的任务
Minute Hour Day Month Week command
分钟 小时 天 月 星期 命令
- - - - - command
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字
二、/etc/crontab
一、/etc/crontab文件和crontab -e命令区别
1、格式不同
前者
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
后者
#50 1 * * * command
2、使用范围
修改/etc/crontab这种方法只有root用户能用,这种方法更加方便与直接直接给其他用户设置计划任务,而且还可以指定执行shell等等,
crontab -e这种所有用户都可以使用,普通用户也只能为自己设置计划任务。然后自动写入/var/spool/cron/usename
四、cron任务文件
cron 会从如下这些地方读取安装的任务:
/etc/anacrontab
这个文件存着系统级的任务。它主要用来运行每日的(daily),每周的(weekly),每月的(monthly)的任务。一般不在此文件安装自己的任务
/etc/cron.d/
此目录下存放的是系统级任务的任务文件。
/var/spool/cron/
此目录下存放各个用户的任务文件。各个用户的任务存放在以自已用户名为文件名的任务文件中。此文件中的指令行没有用户域。
五、日志文件
可以通过查看文件/var/log/cron查看任务的运行情况。
新任务安装后或任务修改后不需要重启cron进程即可生效。
六、例子:每天执行一次的日志清理任务
#!/bin/sh
find /opt/taobao/install/antdnsfilter/logs/antdnsfilter -type f -ctime + | xargs rm -f
保存文件cleanlog,放到/etc/cron.daily/目录下,文件权限. 每天03:40:01执行
七、例子:进程保活,每分钟执行一次
* * * * * root /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&1
保存文件monitor,放到/etc/cron.d/目录下,文件权限,否则BAD FILE MODE。
保留个空行,我自己调试的时候,没空行的情况会不执行。
* * * * * root /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&
* * * * * root sleep && /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&
* * * * * root sleep && /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&
* * * * * root sleep && /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&
* * * * * root sleep && /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&
* * * * * root sleep && /opt/taobao/install/antdnsfilter/antdnsfilter/bin/checkService.sh > /dev/null >&
八、查看所有用户的crontab任务
cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}
关于linux服务器进程监控及自动重启的简单方案 : http://blog.csdn.net/ljxfblog/article/details/40362229
http://blog.chinaunix.net/uid-26588712-id-3196464.html