crontab设置定时任务

crontab的语法格式:

 

 

格式如:* * * * * 执行的任务或脚本(绝对路径)

第一个“ *”: 一小时当中的第几分钟:0-59

第二个“ *”: 一天当中的第几小时:0-23

第三个“ *”: 一个月当中的第几天:1-31

第四个“ *”: 一年当中的第几月: 1-12

第五个“ *”: 一周当中的星期几 :0-7( 0和7都代表星期日)

* 代表任何时间。 比如第一个“ *” 就代表一小时中每分钟都执行一次的意思。

, 代表不连续的时间。 比如“ 0 8,12,16 * * * 命令” ,就代表在每天的8点0分, 12点0分, 16点0分都执行一次命令

- 代表连续的时间范围。 比如“ 0 5 * * 1-6命令” ,代表在周一到周六的凌晨5点0分执行命令

*/n 代表每隔多久执行一次。 比如“ */10 * * * * 命令” , 代表每隔10分钟就执行一遍命令

例子:

5 22 * * * 命令 :在22点5分执行命令

0 17 * * 1 命令 :每周1 的17点0分执行命令

0 5 1,15 * * 命令 :每月1号和15号的凌晨5点0分执行命令

40 4 * * 1-5 命令 :每周一到周五的凌晨4点40分执行命令

*/10 4 * * * 命令 :每天的凌晨4点, 每隔10分钟执行一次命令

0 0 1,15 * 1 命令 :每月1号和15号, 每周1的0点0分都会执行命令。 注意:星期几和几号最好不要同时出现(同时出现时,作用等于or), 因为他们定义的都是天,非常容易混乱。

*/5 * * * * /bin/echo ”11” >> /tmp/test:每5分钟将“11”写入test文件

5 5 * * 2 /sbin/shutdown -r now:每周二5点5分重启

0 5 1,10,15 * * /root/sh/autobak.sh:每月1、10、15号的凌晨5时整执行此脚本

查看自启动列表

chkconfig --list(centos6)
systemctl is-enabled crond.service

查看目前是否已经启动

ps aux | grep crond

启动和设置为自启动(crontab一般为系统自启动,无需进行如下设置)

 启动:service crond restart(centos6),systemctl start crond.service(centos7)

 设置为自启动:chkconfig crond on (centos6),systemctl enable crond.service(centos7)

使用crontab

crontab [选项]

选项:

  -e: 编辑crontab定时任务

  -l: 查询crontab任务

  -r: 删除当前用户所有的crontab任务

posted @ 2022-12-01 14:10  方方的鱼  阅读(1879)  评论(0编辑  收藏  举报