使用at和cron实现任务计划

cron被用来调度重复的任务,而at被用来在指定时间内调度一次性的任务。一旦一个作业被提交,at命令将会保留所有当前的环境变量,包括路径,该作业的所有输出都将以电子邮件的形式发送给用户

系统的延时任务和定时任务

1.延时任务(at)

使用at命令可以在某一指定时间内调度一项一次性作业,at命令后面必须先指定时间,接着指定日期

命令的用法:

at [选项] [时间参数]

at [选项]

选项 选项的含义

-f<脚本>

所要提交的脚本或命令
-l 列出当前所有等待运行的作业
-d 清除某个作业,需要提供相应的作业标识(ID)
-m 作业完成后个用户发邮件
-c<作业标识号> 在命令行上列出的作业标准输出
-t<时间> 在指定时间提交作业运行,时间格式为[[CC]YY]MMDDhhmm

 时间参数的格式

时间参数 描述
HH:MM 比如04:00代表4:00AM。如果时间已过,他就会在第二天的这一时间执行
Midnight 代表12:00AM(即00:00)
Noon 代表12:00PM(即12:00)
Teatime 代表4:00PM(即16:00)
英文月名 日期 年份 比如“January 15 2018”代表2014年1月15,年份可有可无
MMDDYY、MM/DD/YY或MM.DD.YY 比如“011519”代表2019年1月15号
now+时间 时间以minutes,hours,days或weeks为单位,比如“now +5days”代表命令在5天后的此时此刻执行
[root@localhost ~]# at 11:52    #设定任务执行时间
at> rm -rf /mnt/file*        #任务动作
at> <EOT>  <---> ctrl+d        #用ctrl+d发起任务
job 1 at Tue Jul 31 11:52:00 2018

[root@localhost ~]# at now+1min    #延时1分钟
at> echo hello
at> <EOT>
job 2 at Tue Jul 31 11:53:00 2018

at -l        #查看任务列表
at -c 任务号    #查看任务内容
at -r 任务号    #取消任务执行
注意:
当任务有输出时,输出会以邮件形式发送给at任务的发起者
mail -u root    #查看超级用户的邮件
number    #查看第几封邮件
-q    退出
>    /var/spool/mail/root    #清空邮件

2.at命令的执行权力设定

/etc/at.deny            ###用户黑名单,在此名单中出现的用户不能执行at命令

/etc/at.allow     ###用户白名单,名单默认不存在,但名单一旦出现,黑名单失效,系统所有用户默认不能执行at,只有在名单中出                                   现的用户可以使用at命令

2.定时任务

使用crom实现任务,任务计划可以通过修改/etc/crontab文件以及使用crontab命令实现,其结果是一样的。

发起方式一  crontab命令

使用crontab命令可以创建爱你,修改,查看以及删除crontab条目

命令格式:

crontab [选项]

crontab [选项] [文件]

选项 选项含义
-u<用户名> 用户名,如果使用自己的用户名登陆,就不需要使用该选项
-e 编辑用户的crontab
-l 列出用户的crontab中的内容
-r 删除用户的crontab
-i 删除用户的crontab前进行提示


crontab -u username -e
crontab -u username -r
crontab -u username -l

发起方式二

vim /etc/cron.d/filename

分钟  小时    天   月   周                         用户    动作
   *         *       *     *      *                           root    rm -fr /mnt/*        #超级用户每分钟清里一此/mnt

crontab 命令的执行权力设定

/etc/cron.deny         ##用户黑名单,在此名单中出现的用户不能执行crontab命令
/etc/cron.allow        ##用户白名单,名单默认不存在,但名单一旦出现,黑名单失效
                                ##系统所有用户默认不能执行crontab,只有在名单中出现的用户可以使用

把westos添在用户黑名单,此时用户黑名单里的用户不能执行此权力,所以westos只能有读的权力,相反若是用户在用户白名单,就可以执行crontab权力

3.系统临时文件的管理

系统中服务在正常运行时会产生临时文件

/usr/lib/tmpfiles.d/*.conf        ##系统中临时文件的配置

systemd-tmpfiles --create /usr/lib/tmpfiles.d/*	##执行临时文件配置
systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*	##清理临时文件

猜你喜欢

转载自blog.csdn.net/qq_42241932/article/details/81348895
今日推荐