原文网址:Linux命令--定时运行程序(脚本)--方法/实例_IT利刃出鞘的博客-CSDN博客
说明
本文介绍Linux如何定时运行程序。
概述
at命令是一次性定时计划任务,执行完一个任务后不再执行此任务了。
相关命令
at:在特定的时间执行一次性的任务;
atq:列出用户的计划任务,若是超级用户将列出所有用户的任务,输出格式为:作业号、日期、小时、队列和用户名;
atrm:根据job number删除at任务;
batch:在系统负荷允许的情况下执行at任务,就是在系统空闲的情况下才执行at任务。
需求
三天后的下午5点执行命令:/bin/ls /
方法
[root@vms002 /]# at 5pm+3 days
at> /bin/ls /
job 1 at Fri Jun 14 17:00:00 2019
需求
一分钟后执行/tmp/date文件中的内容。
方法
[root@vms002 /]# cat /tmp/date #查看/tmp/date文件中内容
#!/bin/bash
date "+%F %T" > /root/date.log
[root@vms002 /]# at -f /tmp/date now +1 minutes #设置1分钟后执行/tmp/date文件中的内容
job 4 at Tue Jun 11 15:47:00 2019
at [选项] [时间]
Ctrl + D 结束at命令的输入
在使用at命令的时候,一定要保证atd进程的启动。
[root@vms002 /]# ps -ef|grep -v grep|grep atd
rpcuser 1550 1 0 6月10 ? 00:00:00 /usr/sbin/rpc.statd --no-notify
root 1552 1 0 6月10 ? 00:00:00 /usr/sbin/atd -f
| 选项 | 含义 |
| -m | 当指定的任务被完成后,将给用户发送邮件,即使没有标准输出 |
| -I | atq的别名 |
| -d | atrm的别名 |
| -v | 显示任务将被执行的时间 |
| -c | 打印任务的内容到标准输出 |
| -V | 显示版本信息 |
| -q <队列> | 使用指定的队列 |
| -f <文件> | 从指定文件读入任务而不是从标准输入读入 |
| -t <时间参数> | 以时间参数的形式提交要运行的任务 |