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

Myth丶恋晨 2022-03-25 13:54 369阅读 0赞

1.系统延时任务

  1. at now+1min ##延时1分钟
  2. at> touch file{ 1..10}
  3. at> <EOT>
  4. job 2 at Sun Jan 20 02:07:00 2019

监控/mnt/目录,创建1分钟后在/mnt/目录下建立10个文件的任务
在这里插入图片描述

  1. at 02:10 ##设定任务执行时间
  2. at> rm -rf /mnt/ ##任务动作
  3. at> <EOT> ##用ctrl+D发起任务
  4. job 3 at Sun Jan 20 02:10:00 2019





















命令 用法
at -l 查看任务列表
at -c 任务号 查看任务内容
at -r 任务号 取消任务执行

查看任务列表
在这里插入图片描述
查看任务内容
在这里插入图片描述
在这里插入图片描述
取消任务执行
在这里插入图片描述
注意:
当任务有输出时,输出会以邮件的形式发送给at任务的发起者






















命令 用法
mail -u root 查看超级用户邮件
1 查看第一封邮件
q 退出

查看超级用户邮件
在这里插入图片描述

  1. > /var/spool/mail/root ##清空邮件

2.at任务的黑白名单

黑名单

  1. /etc/at.deny ##系统中默认存在,在此文件中出现的用户不能执行at

添加用户‘student’到黑名单
在这里插入图片描述
保存退出
在这里插入图片描述
用户‘student’的权限已被限制
在这里插入图片描述
白名单

  1. /etc/at.allow ##系统中默认不存在,当文件出现,普通用户不能执行at
  2. ##只有在名单中的用户可以,并且/etcc/at.deny失效

在这里插入图片描述
在黑名单,白名单之中都有用户‘student’。因为白名单的优先级高于黑名单,所以,用户‘student’的权限未被限制,而白名单中缺席的用户‘xiaoma’就不能随意使用‘at’了。

3.系统定时任务

1.crontab时间表示方式

  1. | | | |
  2. * | * | * | * | * ##每分钟
  3. */2| * | * | * | * ##每两分钟
  4. */2| 09-17| * | * | * ##早9晚五中的每两分钟
  5. */2| */2 | * | * | * ##每隔2小时中的每两分钟
  6. */2| 09-17| 3,5 | 1 | 5 ##1月3号和1月5号以及每周五早9到晚5中的每两分钟
  7. */2| 09-17| * | * | 5 ##每周周五早9到晚5中的每两分钟

2.系统控制crontab的服务

  1. crond.service ##当程序开启时定时任务生效

查看服务‘cron.service’的状态
在这里插入图片描述
3.crontab

  1. crontab -e -u ##编辑,指定用户
  2. crontab -l -u ##列表,指定用户
  3. crontab -r -u ##取消定时任务,指定用户

crontab -e -u 编辑,指定用户

首先动态监控命令监控/mnt目录

  1. watch -n 1 ls -l /mnt/*

在这里插入图片描述
设置定时任务
在这里插入图片描述
编辑任务内容
在这里插入图片描述
保存退出
在这里插入图片描述
实现效果
在这里插入图片描述
crontab -l -u 列表,指定用户
在这里插入图片描述
crontab -r -u 取消定时任务,指定用户
在这里插入图片描述
4.文件方式设定定时任务

  1. vim /etc/cron.d/file
  2. cat /etc/cron.d/file
  3. * * * * * root rm -rf /mnt/* ##* * * * * usename action

编辑定时任务管理文件
在这里插入图片描述
/mnt目录下建立文件并监控
在这里插入图片描述
查看任务管理文件内容,确定任务编辑成功
在这里插入图片描述
查看效果
在这里插入图片描述
5.crontab的黑白名单

  1. /etc/cron.deny ##系统中默认存在,在此文件中存在的用户不能执行crontab
  2. /etc/cron.allow ##系统中默认不存在,在文件中出现,普通用户不能执行crontab
  3. ##只有在名单中的用户可以,并且cron.deny失效
  4. ##这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行

黑名单
在这里插入图片描述
白名单
在这里插入图片描述
注意: 这两个名单都不会影响/etc/cron.d/目录中定时任务的发起及执行

4.系统中临时文件的管理方式

系统的很多服务在运行时,会产生很多的临时文件,而对这些临时文件的清理的功能的配置文件在/usr/lib/tmpfiles.d/目录中。

如:系统临时文件夹/tmp/
vim /usr/lib/tmpfiles.d/tmp.conf
在这里插入图片描述
说明:/tmp目录,当临时文件的滞留时间大于10天时会被清理。

我们建立/mnt/tmp目录,滞留时间大于8s文件会被清理。

  1. cd /usr/lib/tmpfiles.d/ ##切换到指定目录
  2. vim xiaoma.conf
  3. d /mnt/tmp 777 root root 8s ##写入xiaoma.conf文件的内容
  4. systemd-tmpfiles --create /usr/lib/tmpfiles.d/* ##创建临时文件存目录
  5. systemd-tmpfiles --clean /usr/lib/tmpfiles.d/* ##清除滞留时间过长的临时文件

在这里插入图片描述
在这里插入图片描述
说明: 在/mnt/tmp目录下有两个文件file和file2,其中file文件的滞留时间大于8s,而file2文件的的滞留时间小于8s,执行systemd-tmpfiles —clean /usr/lib/tmpfiles.d/*。清除临时文件后,file文件被删除,保留file2文件。

发表评论

表情:
评论列表 (有 0 条评论,369人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linux系统定时机制

    背景:人不可能时时刻刻在电脑面前,有时候也存在资源占用问题,因此如果可以延时操作或者定时操作,那将方便许多,今天就来介绍这两种方法 一、系统延时 1、at命令:(1)at+