signed

QiShunwang

“诚信为本、客户至上”

Linux中添加定时任务crontab

2020/12/28 15:59:17   来源:

一、首先查看Linux的定时任务列表

crontab   -l

在这里插入图片描述

二、新建定时任务的命令是,想添加新的定时任务的话输入i进行添加,类似于vi的编辑;

crontab   -e

三、定时任务中的时间的说明,时间的格式大概是这样的* * * * * 五个*号代表的意思分别是分,时,日,月,周的顺序来排列的

如果想每分钟都执行一次的话就采用默认的 * * * * *,如果想每五分钟执行一次可以 */5 * * * * ,如果是每两个小时执行一次的话那就是 * */2 * * *来设置;

下面这个图就是一个例子:

在这里插入图片描述

四、定时任务时间后面的command如何书写

用&&连接两个命令,前一命令执成功(返回0)下一命令才会执行。
在执行某个命令时,有时需要依赖前面的命令是否执行成功。

(一)、&&

1.格式
command1 && command2
2.含义
&&左边的command1执行成功(返回0表示成功)后,&&右边的command2才能被执行。
3.实例
当把文件sql.txt复制一份为sql.bak.txt成功,然后显示副本sql.bak.txt

cp sql.txt sql.bak.txt && cat sql.bak.txt 
(二)、||

1.格式
command1 || command2
2.含义
如果||左边的command1执行失败(返回1表示失败),就执行&&右边的command2。
3.实例
打印1111.txt的第一列内容,若执行不成功则执行显示facebook.txt的内容

awk '{print $1}' 1111.txt || cat facebook.txt   
(三)、()

如果想执行几个命令,则需要用命令分隔符分号隔开每个命令,并使用圆括号()把所有命令组合起来。
结合||和&&可以实现复杂的功能。
1.格式(command1;command2;command3;…)
2.实例
使用多个命令,如果sort命令执行成功,先将排序后的文件备份到/root/backup/目录下,然后再打印
打印facebook.txt文件失败就发邮件告知root用户,并关机

lp facebook.txt.sorted ||(echo "It was not submitted succuessfully" | mail root;init 0) 

最后有一个注意事项:

用crontab -e 编辑的任务在crontab: installing new crontab后三分钟之内是不会执行的,所以你在测试的时候,至少时间后推三分钟!
控制台回显“crontab:installing new crontab” 表示添加调度任务成功。
参考:https://www.cnblogs.com/chenggang816/p/10303508.html
https://blog.csdn.net/qq_34201858/article/details/87987879