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