发布网友 发布时间: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这个编辑器。