linux中延时任务和定时任务

一.系统的延时任务
1.at 命令

(1)at 命令可以指定某一任务在将来的特定时间运行。该作业可能是一次备份
、对您系统的检查或者特定时间发送的通知。那些需要花费很长时间才可完
成的作业正适合 at 命令。仅需使用 at 命令将任务设置为在一分钟或两
分钟之后运行。然后您便可以安全注销 , 因为该任务会在与 shell 会话
断开连接的情况下运行
(2)at 命令必须指定任务应运行的时间。该指定可以是具体时间和 / 或日期
( 例如星期一 , 10:00pm 或 7 月 15 日 ) 。也可以是当前时间的相
对时间 ( 现在时间加上 5 分钟 , 现在时间加上 3 天或 4:00pm 加上
1 周 ) 通过添加其他选项 , 您可以在任务完成是发送邮件 ( -m ), 或者
从文件中读取任务 ( -f 文件 ), 而无需通过标准输入进行
在键入 at 命令行之后 , 按 Enter 并继续键入作业中包含的其他命令。
任务可由多个命令组成。在完成键入要运行的命令时 , 在单独出现的一行
中按 Ctrl+d 完成任务

2.at命令示例

at  时间           设定在该时刻要进行什么操作
at now+时间 min    在几分钟后要进行什么操作
at -l             查看定时任务
at -c 4           查看指定编号为4的定时任务具体命令
at -r 4           删除编号为4的定时任务

实验:

[root@localhost mnt]# at 17.23
at> touch file{1..4}
at> <EOT>                   ### ctrl+d
job 4 at Mon Nov  5 17:23:00 2018
[root@localhost mnt]# at -l
4	Mon Nov  5 17:23:00 2018 a root
[root@localhost mnt]# 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:
在将某一 at 作业设置为运行之后 , 可以通过使用 atq 命令列出作业编
号以及次数。若要查看作业中所包含的命令 , 键入 at -c #( # 号为作业
编号 ) 。键入 Atrm # ( # 号为作业编号 ) 则是删除指定作业
3.管理定期任务
cron 设备管理必须按计划定期重复运行的程序。后台程 crond每分钟唤醒一次 , 以运行计划的任何任务用户使用 crontab命令计划个人任务。系统管理员可以在系统范围配置文件中设置任务
单个用户使用称为 crontab ( cron 表 ) 的文本文件登记任务
二.定时任务
1.指定用户进行定时任务

crontab -u username -e #指定用户建立定时任务
crontab -u username -l #指定用户查看定时任务
crontab -u username -r #指定用户删除定时任务
crontab -l 列出文件
crontab -r 删除文件
crontab -e 编辑文件
crontab -e 使用默认编辑器是 vi

2.corn 时间表示方式
1* 2* 3* 4* 5* command

– 1*---------- 分钟
– 2*---------- 小时
– 3*---------- 天
– 4*---------- 月
– 5*---------- 周

3.时间表示示例
在这里插入图片描述
实验:
(1)监控/mnt/这个目录
在这里插入图片描述
(2)在/mnt/目录下建立文件
在这里插入图片描述
(3).
crontab -u root -e 指定root用户建立定时任务
在这里插入图片描述

*  *  *  *  *   rm -rf /mnt/*        每分钟执行一次

在这里插入图片描述

crontab -u root -l                        指定root用户查看定时任务

在这里插入图片描述
这时看监控/mnt 文件应该已被删除
在这里插入图片描述

crontab -u root -r        删除定时任务

在这里插入图片描述
注意:

crontab 属于系统的任务通常保存在 /etc/crontab 文件中而不是使用crontab -e编辑保存在个人文件中。更好的做法是用文本编辑器创建 crontab 文件并保存到 /etc/cron.d 中 ( 避免更新系统软件包
cronie 时出现问题 ) 。
/etc/cron.d/crontab文件在日期说明后另加一个字段 ,表示将运行作业的用户对于需要每天、每周或每月运行一次的脚本 , 可以直接将其设置为可执行文件 ,并保存在/etc/cron{daily,weekly,monthly} 中相应目录下。 这些任务由 /etc/anacrontab配置的系统 anacron 服务运行anacron 是 cron 的集成组件 , 用于更好地管理作业 , 并确保在作业

2.系统级定时任务
实验:
在/mnt创建文件
在这里插入图片描述
移动至/etc/cron.d
在这里插入图片描述
vim编辑,文件名任意,但必须在/etc/cron.d目录下
在这里插入图片描述

* * * * *  root  rm -fr /mnt/*     每天每分钟  以root用户身份  删除文件

查看
在这里插入图片描述
此时/mnt/下的文件已被删除
在这里插入图片描述
注意:
关闭服务后,便不会执行定时任务
[root@localhost cron]# systemctl stop crond.service
在这里插入图片描述
重新在/mnt/下建立文件
[root@localhost mnt]# touch file{1…6}
在这里插入图片描述
开启服务
[root@localhost mnt]# systemctl start crond.service
在这里插入图片描述
即使开启服务后也不会执行因为时间已经过了;到下一次还是执行
还原:
在这里插入图片描述
三.cron 权限设定
在系统中默认所有用户可以设定 cron
用户黑名单(写进这个文件的用户不可以使用crontab,未记录到这个文件的用户可以使用crontab )

/etc/cron.deny

用户白名单(凡是写进这个文件的用户可以使用crontab,不在这个文件的用户不允许使用crontab )

/etc/cron.allow

用户白名单比用户黑名单优先级高,这两个文件只选择一个来限制,因此只需要保留一个即可。一般情况下系统默认保留/etc/cron.deny
1.建立用户黑名单
(1)将book用户写入黑名单

/etc/cron.deny

在这里插入图片描述
(2)切换至book用户下
在这里插入图片描述
(3)使用crontab -e创建任务时发现.并没有权限
在这里插入图片描述
(4)还原,切换回超级用户下,打开 /etc/cron.deny,将book用户删除
在这里插入图片描述
(5)切换至book用户下,crontab -e创建任务
在这里插入图片描述
在这里插入图片描述
可以创建任务
三.临时文件的清理
系统中服务在正常运行时会产生临时文件在系统中 /usr/lib/tmpfiles.d/ 标实服务的临时文件存放位置

systemd-tmpfiles --create /usr/lib/tmpfiles.d/*             creat 创建;
systemd-tmpfiles --clean  /usr/lib/tmpfiles.d/*             clean 清除

实验:
1.监控
在这里插入图片描述
2.清理临时文件
在这里插入图片描述
(1)vim编辑,文件名任意但结尾必须是.conf
在这里插入图片描述
说明:

d        /mnt/westos      777     root     root      8s
文件类型   名称             权限    所有人   所有组      存在时间

(2)创建/usr/lib/tmpfiles.d/目录下的westos.conf文件里的任务
在这里插入图片描述(3)创建文件
在这里插入图片描述
(4)清理文件
在这里插入图片描述 在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值