Linux中的系统延时任务和定时任务与时间同步服务和构建时间同步服务器

延时任务

在系统中我们的维护工作大多数时在服务器行对闲置时进行

我们需要用延迟任务来解决自动进行的一次性的维护 延迟任务时一次性的,不会重复执行

当延迟任务产生输出后,这些输出会以邮件的形式发送给延迟任务发起者

在RHEL9中默认系统中的所有普通用户都可以发起延时任务

at命令

格式

at <参数> <时间>

参数

不加参数直接跟<时间>在指定的时间执行延时任务
now + <num> <min/hours/days/weeks>从现在开始num<minutes/hours/days/weeks>后执行延时任务
-m当任务完成之后,即使没有标准输出,将给用户发送邮件
-l (atq)可列出目前系统上面的所有该用户的at调度
-d  (atrm)可以取消一个在at调度中的工作
-v使用较明显的时间格式,列出at调度中的任务列表
-c可以列出后面接的该项工作的实际命令内容
-f从文件中读取作作业

其中不加参数直接跟时间的格式可以为

HH:MM

HH:MM YYYY-MM-DD

at + <hh:mm>(想要延时任务执行的时间)

at <时间>

如图我在19:12:40的时候想在19:14执行延时任务 

[root@localhost ~]# at 19:14
warning: commands will be executed using /bin/sh
at> touch /mnt/vb{1..5}
at><EOT>
job 1 at Tue Apr 22 19:14:00 2025

在编写完延时任务后,我们需要回车进入下一行然后按下ctrl + D结束编写延时任务,并生成延时任务进入延时任务队列。 

当时间来到19:14:01时,延时任务已经自动执行完毕,生成了对应的文件。

now+<num>min        在输入at命令回车的那一刻延时n分钟后的任务

非交互执行at延时任务

在任意位置用vim编写一个脚本文件

使用多行重定向输入

使用sh命令执行脚本文件,就可以实现非交互式生成延时任务并执行 

-r        删除延时任务

at -r <对应的延时任务序号>

-d        删除对应代号的延时任务

-v        显示延时任务将会在何时执行

-V        查看at的版本

-c        可以列出后面接的该项工作的实际命令内容

-f        从文件中读取作作业

-m        任务完成后给用户发送

安装postfix
dnf install postfix.x86_64

 安装s-nail
 dnf install s-nail.x86_64

 touch命令的执行后是不会返回输出信息到终端的

但是-m参数会强制执行at任务后无论是否返回输出信息都发送邮件给用户

 可以用mail来查看邮件

按数字顺序编号进行查看第几封邮件
用q键退出mail模式

延迟任务的安全优化

/etc/at.deny        使用at的黑名单

/etc/at.allow        使用at的白名单

注意:初始的主机是没有at.allow这个文件的!如有需要则要用户自己创建

一旦创建了at.allow这个文件,所有用户都会被禁止使用at命令除了root用户。

注意:当存在at.allow文件时,
at.allow文件里的用户名与at.deny文件里的用户名重复时
系统会允许那个用户执行at命令

crontab

检查crond服务是否开启

编写系统定时任务

其中* * * * *的含义是每月每周每天每小时每分钟执行一次命令

-r        删除

-i        显示删除提示

-l        列出用户的crontab

分钟小时定时效果
*****每小时的每分钟的01秒触发
*/n****每隔n分钟的01秒触发
n****每小时的过n分钟
na~b***从a点到b点中间每个小时的过n分钟
n*abc

b月a日每小时过n分

b月的每个周c的每小时过n分

注:天和周是分开约定的

0和7都表示周日

系统级别的定时任务

在/etc/cron.d/下编写定时任务

每到设定的周期时间时系统则会自动执行 

 如图来到18:53时,系统自动创建了vba和vbb这两个文件

系统级别的定时任务执行完后,要记得及时删除否则会占用系统资源! 

手动更改主机时间

查看当前主机的时间

timedatectl

先关闭时间同步

systemctl stop chronyd.service

更改主机时间

timedatectl set-time "yyyy-mm-dd hh:mm:ss"

这里成功更改主机时间为2077-7-7 7:07:07

手动更改主机时区

查看时区地区表

timedatectl list-timezones

从时区地区表选择地区进行更改

同理更改为其他地区也是可以的,下图更改为了阿曼 

 手动更改主机时间模式

timedatectl set-local-rtc <true/false>

 启用本地时间模式

将 RTC 设置为UTC模式

更改授时源

编写系统中配置 Chrony 服务的配置文件

vim /etc/chrony.conf

将框住的部分更改为网络上能找到的授时源

重启chronyd.service服务让主机与授时服务器重新同步时间

systemctl restart chronyd.service

重启后还需要稍等服务器同步时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/81385.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++之IO流

目录 一、C语言的输入与输出 二、流是什么 三、CIO流 3.1、C标准IO流 3.2、C文件IO流 四、stringstream的简单介绍 一、C语言的输入与输出 C语言中我们用到的最频繁的输入输出方式就是scanf ()与printf()。 scanf(): 从标准输入设备(键盘)读取数据&#xff0c;并将值存放…

Fedora升级Google Chrome出现GPG check FAILED问题解决办法

https://dl.google.com/linux/linux_signing_key.pub 的 GPG 公钥(0x7FAC5991)已安装 https://dl.google.com/linux/linux_signing_key.pub 的 GPG 公钥(0xD38B4796)已安装 仓库 "google-chrome" 的 GPG 公钥已安装&#xff0c;但是不适用于此软件包。 请检查此仓库的…

极光PDF编辑器:高效编辑,轻松管理PDF文档

在日常工作和学习中&#xff0c;PDF文件的使用越来越普遍。无论是学术论文、工作报告还是电子书籍&#xff0c;PDF格式因其稳定性和兼容性而被广泛采用。然而&#xff0c;编辑PDF文件往往比编辑Word文档更加复杂。今天&#xff0c;我们要介绍的 极光PDF编辑器&#xff0c;就是这…

MySQL进阶(一)

一、存储引擎 1. MySQL体系结构 连接层&#xff1a; 最上层是一些客户端和链接服务&#xff0c;主要完成一些类似于连接处理、授权认证、及相关的安全方案。服务器也会为安全接入的每个客户端验证它所具有的操作权限 服务层&#xff1a; 第二层架构主要完成大多数的核心服务…

OpenCV 图形API(67)图像与通道拼接函数-----水平拼接(横向连接)两个输入矩阵(GMat 类型)函数concatHor()

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 该函数用于水平拼接两个 GMat 矩阵&#xff0c;要求输入矩阵的行数必须一致: GMat A { 1, 4,2, 5,3, 6 }; GMat B { 7, 10,8, 11,9, 12 }; GM…

1.1 点云数据获取方式——引言

图1-1-1点云建筑场景图 点云数据是指能够描述外部场景、对象表面的三维空间位置&#xff0c;并具有相关属性的点集&#xff0c;其每个离散点通常包括三维空间位置&#xff08;x,y,z&#xff09;以及强度、颜色等属性信息。大量分布的离散点集能够清晰而直接地描绘场景、对象的3…

[Verilog]跨时钟域数据传输解决方案

跨时钟域数据传输解决方案 摘要:跨时钟域数据传输 (Clock Domain Crossing, CDC) 是 SoC 设计中常见且关键的问题,因为现代 SoC 通常包含多个时钟域,不同模块可能运行在不同频率或相位的时钟下。跨时钟域传输数据时,如果处理不当,可能会导致亚稳态 (Metastability)…

Kotlin与Jetpack Compose的详细使用指南

Kotlin与Jetpack Compose的详细使用指南&#xff0c;综合最新技术实践和官方文档整理&#xff1a; 一、环境配置与基础架构 ‌项目创建‌ 在Android Studio中选择Empty Compose Activity模板&#xff0c;默认生成包含Composable预览的MainActivity2要求Kotlin版本≥1.8.0&…

预订接口优化:使用本地消息表保证订单生成、库存扣减的一致性

&#x1f3af; 本文介绍了一种优化预订接口的方法&#xff0c;通过引入本地消息表解决分布式事务中的最终一致性问题。原先的实现是在一个事务中同时扣减库存和创建订单&#xff0c;容易因网络不稳定导致数据不一致。改进后的方法将业务操作和消息发送封装在本地事务中&#xf…

计算机网络——客户端/服务端,URI与URL的区别,以及TCP/IP核心机制全解析

文章目录 客户端/服务端&#xff0c;URI与URL的区别&#xff0c;以及TCP/IP核心机制全解析一、客户端/服务端通信模型概述二、URI 与 URL 的概念与区别1. URL&#xff08;统一资源定位符&#xff09;2. URI&#xff08;统一资源标识符&#xff09;3. URI 与 URL 的关系 三、SYN…

柔性PZT压电薄膜多维力传感器在微创手术机器人的应用

随着医疗技术的迅速发展&#xff0c;微创手术机器人正在成为外科手术的重要助手。与传统开放式手术相比&#xff0c;微创手术创伤小、恢复快、感染率低&#xff0c;对手术器械的精细操控性和感知能力提出了更高要求。多维力传感器作为机器人“触觉”的核心部件&#xff0c;对提…

SpringAI整合DeepSeek生成图表

利用Spring-ai-openai集成DeepSeek ①、在DeepSeek开放平台创建API KEY ②、创建springboot项目&#xff0c;引入spring-ai-openai依赖&#xff0c;创建配置文件&#xff0c;配置deepseek的url和api key ③、具体的实现业务应用 RestController public class ChatD…

xss-lab靶场基础详解第1~3关

第一关 我去&#xff0c;还是得多学基础啊 http://127.0.0.1/xss-labs/level1.php?name<u>a</u> 这个看他的网站源码&#xff0c;可以看到他没有过滤&#xff0c;没有被编码 然后在name<script>alert(1)</script>&#xff0c;就算过关了 第二关 …

【MySQL】聚合查询 和 分组查询

个人主页&#xff1a;♡喜欢做梦 欢迎 &#x1f44d;点赞 ➕关注 ❤️收藏 &#x1f4ac;评论 目录 &#x1f334; 一、聚合查询 &#x1f332;1.概念 &#x1f332;2.聚合查询函数 COUNT&#xff08;&#xff09; SUM&#xff08;&#xff09; AVG&#xff08;&…

计算机启动流程中,都干了啥事。比如文件挂在,操作系统加载,中断向量表加载,磁盘初始化在哪阶段。

建议在电脑上看&#xff0c;手机上格式有点问题&#xff0c;认真读&#xff0c;这方面没问题的&#xff0c;肝了一天。 目录.计算机启动详解 一.计算机启动直观图二.步骤详解前置准备磁盘初始化1.开机阶段2.执行BIOS阶段3.执行引导记录&#xff08;MBR&#xff09;阶段4.操作系…

后端开发技术之Log日志框架

第一章 日志原理 1.1 log发展历史 从JDK1.4开始提供java.until.logging&#xff0c;后来大佬发现JUL太难用了&#xff0c;就自己手撸了个log4j&#xff0c;后来log4j发现安全漏洞&#xff0c;加上代码结构问题难以维护&#xff0c;于是从1.2就停止更新log4j&#xff0c;并又重…

美丽天天秒链动2+1源码(新零售商城搭建)

什么是链动21模式&#xff1f; 链动21主要是建立团队模式&#xff0c;同时快速提升销量。是目前成员中速度最快的裂变模式。链动21模式合理合规&#xff0c;同时激励用户 公司的利润分享机制&#xff0c;让您在享受购物折扣的同时&#xff0c;也能促进并获得客观收益。 链动21模…

Python10天冲刺-设计模型之策略模式

策略模式是一种行为设计模式&#xff0c;它允许你在运行时动态地改变对象的行为。这种模式的核心思想是将一组相关的算法封装在一起&#xff0c;并让它们相互替换。 下面是使用 Python 实现策略模式的一个示例&#xff1a; 示例代码 假设我们有一个简单的购物车系统&#xf…

【CTFer成长之路】XSS的魔力

XSS闯关 level1 访问url&#xff1a; http://c884a553-d874-4514-9c32-c19c7d7b6e1c.node3.buuoj.cn/level1?usernamexss 因为是xss&#xff0c;所以对传参进行测试&#xff0c;修改?username1&#xff0c;进行访问 会发现username参数传入什么&#xff0c;welcome之后就…

自主机器人模拟系统

一、系统概述 本代码实现了一个基于Pygame的2D自主机器人模拟系统&#xff0c;具备以下核心功能&#xff1a; 双模式控制&#xff1a;支持手动控制&#xff08;WASD键&#xff09;和自动导航模式&#xff08;鼠标左键设定目标&#xff09; 智能路径规划&#xff1a;采用改进型…