linux中系统延时任务及定时任务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux中系统延时任务及定时任务相关的知识,希望对你有一定的参考价值。

1.系统延时任务
如遇到这种情况
Can‘t open /var/run/atd.pid to signal atd. No atd running?
技术图片
则执行
技术图片重启服务

1 at

at 固定的时间
at now+1min(一分钟之后执行)
touch file1 建立文件1
ctrl d 开启任务
技术图片
at -l 查看延时任务列表
技术图片
at -c 任务号 (查看任务内容)
技术图片
技术图片
at -r 任务号 (删除任务)
技术图片
12任务已被删除

当延时任务有输出时候,并不是输出在终端上,而是以邮件的形式发送给任务的发起者

技术图片
邮件的存放位置
/var/spool/mail/用户名 :每一个用户的邮件会被记录在以其用户名为名称的文件中。
技术图片
清空邮件

2.at任务用户的黑白名单
/etc/at.deny (用户的黑名单) 系统中默认存在
/etc/at.allow (用户的白名单) 系统中默认不存在可以建立,建立后所有普通用户都不能执行at 除非在其名单中
白名单成立后黑名单自动失效
技术图片
技术图片 老张在黑名单中所以不能执行at任务
技术图片 harry没在黑名单中则可执行at任务
技术图片 白名单成立后所有用户不能执行at任务

3系统定时任务设定
1.crontab 时间的表示方式
技术图片
依次表示为 minute: 表示分钟,可以是从0到59之间的任何整数。hour:表示小时,可以是从0到23之间的任何整数。 day:表示日期,可以是从1到31之间的任何整数。month:表示月份,可以是从1到12之间的任何整数。week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。
技术图片
表示每分钟
技术图片
表示每2分钟
技术图片
早上9点到下午三点每两分钟
技术图片
5月3日每周二的早上9点到下午15点每两分钟

2.crontab

crontab -e -u 指定用户创建定时任务

技术图片

技术图片 建立了文件file{1.3}
crontab -l -u 查看指定用户的定时任务

技术图片

crontab -r -u # 取消指定用户的定时任务

技术图片
3系统控制crontab的服务
crontab由crond.service 服务控制。当该服务开启时,所设定的定时任务才能生效。
service crond status 来运行服务

4.文件的方式设定定时任务
创建/etc/cron.d/xxx 文件 ,在该文件中编写需要执行的定时任务
任务编写格式:* * * * * 用户(执行该任务的) 任务操作

技术图片
技术图片

5.crontab 的黑白名单
crontab 的黑名单
/etc/cron.deny 系统中默认存在,出现在黑名单中的用户将无法使用crontab设定定时任务。

crontab 的白名单
/etc/cron.allow 系统中默认不存在,如果自己创建,黑名单失效,只有出现在白名单中的用户才能使用crontab设定定时任务,超级用户不受限制。

系统中临时文件的管理

systemd-tmpfiles 系统用来创建、管理、删除临时文件的命令。
临时文件都存在有效期,当其有效期过了之后就可诶被清理,但是有效期没过就不能被清理。所以设置定时任务对系统的临时文件进行清理,在每次清理时过期的文件会被清理掉,只要设置合适的清理周期,就能保证系统中临时文件不会占用大量资源。

/usr/lib/tmpfiles.d/ 中的.conf文件描述了 systemd-tmpfiles 如何创建、清理、删除临时文件和目录,记录了对临时文件的规范。
创建xxx.conf 文件,并写入规范
技术图片

systemd-tmpfiles --create /usr/lib/tmpfiles.d/*
编写一个临时目录的规范文件,并扫描该规范文件创造出该目录 文件读取

systemd-tmpfiles --clean /usr/lib/tmpfiles.d/*
使用该指令对临时文件的规范文件进行扫描,过期的临时文件会被清理

以上是关于linux中系统延时任务及定时任务的主要内容,如果未能解决你的问题,请参考以下文章

《Linux菜鸟入门2》系统定时延时任务

系统延时及定时任务

系统定时任务及延时任务

系统定时任务及延时任务

系统定时任务及延时任务

系统定时任务及延时任务