Linux学习笔记
最近入坑linux了,用到的都挺杂的。整理一下笔记方便自己后续查看!有不对的勿喷!!以前都只是贪方便复制粘贴,最近工作要求随用随敲,挺懊恼的。捡起来,肥宅也有明天!
Crontab命令
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。我们理解成让程序定期执行一个工作任务,完成你想要的操作就行了。
使用前一定要确认有安装crontab才能用哦!
[1] 安装cron的主程序
yum install vixie-cron
[2] 安装用来安装、卸载或列举用来驱动cron守护进程的表格的程序
yum install crontabs
[3] 启动和关闭服务
service crond start //启动
service crond stop //关闭
service crond reload //重新载入配置
[4] 其他
service crond status //查看状态
chkconfig crond on //开机自启动
chkconfig crond off // 取消开机自启
cron表达式:
cron表达式一开始学习的时候看到的都是从分钟开始的,后面看见从秒开始并且还可能有年的表达式可以说是一脸懵逼。
【1】从分钟开始
语法:
* * * * * program
{解析:上述命令按照顺序表示的意思为分、时、日、月、星期、程序}
示例:
(1)* * * * * /bin/ls #每分钟执行一次/bn/ls命令
(2)0 17 * * 1-5 /bin/ls
#周一到周五每天下午5点执行一次/bin/ls命令
(3)0 */2 * * * /sbin/service httpd restart #每两小时重启一次apche
【2】从秒开始,没有年
* * * * * * program
{解析:上述命令按照顺序表示的意思为秒、分、时、日、月、星期、程序}
示例:
(1) */5 * * * * ? [program]#每隔5秒执行一次
(2)0 */1 * * * ? [program] #每隔1分钟执行一次
(3)0 0 0,13,18,21 * * ? [program]
# 每天的0点、13点、18点、21点都执行一次
(4)0 20 18 L * ? [program]
#每月最后一日的下午18:20触发
【2】从秒开始,有年
* * * * * * * program
{解析:上述命令按照顺序表示的意思为秒、分、时、日、月、星期、年、程序}
示例:
(1)0 18 20 ? * 1L 2021
# 2021年的每月的最后一个星期日上午18:20触发
注意:
(1)?只能用在月和星期两个地方表示任意值,并且当月用了*后,星期就只能用?。
(2)L表示最后
-----------------------------------------------------------------------------------------
个人学习笔记记录,欢迎一起讨论一起进步!
看到cron表达式后我就百度学了一下,都是从分钟开始的。但是日常用到的都是从秒开始的。不知道是版本原因还是就是有这么多个用法。看的时候最好数一下参数个数确认一下,以免造成不必要的误会。
如果有小伙伴知道这个答案欢迎留言告诉我哦!