一linux延时任务设置:
延时任务,在Linux系统上面必须要有负责这类计划任务的服务,就是atd服务。
at命令
at 时间
任务
ctrl + d
at -l **查看当前任务
at -c 1(任务编号) **查看任务内容
at now+1min **延迟一分钟
at -f file **延迟执行文件内容
atrm 1(任务编号) **取消任务
实验1:
at 9:00 ##在该时间执行的任务
>touch /mnt/file{1..3} ##使用ctrl+d可以结束输入
at now+1min ##设置1分钟后执行定时任务
监控:建立一个对目录的监控,方便我们查看任务是否执行【watch -n 1 ls -l /mnt/*】每一秒监控一次:

建立延迟任务,查看延迟任务,查看延迟任务5号的内容:

设立某一时刻之后的延迟任务:

实验2:定时任务黑白名单
系统默认会保留一个定时任务黑名单,我们可以在里面添加用户。默认情况下,所有用户都可以创建定时任务。
添加king加入黑名单:

此时king用户不能建立延时任务:

添加natash用户进入白名单,其他用户都不可以建立任务:

二定时任务
crontab服务 : 一般启动服务用 /sbin/service crond start 若是根用户的cron服务可以用 sudo service crond start, 这里还是要注意 下 不同版本linux系统启动的服务的命令也不同
系统控制crontab的服务
crond.service 当程序开启时定时任务生效
systemctl start crond 开启定时服务
systemctl status crond 查看定时服务的运行状态
systemctl stop crond 关闭定时服务
查看服务是否已经运行用:
ps -ax | grep cron
crontab常用命令及参数:
crontab -u //设定某个用户的cron服务,一般root用户在执行这个命令的时候需要此参数
crontab -l //列出某个用户cron服务的详细内容
crontab -r //删除没个用户的cron服务
crontab -e //编辑某个用户的cron服务
cron文件语法:
分 小时 日 月 星期 命令
0-59 0-23 1-31 1-12 0-6 command (取值范围,0表示周日一般一行对应一个任务)
记住几个特殊符号的含义:
“*”代表取值范围内的数字,
“/”代表”每”,
“-”代表从某个数字到某个数字,
“,”分开几个离散的数字
crontab时间范围:

实验1:
建立定时任务:

为超级用户添加定时任务,并查看:

实验2:删除任务:

实验3:crontab黑白名单:
crontab黑名单建立:

crontab白名单建立:

实验4 :crontab多定时任务建立,在脚本中编写多个定时任务:
1)注意:run-parts 为执行目录下的所有的脚本的意思



观察:

systemd 提供一个更加结构化的可配置方法来管理临时目录和文件: systemd-tmpfiles命令用来管理临时文件。

设置10s后清理满足一定条件的文件:

本文详细介绍了Linux系统中的延时任务和定时任务设置。延时任务通过at命令实现,包括实验示例展示如何创建和管理延迟任务。定时任务则依赖于crontab服务,讲解了启动服务、查看服务状态、crontab命令参数以及时间范围的语法。此外,还涵盖了crontab的黑白名单管理以及多定时任务的创建。最后,提到了systemd-tmpfiles命令在管理临时文件中的应用。

被折叠的 条评论
为什么被折叠?



