Linuxcrontab是拿来定期执行程序的命令。当安装完成操作系统以后,默认便会启动此任务调度命令。
crond命令每分钟会定期检测是否有要执行的工作,假如有要执行的工作便会手动执行该工作。
注意:新创建的cron任务,不会马上执行,起码要过2分钟后才可以,其实你可以重启cron来马上执行。
而linux任务调度的工作主要分为以下两类:
1、系统执行的工作:系统周期性所要执行的工作linux 脚本定时执行,如备份系统数据、清理缓存
2、个人执行的工作:某个用户定期要做的工作,比如每隔10分钟检测短信服务器是否有新信,这种工作可由每位用户自行设置
一、crontab的基本用法
分钟(0-59)小时(0-24)日(1-31)月(1-12)礼拜(0-7)
其中星期从0到6,0表示周末,1~7对应礼拜一到礼拜日,也可以用0来表示礼拜日。
上图每位星号*分别对应具体的时间块(分钟、小时、日等)。
执行crontab-l可以列举当前用户的所有定时任务。
假如想要编辑当前用户的定时任务LINUX社区,执行crontab-e,倘若是第一次编辑crontab定时任务,须要先选择想要使用的编辑器,如下所示,输入对应的编号,如输入3node.js安装linux,选择vim编辑器。
[root@centos-160 ~]# crontab -l
no crontab for root
[root@centos-160 ~]# crontab -e
no crontab for root - using an empty one
crontab: no changes made to crontab
crontab常见命令参数:
usage:crontab[-uuser]file
crontab[-uuser][-e|-l|-r]
(defaultoperationisreplace,per1003.2)
-e(edituser'scrontab)
-l(listuser'scrontab)
-r(deleteuser'scrontab)
-i(promptbeforedeletinguser'scrontab)
-s(selinuxcontext)
crontab-e–编辑该用户的crontab,当指定crontab不存在时新建。
crontab-l–列出该用户的crontab。
crontab-r–删除该用户的crontab。
crontab-u–指定要设定crontab的用户名称。
二、crontab使用入门
1.每分钟执行一次命令
*****
简略说明:
例如,每分钟进行一次手工同步时间,就可以在crontab文件中写入下边的crontab句子:
*****chronyc-amakestep
保存、退出编辑器。之后可以通过crontab-l看见我们刚才添加的任务linux 脚本定时执行,等待几分钟就可以看见时间同步了。
2.每5分钟执行一次命令
*/5****
例如每5分钟往文件~/hello.txt中写入一个“helloworld”,就可以在crontab文件中写入下边的crontab句子:
*/5****echo"helloworld">>~/hello.txt
等待一些时间就可以看见~/hello.txt文件上面多了几个”helloworld”。
3.每15分钟执行一次命令
*/15****
4.每位小时的27分执行一次命令
27****
该定时任务每小时执行一次,每次在27分执行。
5.也可以指定多个具体的执行时间点,使用冒号分隔
0,5,10****
将在每位小时的0分、5分、10分分别执行一次。
6.每半小时,即每30分钟执行一次命令
*/30****
假如如今是10点整,这么该任务将分别在10:3011:0011:30…执行。
须要注意的是具体的时间和设置定时任务的时间是无关的,例如我们在10:17设置了定时任务,这么这个定时任务执行的时间不是10:47、11:17、11:47等,而是10:30、11:00、11:30等。
7.每小时的整点即0分时执行一次命令
0****
8.每1小时执行一次命令
0*/1***
假如当前时间是10点,这么上次执行时间就是11点。
0*/1***rm-f/var/log/clickhouse-server/*.log
三、如何查看crontab的日志记录
看/var/log/cron这个文件就可以,可以用tail-f/var/log/cron观察。
四、CronTab句型手动生成器
通过基于网页的crontab句型生成器可以快速地检测crontab句子是否符合预期或则依据我们期望的间隔时间快速生成想要的crontab句子,下边两个网站都是英语的,而且都是很简单的英语,很容易上手。
在crontab.guru中输入crontab句子,网站将会告诉我们这段句子的含意,以及执行的具体时间,可以拿来检验编撰的crontab句子是否正确。
还可以在下边的网站中可以设定我们想要的运行间隔,之后网页会手动生成对应的crontab句子。
也可以反解析Cron表达式:0*/5***