Linux22_定时和延时命令

date命令 

=================================================

at命令:延时执行一个程序

可以用at命令来设定一个程序的执行时间

at命令只能让程序执行一次;

在指定时刻执行程序;

先用at命令后接想要程序执行的确定时刻,再输入你想要在以上指定时刻执行的命令;

ctrl+D退出at;会显示<EOT>

如果希望明天执行: at 22:10:10 tomorrow

指定日期执行:at 22:10:10 11/30/20   //2020年11月30日

在指定间隔后执行程序:at now+10 minutes   //10分钟之后

=================================================

atq命令:列出正在等待执行的at任务

q是queue的首字母,表示“队列”

atrm命令:删除正在等待执行的at任务

rm是remove的缩写

atrm命令后接任务编号,用于删除对应编号的任务

==============================================

sleep命令:休息一会儿

用分号隔开多个命令,使之一个接一个执行;

和管道不太一样,管道是前一个命令的输出作为后一个命令的输入;

用分号隔开的命令,并没有关联;

touch file.txt; rm file.txt

创建file.txt,然后再删除它

在两条命令之间插入等待时间

touch file.txt; sleep 10; rm file.txt

还可以带时间单位:

m 分钟

h 小时

d 天

==================================================

&&和||符号

命令行中,用于分隔两个命令,使命令分开执行

&&:&&号前的命令执行成功,才会执行后面的命令;

||:||号前的命令执行失败,才会执行后面的命令;

分号:不论分号前的命令执行失败与否,都执行分号之后的命令;

==================================================

crontab命令 :定时执行程序

at命令只能执行某个或几个命令一次

crontab却可以重复执行命令

一般来说,CentOS下使默认安装了crontab程序;

不过有的Linux发行版可能没装crontab;

前期配置工作:

修改.bashrc这个文件,这是Bash、shell的配置文件

让nano编辑器称为我们默认的文本编辑器;

CentOS一般默认编辑器是vi,比较难学;

在.bashrc文件中加入 export EDITOR = nano

echo "export EDITOR= nano" >> ~/.bashrc

再用source命令立即生效

crontab是一个命令,用来读取和修改名为crontab的文件;

crontab文件包含了你要定时执行的程序列表,也包含了执行的时刻;

crontab用于修改crontab文件,cron用于实际执行定时的程序;

crontab的三个主要参数

-l  显示crontab文件

-e 修改crontab文件

-r  删除crontab文件

编辑的格式: m h dom mon dow command

上面这句话给出了crontab中每行指令的书写格式

m 分钟

h  小时

dom  缩写day of month,一个月的哪一天

mon  表示月份 month

dow   表示星期几 day of week

command  表示需要定时执行的命令

每天22点10分都在家目录下创建file.txt文件

  10 22 * * * touch ~/file.txt

路径最好用绝对路径

删除crontab文件

crontab -r 

==================================================

原文地址:https://www.cnblogs.com/grooovvve/p/12466414.html