延时at指令和定时cron指令

at指令:

at 命令可以指定某一任务在将来的特定时间运行。该作业可能是一次备份、对您系统的检查或者特定时间发送的通知。那些需要花费很长时间才可完成的作业正适合 at 命令。仅需使用 at 命令将任务设置为在一分钟或两分钟之后运行。然后您便可以安全注销 , 因为该任务会在与 shell 会话断开连接的情况下运行。

at 命令必须指定任务应运行的时间。该指定可以是具体时间和 / 或日期( 例如星期一 , 10:00pm 或 7 月 15 日 ) 。也可以是当前时间的相对时间 ( 现在时间加上 5 分钟 , 现在时间加上 3 天或 4:00pm 加上1 周 ) 通过添加其他选项 , 您可以在任务完成是发送邮件 ( -m ), 或者从文件中读取任务 ( -f 文件 ), 而无需通过标准输入进行。

在键入 at 命令行之后 , 按 Enter 并继续键入作业中包含的其他命令。任务可由多个命令组成。在完成键入要运行的命令时 , 在单独出现的一行中按 Ctrl+d 完成任务。

比如我们现在在当前终端输出date信息,但是使用at指令让其五分钟后执行。

我们可以看到,我们现在的时间是10:05:35,然后at的job时间是在10:10分,显然是差了5min的。这里的at会将date发送到我们的本地邮箱当中,我们使用mail指令可以查看我们的邮箱内容。

然后atq查看当前有什么任务,atrm可以删除指定任务。at命令所设置的延时服务都是一次性的。如果我们想要看某一个编号中具体的任务指令,那么我们就输入at -c即可。

cron指令:
cron 设备管理必须按计划定期重复运行的程序。后台程序crond 每分钟唤醒一次 , 以运行计划的任何任务用户使用crontab 命令计划个人任务。系统管理员可以在系统范围配置文件中设置任务。

比如我们的日志服务,会有一个截断的自动功能,一般是一天会查看一次,如果日志文件过大,那么就会进行阶段一次,而这样的定时服务就需要cron来实现。

那么如何来设置时间呢?cron有专门的时间设置语法:

第一个*表示分钟,第二个表示小时,第三个表示天,第四个表示月,第五个表示周。

crontab :

属于系统的任务通常保存在 /etc/crontab 文件中而不是使用crontab -e 编辑保存在个人文件中。更好的做法是用文本编辑器创建 crontab 文件并保存到 /etc/cron.d 中 ( 避免更新系统软件包 cronie 时出现问题 ) 。/etc/cron.d/crontab 文件在日期说明后另加一个字段 , 表示将运行作业的用户。

我们这里先使用crontab -e来演示一下。输入crontab命令,此时就会进入一个编辑界面,我们让他每分钟date一下。

使用crontab -l可以显示出所有的任务。

我们查看我们的邮件,就可以看到确实是有每个一分钟就会有一个date发送过来。

相关推荐
0+1114 小时前
Linux --从 poll 到 epoll多路转接
linux·服务器·1024程序员节
青瓦梦滋4 小时前
WebSocket协议
linux·服务器·网络·c++·websocket·网络协议·http
桌面运维家5 小时前
旧电脑跑不动课程软件,VDI云桌面怎样接着用?
运维·服务器·虚拟化·pve·vdi·云桌面
zhang133830890755 小时前
传统机械三杯式风速传感器易磨损冻堵?CG-88金属超声波风速风向传感器给出免运维方案
运维·服务器·网络·人工智能·自动化
知已难寻5 小时前
第 2 篇 · 云的地基:服务器、存储、网络三大基础设施
运维·服务器·网络·云原生·云计算·负载均衡·1024程序员节
IpdataCloud7 小时前
批量查IP的API接口怎么选?免费API配额瓶颈与离线库本地批量方案实测
网络·网络协议·tcp/ip
2601_949847757 小时前
bcrypt.js 跨端三方库仓颉适配全流程
linux·运维·ubuntu
m0_639906947 小时前
Linux 操作系统入门:目录结构、服务排查常用命令、Shell 脚本基础
linux·运维·后端
今天重构了吗8 小时前
Linux 上 rm -rf 删错了能找回吗
运维·服务器
ITyunwei09878 小时前
售后夜间值守怎么落地:从告警到交接的工单系统配置笔记
网络