linux重启at服务,linux一次性计划任务at命令的使用方法

linux系统的定时任务(包括指令执行和脚本执行)

linux的计划任务分临时计划任务和周期性计划任务,之前我有发过关于周期性计划任务cron的文章,本文着重介绍一下临时计划任务(一次性计划任务)的使用。

1、安装命令

系统要求:Debian、Ubuntu、CentOS

#CentOS系统

yum install at -y

#Debian/Ubuntu系统

apt-get install at

2、at指令的定时和延时任务:

at now+1min   #一分钟后执行       at 时间  #指定时间执行

at>touch file

ctrl+d #1分钟以后执行建立文件的操作(ctrl+d可以看到任务编号)

对/root目录进行监控,以便进行对定时任务的查看:watch -n 1 ls /root

定时任务:在01:31时执行任务,输入at 01:31执行指令后ctrl+d可以建立后台任务

可以在目录监控界面里看到文件已经被建立,任务已经准时执行

3、时间的写法

HH:MM   //18:30

midnight   //0点 (午夜)

noon   //12点 (中午)

teatime //16点(下午4点)

AM  或   PM后缀指定一天的上午或下午。  //at  2:00 pm

MMDDYY  、  MM/DD/YY 或 DD.MM.YY

now + 计数  时间单位(minutes  、hours  、  days 或 weeks)

eg. at now + 3 hours(从现在开始起三个小时后)

eg. at 4pm  + 3 days   //三天以后的下午4点执行一个任务

at 2am + tomorrom  //明天上午2点

at 10am Jul 31   //7月31日上午10点

案例一:凌晨2点备份/etc目录 到 /tmp格式为 etc.tar.xz

at 02:00

at> tar cvJf /tmp/etc.tar.xz /etc

at> ctrl+d

4、查看即将执行的任务时间

atq

at -l

5、查看即将进行的任务的详细信息

at -c 编号

例如at -c 3 可以查看任务3的内容,任务内容会在指令结果的最后面显示

6、取消即将执行的任务

atrm  编号

at -d 编号

at -r 编号

案例二:脚本方式创建at计划任务.

echo  'ls;date;pwd'  | at  3:00      #用管道符将任务传给at命令

案例三:用at将指定文件(-f  文件名)中的命令设为计划任务.

#首先,创建命令文件

vim /opt/aplan      #添加如下内容

ls

date

pwd

tar -czvf /tmp/etc.tar.gz /etc

7、at权限管理、安全

/etc/at.allow      白名单:只允许在此名单内的用户使用at(此文件本身不存在)

/etc/at.deny      黑名单:在此名单内的用户不可以使用at

注:当两个文件都不存在,只有root用户可以使用at

当两个文件都存在,allow优先执行

8、at服务管理:

查at软件是否已安装:pm -q at

查at的文件列表:rpm -ql at

查at的配置文件列表:rpm -qc at

查at服务状态:systemctl status atd   或   service atd status

重启at服务:systemctl restart atd   或   service atd restart

关闭at服务:systemctl stop atd   或   service atd stop

开机不启动at服务:systemctl disable atd   或   chkconfig atd off

开机启动at服务:systemctl enable atd   或   chkconfig atd on

at的其他文件:

计划文件清单:ls   /var/spool/at/*    用cat可以看这些文件

你可能感兴趣的:(linux重启at服务)