linux下怎么来利用crontab实现计划任务非常有用

发布网友 发布时间:2022-03-20 11:16

我来回答

2个回答

懂视网 时间:2022-03-20 15:38

产品型号:thinkpad E15

系统版本:centos7

软件版本:crontab 1.5

在linux系统中,执行周期的任务,可以使用crontab。crontab会把你指定的工作或任务,按照你设定的周期一直循环执行下去启动crond服务[root@xuegod63 ~]# systemctl start crond 

crontab具体计划任务书写格式:

*  *  *  *  *  command需要执行的命令

分 时 日 月 周 命令

第1列表示分钟1~59 每分钟用*或者 */1表示

第2列表示小时1~23(0表示0点)

第3列表示日期1~31

第4列表示月份1~12

第5列表示星期0~6(星期日用0或7表示)

第6列要运行的命令

 

一行对应一个任务,特殊符号的含义:    

*        代表取值范围内的数字      (每)

/        指定时间的间隔频率 */10   0-23/2

-        代表从某个数字到某个数字       8-17 

      分开几个离散的数字 6,10-13,20

 

创建计划任务

例1:每天凌晨2点1分开始备份数据

[root@xuegod63 spool]# crontab -e           #添加计划任务

1 2 * * *  tar zcvf /opt/grub2.tar.gz  /boot/grub2

[root@xuegod63 ~]# crontab  -l                 #查看

例2:以非root用户添加计划任务。  这里使用bin用户来添加

[root@xuegod63 ~]# crontab -u bin -e

*/10  * * * * echo "aaaaaaa"  >> /tmp/bin.txt

系统级别的计划任务

[root@xuegod63 etc]# vim /etc/crontab

1 2 * * *  root echo "aaaaaaa"  >> /tmp/1.txt

热心网友 时间:2022-03-20 12:46

1、编辑计划任务

crontab -e

编辑计划任务,其实就是编辑一个计划任务的文件,一行一个计划任务。

每行的格式如下:

# m h dom mon dow command

m:minute 分钟 (0-59)h:hour 小时 (0-23)dom:日 (1-31)mon:month 月 (1-12)dow:周 (0-7,其中0和7都代表星期天)command:执行的命令

时间的最小单位是分钟,为了测试出结果,我使用每分钟将当前时间保存到/home/text.txt下来进行测试:

*/1 * * * * date > /home/text.txt

等待一分钟,检查下/home/text.txt文件,如果有看到时间就成功了。除了*号和/符号还有其它符号来设定时间:

符号含义*(星号)表示什么时候都可以,(逗号)如果有多个时段,用逗号分开,例如我想每小时的30分和59分执行命令30,59 * * * * date > /home/text.txt-(减号)一个时间段内执行任务,例如每小时的3-10分执行命令3-10 * * * *date > /home/text.txt/(斜线)每隔多少时间就执行一次命令,例如上例*/1 * * * * date > /home/text.txt就是每隔1分钟执行一下命令

2、查看任务列表

crontab -l

这个命令可以查看计划任务列表,其实就是查看任务文件了。

3、删除计划任务

crontab -r

这个命令建议不要用,这个命令会删除系统上的所有计划任务,我曾在服务器上误删除了一次,结果花了不少时间恢复。建议通过crontab -e编辑,直接删除不需要的那一行,就可以了。

友情提示:

执行的命令中的路径建议使用全路径,这样一定不会有问题。例如我上例就是直接使用/home/text.txt;

在ubuntu下,如果没有选择默认的编辑器,则会提示选择编辑器,如下:

ubuntu计划任务选择编辑器

如果需要重新选择编辑器,运行命令select-editor就可以了 。我习惯用vim这个编辑器。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com