对于一些命令我们并不是想让其马上执行,而是等待一定时间或者到某个时间再执行,我们需要怎么做?
at命令:延时执行一个程序(通过:apt-get install at 进行安装)
命令使用方法:
1、输入:at 【时间】
这个时间可以是具体的时间,例如:at 15:32 12/1/15 意思是在2015年12月1日15点32分执行。又或者:at now +10 minutes 意思是在10分钟后执行
2、输入想要执行的命令,例如:mkdir text 意思是在刚刚输入的时间,在本目录下建立一个text目录
当建立完成后可以通过atq命令进行查看,还可以用 atrm【任务号】对任务进行删除
sleep命令:休息一下
本来在终端输入:touch a.txt ; rm a.txt 会直接执行建立和删除
但是如果在中间加入了slee命令,则可以造成不同的效果
例如:touch a.txt ;sleep 10min ; rm a.txt 意思是,建立a.txt文件,然后15分钟后删除
接下来说一下||,&&,:三个逻辑符号
||符号表示:前面的命令执行失败,则后面的命令得以执行
&&符号表示:前面的命令执行成功,则后面的命令得以执行
:符号表示:无论前面是否执行成功,后面命令都可以执行
刚刚所说的at命令只是在具有延时执行一个命令的能力,下面说的这个命令将会无比强大,可以定时多次执行命令
crontab命令:定时执行程序
系统本身自带没有这个命令,需要安装之后使用
Ubuntu系列的系统输入:sudo apt-get install cron(安装) service cron start (启动)
CentOS系列的系统输入:sudo yum install vixie-cron crontabs (安装) service crond start (启动)
注:这里如果想用nano编译器来配置crontab命令的话,就输入:vim .bachrc 在最后一行输入 export EDITOR=nano(个人觉得vim就很好,没必要用nano)
重要参数:
-l:查看crontab文件,可以查看现在写好的crontab命令
-e:修改crontab文件,输入:crontab -e 就可以创建修改crontab文件
-r:删除crontab文件,个人建议不适用
废话了那么多,现在终于正式可以编辑crontab命令了,输入:crontab -e
最上面的第一行为:# m h dom mon dow command (这个是命令格式,那么我们接下来一一解释一下)
【分钟】【小时】【几号】【几月】【星期几】【命令】
0-59 0-23 1-31 1-12 1-7 命令
例如:15 12 * * * ls /home >> file.txt 意思是:每天12点15分列出/home下命令并输出到file.txt末尾
其中:
如果需要执行的是.sh文件的话,输入:sh 【文件名】