Linux命令 at cron

at: 可以处理仅执行一次就结束排程的指令。需要atd服务

crontab: 所设定的指令将会循环地一直进行下去。需要crontab服务

 

at:

Ubuntu16.04 默认没有安装atd服务。安装命令:

$ sudo apt-get install at

 

$ systemctl status atd

$ systemctl restart atd

$ systemctl enable atd  # 开机自启动

 

at 的运作方式: 

使用at 指令来产生所要运作的工作,并将这个工作以文本文件的方式写入/var/spool/at/ 目录内,该工作便能等待atd 服务取用并执行。

 

关于哪些用户可以使用at:

利用/etc/at.allow 和/etc/at.deny 两个文件来进行at 的使用限制。

  1). 先搜索/etc/at.allow 文件,写在这个文件中的用户才能使用at,没有在这个文件中的用户则不能使用at(即使没有写在at.deny中)。

  2). 如果/etc/at.allow 不存在,就搜索/etc/at.deny 文件,写在这个文件中的用户不能使用at,而没有在这个文件中的用户可以使用at。

  3). 如果两个文件都不存在,则只有root 可以使用at。

 

实际运作单一工作排程:

$ at [-mldy] TIME

$ at -c 工作号码

参数:

  -m: 当at 的工作完成后,即使没有输出讯息,亦以email 通知用户该工作已完成

  -l: 相当于atq,列出目前系统中所有该用户的at 排程

  -d: 相当于atrm,可以取消一个在at 排程中的工作

  -v: 可以使用较明显的时间格式栏出at 排程中的任务栏表

  -c: 可以列出后面接的该工作的实际指令内容

 

发送邮件

$ sudo apt install mailutils

posted @ 2019-03-20 18:16  羊小羚  阅读(196)  评论(0编辑  收藏  举报