Linux计划任务

计划任务:固定时间执行固定任务(如闹钟定时报钟)

例如:系统周期性所要执行的备份系统数据、清理缓存等。

计划任务的命令:at命令,crontab命令

at命令                     用于一次性计划任务

crontab命令            用于周期性计划任务

一、at命令

1、at命令的准备工作

1)安装 at 软件包

[root@redhead ~]# yum install -y at

2)需要 atd 服务支持。atd 服务是独立的服务

    开启atd服务:# systemctl start atd

    重启atd服务:# systemctl restart atd

    查看atd服务状态:# systemctl status atd 

    关闭atd服务:# systemctl stop atd

    查看是否开始开机启动服务:如果弹出enabled,说明开机启动此服务

[root@redhead ~]# systemctl is-enabled atd  
enabled

 安装好 at 软件包并开启 atd 服务之后,at 命令才可以正常使用

[root@redhead ~]# systemctl start atd     
[root@redhead ~]#  systemctl status atd     
● atd.service - Job spooling tools
   Loaded: loaded (/usr/lib/systemd/system/atd.service; enabled; vendor preset: enabled)
   Active: active (running) since 六 2020-04-25 21:41:37 CST; 4s ago
 Main PID: 21972 (atd)
   CGroup: /system.slice/atd.service
           └─21972 /usr/sbin/atd -f
 
4月 25 21:41:37 centos7.6 systemd[1]: Started Job spooling tools.

2、at 命令的访问控制

     访问控制:是指允许哪些用户使用 at 命令设定定时任务,或者不允许哪些用户使用 at 命令。可以将其想象成设定黑名单或白名单。

   如果系统中有 /etc/at.allow 文件,那么只有写入 /etc/at.allow 文件(白名单)中的用户可以使用 at 命令,其他用户不能使用 at 命令(注意,/etc/at.allow 文件的优先级更高,也就是说,如果同一个用户既写入 /etc/at.allow 文件,又写入 /etc/at.deny 文件,那么这个用户是可以使用 at 命令的)。

       如果系统中没有 /etc/at.allow 文件,只有 /etc/at.deny 文件,那么写入 /etc/at.deny 文件(黑名单)中的用户不能使用 at 命令,其他用户可以使用 at 命令。不过这个文件对 root 用户不生效。

       如果系统中这两个文件都不存在,那么只有 root 用户可以使用 at 命令。

       系统中默认只有 /etc/at.deny 文件,而且这个文件是空的,因此,系统中所有的用户都可以使用 at 命令。如果我们打算控制用户的 at 命令权限,那么只需把用户名写入 /etc/at.deny 文件即可。
 

[root@credhead ~]# ll /etc/at.deny 
-rw-r--r-- 1 root root 1 10月 31 2018 /etc/at.deny
[root@redhead ~]# cat /etc/at.deny 
 

 3、at 命令语法添加定时执行任务

基本格式为:[root@redhead ~]# at [选项] [时间]

你可能感兴趣的:(linux,centos,运维)