linux 定时,延时任务

at命令(延时任务)

1、概念

at 是 Linux 系统中用于调度一次性任务 的命令行工具,允许用户在指定时间运行命令或脚本。它非常适合临时任务(如定时重启服务、发送提醒、执行备份等),且与 cron(周期性任务)互补。

2、命令

基本操作格式:[root@loveyu ~]# at now+1min

at> date #EOT代表Ctrl+D来保存这个延时动作

job 2 at 2017-07-29 12:12at -l|atq这两个命令都是用来查看当前的延时任务

atrm | at -d +任务号这个命令都是用来取消定时任务

at -c +任务号查看延时任务的内容

at -f file延时任务执行文件中的动作。注意文件不是脚本

at now+1min延时1分钟

at -m延时命令没有输出也发邮件给执行者,默认没有输出不发邮件。

at -M延时命令即使有输出也不发邮件给执行者

2、at执行命令权利设定

/etc/at.deny #用户黑名单,此名单中的用户不能执行at命令

/etc/at.allow # 用户白名单,此文件默认不存在,建立后所有用户均没有at命令执行权限,此名单中的用户才有at命令执行权限。

atd是系统延时任务的守护进程

at+时间发起任务 ctrl+d完成编写录入结束

at -l 查看任务

at -d删除任务

复制代码
useradd test
------ 先创建一个新的用户test

在 Linux 中,at 命令的黑白名单通过 /etc/at.allow/etc/at.deny 文件实现,用于**控制用户是否有权限使用 at**调度任务。

先创建一个新的用户test,方便后续观察实验,切换到新的用户

默认状态下,可以看到,在系统中所有用户都能执行at任务

at任务执行黑名单,在名单中的用户不能执行at任务

向at黑名单中添加用户

再回到test用户,此时尝试at命令,会发现已被禁止使用

这是因为:在/etc/at.deny文件中出现的用户是不能执行at任务的

at白名单

回到root,创建at白名单

创建完白名单后,回到test,发现已经可以使用at命令

当系统中白名单出现,黑名单中的内容将被系统忽略

定时任务

1、概念

定时任务(计划任务)是计算机系统中用于在特定时间周期自动执行指定操作的功能。它广泛应用于系统维护、数据备份、自动化脚本执行等场景。

crond.service是定时任务的守护进程

crontab -u root -e

以用户root(-u)来创建定时任务

编辑创建定时任务的命令:建立文件file1~5(touch)

可以看到在1)中创建的touch命令,其中前五颗星号分别代表:

crontab -r

每个目录的解释进入路径/etc/cron.d

在下图可以看到,通过ls命令查看是显示0hourly,说明还未创建自定义crontab任务,所以创建一个crontab任务:

cron黑/白名单

和at命令相似,cron命令也存在黑白名单机制

切换用户测试

cron白名单

当白名单出现,只有在名单中单用户能执行crontab

切换用户测试

相关推荐
Tfly__7 小时前
在PX4 gazebo仿真中加入Mid360(最新)
linux·人工智能·自动驾驶·ros·无人机·px4·mid360
野犬寒鸦7 小时前
从零起步学习并发编程 || 第七章:ThreadLocal深层解析及常见问题解决方案
java·服务器·开发语言·jvm·后端·学习
陈桴浮海7 小时前
【Linux&Ansible】学习笔记合集二
linux·学习·ansible
迎仔7 小时前
06-存储设备运维进阶:算力中心的存储管家
运维
生活很暖很治愈8 小时前
Linux——环境变量PATH
linux·ubuntu
?re?ta?rd?ed?8 小时前
linux中的调度策略
linux·运维·服务器
深圳市九鼎创展科技8 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
全栈工程师修炼指南8 小时前
Nginx | stream content 阶段:TCP 协议四层反向代理浅析与实践
运维·网络·网络协议·tcp/ip·nginx
hweiyu008 小时前
Linux 命令:tr
linux·运维·服务器
Trouvaille ~8 小时前
【Linux】应用层协议设计实战(一):自定义协议与网络计算器
linux·运维·服务器·网络·c++·http·应用层协议