linux 命令之 定时任务 at cron


at : 在指定的时刻执行指定的命令序列


cron : 周期性执行指定的程序


二者区别,cron命令可周期性地执行任务,而at只能在指定的时间执行一次任务。


cron: 周期性执行指定的程序

cron 可以通过 /etc/crontab 配置文件或者crontab命令实现(注意 在执行cron 功能之前,首先必须确定crond进程是否启动,可以通过ps -ef |grep crond 查看,如果未启动需要通过 /sbin/service cornd   start/stop/restart/reload 来进行启动、停止、重启、及重新加载 )


/etc/crontab 配置文件内容如下:


SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user command
*     *      *      *    * user-name    command    to    be   executed

前五个 * 代表不同的周期:其含义如下:

第一个表示分钟,数值0~59的任意整数;

第一个表示小时,数值0~12的任意整数;

第一个表示日期,数值0~31的任意整数;

第一个表示月份,数值0~12的任意整数;

第一个表示星期,数值0~7的任意整数,0或7代表星期日;

例:

0 6 * * * root echo "Good morning"  //表示每天6:00在屏幕上输出  "Good morning"


at:在指定的时刻执行指定的命令序列(只能执行一次),使用at命令需要启动atd进程(可通过ps -ef |grep atd 搜索该进程是否存在,可通过/etc/init.d/atd start or restart 启动atd进程)


at参数:

-m 当指定任务完成后,将给用户发送邮件(没有标准输出也会发送)

-I   atd的别名

-d atrm 的别名

-v 显示任务将被执行的时间

-c 打印任务内容到标准输出

-V 显示版本信息

-q<队列> 使用指定的队列

-f<文件>   从指定的文件读入任务而不是从标准输出入读入

-t<时间参数> 以时间参数的形式提交要运行的任务


atq   //输出上未执行的任务(未执行的的任务每行第一个输出为 任务编号)

atrm  //删除已设置的任务(atrm   编号)



at  -c 8(编号) //显示已设置的任务内容








你可能感兴趣的:(linux)