语句:
0 0 * * * /usr/sbin/ntpdate 10.0.0.155>>/date/logs/ntp.log 2>&1
基本格式
* * * * * command
0 0 * * * /usr/sbin/ntpdate x.x.x.x
分 时 日 月 周 命令
第1列表示分钟1-59 每分钟*或者*/1.表示
第2列表示小时1-23(0表示0点)
第3列表示日期1-31 每天*表示
第4列表示月份1-12 每月*
第5列标识号星期0-7(0,7表示星期天)
第6列要运行的命令 /usr/sbin/ntpdate x.x.x.x
段 | 含义 | 取值范围(整数) |
---|---|---|
第一段 | 代表分钟 | 00-59(00或者0) |
第二段 | 代表小时 | 00-23 |
第三段 | 代表日,天 | 01-31 |
第四段 | 代表月份 | 01-12 |
第五段 | 代表星期,周几 | 0-7(0和7都代表星期日) |
Crontab –l 查看当前用户的任务计划 ,查看crontab 文件内容
Cat /var/spool/cron/root 任务计划的配置文件
Crontab –e 编辑任务计划 (自动定期运行) 编辑crontab文件内容
重启/etc/init.d/crond restart
如何查看进程
[root@MongoDB ~]# ps -ef |grep crond root 7443 1 0 03:44 ? 00:00:00 /usr/sbin/crond -n root 7446 7410 0 03:45 pts/1 00:00:00 grep --color=auto crond
修改crontab 不重启服务能生效
修改后保存配置文件就好了
crontab 会根据系统时间,每一分钟扫描文件,该文件通常存放于/etc或者/etc之下的子目录中,而这个文件只能由系统管理员来修改,
crontab常常在后台运行,每一分钟检查是否有预定的作业需要执行查看当前是否有定时任务的。所以修改文件即可不需要重启
* * * * * command # 每分钟执行一次 0 3 * * * command # 每天凌晨3点执行一次 0 3 1 * * command # 每个月1号的凌晨3点执行一次 0 3 1-10 * * command # 每个月的1-10号的凌晨3点执行一次 0 3 1,10,20 * * command # 每个月的1号/10号/20号的凌晨3点执行一次 */2 * * * command # 每两分钟执行一次,也就是能被2整除的分钟(2,4,6,8,....) * * * */2 * command # 每两个月执行一次,也就是能被2整除的月份(2,4,6,8,10,12)
30 */6 * * * /bin/bash/scripts/test.sh # 每6个小时的半点执行 30 3,12 * * * /bin/sh /scripts/test.sh # 每天的凌晨3点30或12点30 执行 脚本 30 8-18/2 * * * /bin/sh /scripts/test.sh # 早上8点到18点每隔2个小时 的半点执行 脚本 45 4 1,10,22 * * /bin/sh /scripts/test.sh # 每个月1,10,22号 凌晨4点45分 执行脚本 10 1 * * 6,0 /bin/sh /scripts/test.sh # 每周六 周日的 凌晨1点10分 执行脚本 0,30 18-23 * * */bin/sh /scripts/test.sh # 8到23点 整点和半点执行 脚本 00 */1 * * * //bin/sh /scripts/test.sh # 每1小时 的整点执行脚本 0 11 * 4 1-3 /bin/sh /scripts/test.sh # 4月的星期一到星期三的上午11点整执行脚本 0 9 5 5 * /bin/sh /scripts/test.sh # 5月5日上午9:00执行脚本 30 9 * * 7 /bin/sh /script/test.sh # 每周日上午 9:30 执行脚本
特殊符号 | 含义 |
---|---|
* | *号,表示任意时间都,实际就是“每”的意思 |
- | 减号表示分隔符,表示一个时间范围,区间段,如17-19点,例如:每天的17,18,19点的00分执行任务。00 17-19 * * * cmd |
, | 逗号,表示分隔时段的意思例如每天的5点10点00分执行任务,00 5,10 * * * cmd |
/n | n代表数字,即“每隔n单位时间”,例如:每10分钟执行一次任务可以写成_/10_* * * cmd,其中,_/10,_的范围是0-59,因此也可以写成0-59/10 |
总结
1)定时任务要加注释
2)如果已经要定向到文件(把命令或脚本的结果放到文件)中,结尾不要有>/dev/null 2>&1
4)定时任务中的路径一定要绝对路径
5)crond服务必须首先开启
6)查看定时任务日志 tail /var/log/cron
每5分钟和互联网时间做一次同步
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com
echo "*/2 * * * * /usr/sbin/ntpdate ntp2.aliyun.com > /dev/null 2>&1" > /var/spool/cron/root