linux 计划任务at与cron

linux为我们准备了两种计划任务,一种是只执行一次的at计划任务,另一种是周期性执行的cron。

 at一次性计划任务

用途:在某一固定的时间执行特定命令

用法:at  时间                  #需要atd服务开启  systemctl start atd 开启服务

选项: -m    当计划任务执行结束后发邮件给客户

            -l      查看用户计划任务

            -d     删除用户计划任务

            -c     查看at计划任务的具体内容

[root@localhost ~]# at 20:00            #指定将在当天20:00执行命令,后可跟年月日 例2018-8-17
at> pyhon3 test.py
at> shutdown -h now
at> 
job 1 at Wed Aug 15 20:00:00 2018       #系统提示有编号为1的计划任务

[root@localhost ~]# at -l               #查看计划任务列表

[root@localhost ~]# at -c 1             #查看该计划的详细信息

[root@localhost ~]# at -d 1             #删除计划编号为1的计划






 cron 周期性计划任务

用途:为每个用户维护周期性的计划任务文件

用法:crontab -u 用户名 -l|-r|-e                                       #需要

选项:-u    指定计划任务的用户,默认为当前用户

           -l     查看计划任务·

           -r    删除计划任务

           -e   编辑计划任务

           -i    删除时提示是否确认

cron文件格式

分     时     日     月     周      命令

[root@localhost ~]# crontab -e                    #给当前用户

23 23 * * 5 python3 test.py                       #每周五晚上执行test

centos 自定义了很多自动执行的任务脚本,分别存放在/etc下的cron.hourly,cron.daily,cron.weekly中,如果你有需要每天执行的脚本可以放在cron.daily目录下面。

计划任务控制

为了控制用户随意定义自己的计划任务,管理员可以进行ACL访问控制。

at的控制文件分别为             允许 /etc/at.allow

                                             拒绝 /etc/at.deny

crontab的控制文件分别为

                                             允许 /etc/cron.allow

                                             拒绝 /etc/cron.deny

只有allow时 只允许allow用户添加计划

allow与deny共存时  只允许allow中的用户添加

只有deny时 除deny中的用户都可添加

 

 

你可能感兴趣的:(linux)