定时延时任务的意义:定时对系统进行维护,维护时要尽可能的对客户的影响小一些
定时任务是永久的【crontab命令】
延时任务是临时的【at命令】
crontab命令和at命令都是写到系统当中的
######1.系统延时任务(用户级的)######
at命令:
可以指定某一任务在将来的特定时间运行。该作业可能是一次备份、对系统的检查或特定时间发送通知。适用那些需要花费很长时间才能完成的任务。
at命令设置运行后,就可以安全注销,该任务会在与shell会话连接的情况下运行。
at命令必须指定任务要运行的时间,该时间可以是具体的日期/时间,也可以是当前时间的相对时间。
[root@software_install ~]# at 11:11 ##设定任务执行时间
at> rm -fr /mnt/* ##任务动作
at> <EOT> ##用ctrl+D发起任务
[root@software_install ~]# at now+1min ##延时一分钟
【注意】:在at命令书写中,用不了组合健(上下左右键)
at -l ##查看任务列表
at -c 任务号 ##查看任务内容
at -r 任务号 ##取消任执行务
【注意】:这3条命令中的任务都是未执行的任务
查看用户邮件:
mail -u 用户 ##查看用户的邮件
& 2 ##查看第二封邮件
Output from your job ##工作的输出
q ##退出
> /var/spool/mail/用户 ##清空用户的邮件(彻底清掉)
【注意】:当任务有输出时,输出会以邮件的形式是发送给at任务的发起者(建立、删除文件是没有输出的,echo肯定有输出)
(默认系统中所有用户都可以执行延时任务)
2.at任务的黑白名单
/etc/at.deny ##at任务的黑名单,系统中默认存在,在此文件中出现的用户不能执行at命令
/etc/at.allow ##at任务的白名单,系统中默认不存在,当这个文件出现时,系统中只有在名单中的用户可以用at命令,其他的所有普通用户禁止执行at命令,并且/etc/at.deny失效 白名单建立 (黑名单失效)
(黑名单中输入的是student,显示没有权力用at)
(白名单中输入的是student)
######2.系统定时任务(系统级)######
cron命令:
设备管理必须按计划定期重复运行的程序,后台每隔一段时间执行一次,任何用户都可以使用crontab命令计划个人任务。系统管理员可以在系统范围的配置文件中设置任务。
1.crontab 时间表示方式
* * * * * ##每分钟
*/2 * * * * ##每两分钟
*/2 09-17 * * * ##早7晚5每两分钟
*/2 */2 * * * ##每隔2小时每两分钟
*/2 09-17 3,5 1 5 ##一月份的3号和5号以及每周周五早9点到下午5点每隔2分钟
*/2 09-17 * * 5 ##每周周五早9点到下午5点每隔2分钟
注释:时间顺序:分钟 ,小时, 天, 月, 周
/ 每隔多久
,几和几
- 从到什么到什么
2.系统控制crontab的服务
单个用户使用crontab的文本文件(cron 表)登记任务
crond.service ##当程序开启时定时任务生效
crontab -l ##列出文件
crontab -r ##删除文件
crontab -e ##编辑文件(使用默认编辑器是vim)
3.crontab
crontab -e -u root ##编辑定时任务
crontab -u root -l ##查看root用户下的定时任务列表
crontab -u root -r ##取消定时任务
4.文件方式设定定时任务
vim /etc/cron.d/file ##编辑定时任务
* * * * * uesrname action ##定时内容书写格式
system status crond.service ##查看crond服务是否开启
5.crontab的黑白名单
/etc/cron.deny ##系统中默认存在,在此文件中出现的用户不能执行crontab
/etc/cron.allow ##系统中默认不存在,当该文件出现,只有在名单中的用户可以使用crontab命令,其他普通用户不能执行crontab命令,,并且/etc/at.deny失效
【注意】:这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行
(黑名单中输入的是student)
6.系统中临时文件的管理方式
cd /usr/lib/tmpfiles.d/ ##切换到tmpfiles.d路径
vim westos.conf ##编辑临时文件
文件类型 执行文件 权限 所有人 所有组 执行时间 ##书写格式
systemd-tmpfiles --create /lib/tmpfiles.d/临时文件名称.conf ##执行临时任务
systemd-tmpfiles --clean /lib/tmpfiles.d/临时文件名称.conf ##清除临时任务