持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第11天,点击查看活动详情
大家好,我是阿萨。最近用到了一个Linux命令crontab。用它来定时运行linux的任务。这个有点类似windows里的定时任务。今天主要记录下我用到的它的用法。
命令用法:
minute hour day month week command
它的写法就是这么简单。现在分别介绍下这几个参数的含义。其实顾名思义,很多人看到这个命令就知道怎么用。但是还是简单介绍下,避免有误解。
minute:就是你想在那一分钟运行这个任务。取值范围是0-59。
hour:你想在那些时刻运行任务。取值范围0-23。
day: 你想在那一天运行这个任务,取值范围就是每个月的天数。
month: 你想在那个月份去运行这些任务,取值范围是1-12个月,也可以写英文Jan,Feb等
week:你想在一个星期中的那一天运行这些任务。可以是英文,也可以是数字。
command: 就是你想运行的那个任务是什么。
上面表示时间的参数都可以设置成如下特殊字符:
- 星号()表示取值范围内的所有值都会执行。比如 hour 如果是个,表示每个小时都会执行一次。
- 短折线(-)表示一段取值范围,比如hour 取值 10-16,表示10,11,12,13,14,15,16点都会运行任务。
3. 逗号(,)表示,隔开的值都会运行。比如hour 取值1,10,18,表示1点,10点和18点都会运行这个任务。
4. 斜杠 (/)表示频率。在斜杠之前的取值范围内,以斜杠后的频率执行。 如果hour 取值 1-10/2,表示1点到10点,每隔2个小时都会执行一次。
学会了语法。我们添加个定时任务试一下。
列出所有定时任务。
crontab -l
这个命令会列出当前用户crontab 文件内容。
编辑crontab
crontab -e
使用Vim去编辑 crontab 文件内容。
具体例子:
- command 每隔一分钟运行一次命令
30 * * * * command 每个小时的30分的时候执行一次命令。
0 8 * * * command 每天8点执行任务
0 8 1 ,15 * * command 每个月1号和15号的8点执行任务
0 8 1,15 3-5 * command 3月到5月的1号,15 号8点执行命令。
我用到的都列出来啦。你学会了吗?
如果喜欢今天的文章,欢迎点赞和关注。