Linux_红帽8学习笔记分享_7(Crontab计划任务+NTP时间同步服务器)

news2024/10/7 9:28:15

Linux_红帽8学习笔记分享_7(Crontab计划任务+NTP时间同步服务器)

文章目录

  • Linux_红帽8学习笔记分享_7(Crontab计划任务+NTP时间同步服务器)
  • 1. 系统时间
    • 1.1查看系统时间
    • 1.2设置系统时间
  • 2.周期性计划任务
    • 2.1认识周期性任务服务
    • 2.2寻找定时文件的配置文件
    • 2.3用户定时任务的格式
    • 2.4设置用户定时任务的步骤
      • 2.4.1为张三编写定时关机任务
      • 2.4.2为李四编写每分钟进行一个重定向任务
    • 2.6管理员对用户定时任务的管理方法
      • 2.6.1查看用户定时任务
      • 2.6.2修改用户定时任务
      • 2.6.3删除用户定时任务
      • 2.6.4模拟其他用户
    • 2.7用户定时任务的高级管理技巧
      • 2.7.1黑名单文件
      • 2.7.2白名单文件
  • 3. 系统定时任务
    • 3.1系统定时任务的工作目录
    • 3.2 anacron系统
  • 4. 一次性临时计划任务at
    • 4.1建立一次性任务的相关操作
    • 4.2一次性任务更丰富的用法
    • 4.3一次性任务的黑名单
  • 5. timedatectl命令的用法
    • 5.1查看时区
    • 5.2修改时区
    • 5.3如何倒查某个服务的配置文件

1. 系统时间

1.1查看系统时间

我可以使用date来查看系统时间,如下图所示。

我们同样可以使用timedatectl来查看系统时间,如下图所示。

其中NTP service中N是network网络,T是time时间,P是protocol协议,可以看到我们的这个网络时间同步服务器是开启状态。

1.2设置系统时间

直接设置时间是不可取的,因为NTP是在运行的,如下图所示会报错。
在这里插入图片描述
我们首先需要需要把NTP服务关掉,如下图所示。

在这里插入图片描述
这个时候我们在设置时间就成功,如下图所示。
在这里插入图片描述

我们对于子虚拟机servera设置时间时也是这样操作,先将NTP服务关掉再设置时间。

2.周期性计划任务

2.1认识周期性任务服务

我们首先要保证crond.service是启动(一般是开机自启),我们查看一下周期性计划任务的服务状态,如下图所示。
在这里插入图片描述
我们可以将它设置为永久开机自启动,如下图所示。
在这里插入图片描述

2.2寻找定时文件的配置文件

我们在已安装的软件包中查看包含cron的软件包,如下图所示。

在这里插入图片描述

接下来,我们查找这个文件的配置文件,如下图所示。
在这里插入图片描述

2.3用户定时任务的格式

我们查看这个配置文件的内容,如下图所示。

在这里插入图片描述

minute表示分钟(可以填写的数字为0-59),整点用0表示;hour表示小时(可以填写的数字为0-23),是24小时制;day表示一个月第几天(可以填写的数字为1-31);mouth表示月份(可以填写的数字为1-12),也可以说还有英文来表示第几月;DayofWeek表示的是星期几(1-5表示从周一持续到周五);command表示的是我们要执行的命令是什么,比如输入shutdown就是要关机

2.4设置用户定时任务的步骤

首先我们使用su –来跳转到我们要设置的用户身上,接下来使用crontab -e来编辑定时任务,使用crontab –l用列表显示一下定时任务,最后不想要这个任务的时候可以使用crontab –r来将定时任务删除掉。

在实验之前,要保证用户已经创建好,如下图所示。
在这里插入图片描述

2.4.1为张三编写定时关机任务

接下来我们为张三的servera机器编写周期任务,如下图所示。

在这里插入图片描述

在文件中输入内容如下图所示

在这里插入图片描述

在使用crontab –l用列表显示一下定时任务,如下图所示。

在这里插入图片描述

其中*表示任意一天,任意一月都匹配。我们在使用crontab –r来将定时任务删除掉,这个删除代表全部内容的删除。如下图所示。

在这里插入图片描述

我只想要删除某一行,需要使用crontab -e进入编辑后单独删除。

注意:在配置文件中可以书写多行,每一行代表一个周期性任务。

我们在添加command命令的时候可以加绝对路径,接下来我们使用which查看一下shutdown的绝对路径是什么,如下图所示。(which可以用来搜索命令的绝对路径)

在这里插入图片描述

所以我们刚刚的command命令的完整的写法是/usr/sbin/shutdown –h now。

2.4.2为李四编写每分钟进行一个重定向任务

我们就以将时间重定向到一个txt文件中为测试,这个命令如下所示。

我们切换到李四身份,在serverad的cron配置文件中去这样写,如下图所示。

在这里插入图片描述

我们查看这个txt文件的内容,如下图所示,它将每一分钟都保存了下来。

在这里插入图片描述

同样的我们在写一条每隔两小时的定时任务,配置文件书写内容如下图所示,在小时中写/2代表着每隔两小时执行一次。

在这里插入图片描述

我们写一条每隔10分钟发送一次时间的定时任务,配置文件书写内容如下图所示。

在这里插入图片描述

其中/10代表着每隔10分钟。

我们写一条周一至周五的一点三点九点每隔10分钟发送一次时间的定时任务,配置文件书写内容具体如下图所示。

在这里插入图片描述

其中用逗号来分隔特点的时间,1,3,9就代表一点三点九点。

同样我们写一个每年2月2日上午9点执行echo hello的定时任务,配置文件书写内容具体如下图所示。
在这里插入图片描述

每天3:00~6:02执行一个脚本/root/1.sh,配置文件书写内容具体如下图所示。

在这里插入图片描述

每两个小时的第2分钟执行一个脚本,配置文件书写内容具体如下图所示。

在这里插入图片描述

注意:朝九晚五的每一分钟要在小时处写成9-16,如果写成9-17,因为前面的分钟是所以会将17:59之前的时间也包含进去,对于前面写的朝九晚五每隔10分钟也应该写成9-16

2.6管理员对用户定时任务的管理方法

/var/spool/cron是用户定时任务的工作目录(能够进行查看;修改;删除)

2.6.1查看用户定时任务

进入这个目录之后,我们使用ll,会看到有两个用户的文件,我们使用cat查看李四用户,发现就是之前写的定时任务配置文件的内容,如下图所示。
在这里插入图片描述

所以这个目录就是存放所有用户的定时文件的,只要你在这个用户身上写过定时任务,它就会在这里面显示同名文件。

2.6.2修改用户定时任务

我们可以在这个目录下输入vim用vim编辑器里来修改指定用户的定时任务,如下图所示。

在这里插入图片描述

修改之后用该用户的身份去查看他的定时文件时,会发现配置文件已经被修改。

2.6.3删除用户定时任务

我们可以使用rm -f来暴力删除指定用户的定时任务,如下图所示。

在这里插入图片描述

删除之后用该用户的身份去查看他的定时文件时,会发现这个配置文件已经被删除。

2.6.4模拟其他用户

管理员可以模拟某个用户的身份来直接操作定时任务,如下图所示,就是模拟李四的身份进行一系列的操作。

在这里插入图片描述

2.7用户定时任务的高级管理技巧

2.7.1黑名单文件

我们在黑名单中写入李四,如下图所示。

在这里插入图片描述

之后使用李四的身份去查看他的定时任务列表,如下图所示,会发现不能再看到自己的定时任务了。

在这里插入图片描述

如果想要允许李四拥有自己的定时任务,我们就需要再次编辑黑名单,将写入的李四删除掉即可。

2.7.2白名单文件

在使用搬运单之前,我们首先需要将黑名单删除掉,然后创建白名单文件,如下图所示。
在这里插入图片描述

创建好文件后,我们在白名单文件中写入张三和李四,如下图所示。
在这里插入图片描述

在这里插入图片描述

我们再切换到张三和李四的身份下,使用crontab命令,如下图所示,发现都被允许使用。

在这里插入图片描述

在这里插入图片描述

注意:黑名单和白名单,二者只能择其一使用,黑名单就是进入黑名单的用户,被禁止使用定时任务;而白名单就是只有在白名单中的用户,才可以使用定时任务。

在红帽企业6等等,像这样的老版本中,我们设置了黑名单和白名单之后,需要输入systemctl restart crond指令让你定时任务服务重启一下,才能够让黑名单和白名单生效,如下图所示。

在这里插入图片描述

3. 系统定时任务

3.1系统定时任务的工作目录

/etc/cron.daily/ 该目录下的脚本文件每天会自动运行一次(触发时间:4:22)

/etc/cron.hourly./该目录下的脚本文件每小时(第一分钟)会自动运行一次

/etc/cron.weekly 该目录下的脚本文件每星期(周日的4:22)会自动运行一次

/etc/cron.monthly.该目录下的脚本文件每个月(1号的4:22)会自动运行一次

在这里插入图片描述

如上图所示,在/etc/cron.daily/下有一个logrotate是一个日志回滚脚本文件,它能够检查我们的日志文件,会将老的旧的大的日志文件替换为新的日志文件,保证日志文件不超过500MB

3.2 anacron系统

在这里插入图片描述

如上图所示,它能够帮忙检查是否存在因断电而终止的定时任务。原理:系统定时任务的触发时间由于某种原因(例如停电)而错过了,anacron系统会保证系统定时任务工作目录下的脚本会弥补运行的一种机制。

4. 一次性临时计划任务at

首先我们要保证这个服务是运行状态,如下图所示。

在这里插入图片描述

它的核心配置文件如下图所示。

在这里插入图片描述

4.1建立一次性任务的相关操作

接下来我们建立一个一次性任务,如下图所示。

在这里插入图片描述

我们可以使用at –l来查看写的一次性任务,如下图所示。(如果这个任务已经已经完成了,那么我们用at -l这个命令是看不到之前的任务的。)

在这里插入图片描述

我们可以使用at –c 序号来查看任务详细内容。(序号)

如下图所示,我们的任务已经完成了。

在这里插入图片描述

与此同时这个任务也已经消失了,如下图所示。

在这里插入图片描述

4.2一次性任务更丰富的用法

如果想要删除一次性任务。使用at –d 序号即可,等效于atrm –序号。

如果我们想要这个定时任务,是在明天执行。我们在at后写 时间 tomorrow即可,其中如果时间表示是上午,那么可以写+具体时间am,如下图所示。命令可以用echo ,但是要注意echo 命令在指定时间会执行,但是无法看到效果,因为不是在当前shell执行的。

在这里插入图片描述

我们想要这个定时任务,是在三天后执行。我们在at后写 时间 3 days即可,其中如果时间表示是下午,那么可以写具体时间+pm,如下图所示。

在这里插入图片描述

4.3一次性任务的黑名单

它位于/etc/at.deny目录。

在这里插入图片描述

5. timedatectl命令的用法

我们可以使用timedatectl命令来查看系统时间,如下图所示,我们现在的是上海的时区。

在这里插入图片描述

5.1查看时区

我们查看全世界的时区,如下图所示。

在这里插入图片描述

我们不区分大的小写的查找一下亚洲的时区,如下图所示。

在这里插入图片描述

5.2修改时区

我们从上海时区改到了东京时区,具体操作如下图所示。

在这里插入图片描述

同样我们也可以改回来市区,如下图所示。

在这里插入图片描述

接下来我们将linux的时间改为我们现在的时间,如下图所示。
在这里插入图片描述

当然在这之前我们已经将NTP服务关闭了。

我们打开NTP服务看到System clock synchronize写着yes,证明时间已经被同步了,如下图所示。

在这里插入图片描述

我们可以验证当前使用的是哪个时钟同步服务器,如下图所示,它是由由classroom.example.com来更新的。

在这里插入图片描述

5.3如何倒查某个服务的配置文件

rpm -qf可以用来查看指定服务源于哪个包。

rpm -qc 可以用来查看指定包的相关配置文件。首先我们找一下哪4个模块包含ntp服务,如下图所示。
在这里插入图片描述

我们查看这个chronyd.service服务,如下图所示,默认都是运行状态。
在这里插入图片描述
我们根据如上图得到的绝对路径,倒查下他的软件包是谁,如下图所示。

在这里插入图片描述

接下来我们调查这个软件包对应的配置文件,如下图所示。

在这里插入图片描述
我们编辑/etc/chrony.conf这个文件,如下图所示。

在这里插入图片描述

将内容server 172.25.254.257 iburst,更改为server 172.25.254.250 iburst,如下图所示。
在这里插入图片描述

之后我们重启一下服务,之后再查看我们服务器的源头,发现是foundation0如下图所示。

在这里插入图片描述

我们使用timedatectl查看,我说是发现他确实是foundation0作为源头提供的ntp服务。

在这里插入图片描述


以上就是本文全部内容,如果它对您有帮助,请您帮我点个赞,这对我真的很重要

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

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

相关文章

行业方案|智能网联汽车数据安全治理框架

近年来,信息技术的快速发展,加快了汽车产业的变革。与此同时,随着智能化、网联化的推进,汽车的数据安全问题也日益凸显。当下,如何保障数据安全,成为影响智能汽车产业健康发展的关键问题。 4月18日&#x…

Linux Ansible创建任务并执行

目录 通过add-hoc执行anbise任务 通过Playbook剧本方式执行任务 Playbook包含的常用对象 Yaml语法 对Yaml格式自动对齐 Playbook语法检测与执行 Playbook任务实施 Playbook特权升级 Playbook常用模块 软件包管理模块 用户管理模块 存储模块管理 文件操作相关模块 …

GPT-3 论文阅读笔记

GPT-3模型出自论文《Language Models are Few-Shot Learners》是OpenAI在2020年5月发布的。 论文摘要翻译:最近的工作表明,通过对大量文本进行预训练,然后对特定任务进行微调(fine-tuning),在许多NLP任务和基准测试上…

TYPE-C口是怎么样的接口?它有什么功能强大的地方?

C口指的是USBType-C接口。USBType-C,又称USB-C,是一种通用串行总线(USB)的硬件接口形式,外观上最大特点在于其上下端完全一致与Micro-USB相比不再区分USB正反面。 认识了Type-C的外观之后,我们来一起看一下它是怎么产生的。早在20…

QT with OpenGL(IBL-镜面反射)

文章目录 预滤波generate Mipmap获取每一层级的预滤波图prefilterMap Shader重要性采样效果展示 预过滤卷积的亮点解决方法代码解析首先得确保我们被采样的环境贴图有mipmap贴图通过计算决定使用那一层mipmap值 效果 预计算BRFD生成LUT图 IBL Shading渲染结果与教材的不同最终结…

(C语言版)力扣(LeetCode)189. 轮转数组官方3种解法分析

轮转数组 题目第一种解法:额外数组第二种解法:环状替换第三种解法:翻转数组结语 题目 题目链接:轮转数组 给定一个整数数组 nums,将数组中的元素向右轮转 k 个位置,其中 k 是非负数。 示例 1: 输入: num…

实战项目:手把手带你实现一个高并发内存池

项目介绍 1.这个项目做的是什么? 当前项目是实现一个高并发的内存池,他的原型是google的一个开源项目tcmalloc,tcmalloc全称Thread-Caching Malloc,即线程缓存的malloc,实现了高效的多线程内存管理,用于替…

Java——字符串的排列

题目链接 牛客网在线oj题——字符串的排列 题目描述 输入一个长度为 n 字符串,打印出该字符串中字符的所有排列,你可以以任意顺序返回这个字符串数组。 例如输入字符串ABC,则输出由字符A,B,C所能排列出来的所有字符串ABC,ACB,BAC,BCA,CBA和CAB。 数…

【SpringMVC】| SpringMVC 入门

目录 一:SpringMVC 入门 1. SpringMVC简介 2. SpringMVC的优点 3. SpringMVC的优化 4. SpringMVC执行的流程 5. 基于注解的SpringMVC程序 图书推荐 一:《Spring Boot进阶:原理、实战与面试题分析》 二:《深入理解Java虚拟…

19.网络爬虫—照片管道

网络爬虫—照片管道 Scrapy基础Scrapy运行流程原理Scrapy的工作流程 scrapy照片管道实战演示设置图片路径配置爬虫解析数据运行爬虫查看文件 后记 前言: 🏘️🏘️个人简介:以山河作礼。 🎖️🎖️:Python领域…

C++ Primer笔记——排列算法(next_permutation、prev_permutation、is_permutation)

目录 概述 ①next_permutation ②prev_permutation ③is_permutation 概述 页数&#xff1a;P778 &#xff08;A.2.7 排列算法&#xff09; 头文件&#xff1a;<algorithm> 函数名&#xff1a;next_permutation & prev_permutation & is_permutation C为…

信息安全复习七:报文鉴别与哈希函数

一、章节梗概 1.安全服务与安全需求 2.报文鉴别的安全需求 3.对报文加密来实现报文鉴别 4.报文鉴别码 5.哈希函数 6.生日攻击 二、安全服务与安全需求 2.1 引入 通信保密可以概况所有的安全需求吗? 不能&#xff0c;信息安全需求有很多种&#xff0c;通信保密只是一种安全…

2023移动云大会 | “六大”服务承诺 全力做优“心级服务”

4月25日&#xff0c;以“云擎未来 智信天下”为主题的2023移动云大会在苏州金鸡湖国际会议中心举办&#xff0c;众多政府领导、院士专家、知名企业客户与合作伙伴高层等数千名嘉宾齐聚一堂。 大会期间&#xff0c;移动云深入践行“为国建云”的使命&#xff0c;推出“六大”服…

vdo磁盘管理

在 storagesrv 上新加一块 10G 磁盘;  创建 vdo 磁盘,并开启 vdo 磁盘的重删和压缩;  名字为 vdodisk,大小为 150G,文件系统为 ext4;  并设置开机自动挂载。挂载到/vdodata。 1.lsblk 查看自己添加的硬盘名称 2.安装vdo软件包 yum -y install vdo…

卡尔曼滤波原理及代码

目录 一.简介 二.原理 1.先验估计原理 2.后验估计原理 3.总结 三.示例 一.简介 卡尔曼滤波&#xff08;Kalman filtering&#xff09;是一种利用线性系统状态方程&#xff0c;通过系统输入输出观测数据&#xff0c;对系统状态进行最优估计的算法&#xff0c;它可以在任意…

Vue-全局过滤器以及进阶操作

前言 上篇文件讲述了&#xff0c;Vue全局过滤器的基本使用&#xff1a;Vue过滤器的基本使用 本篇将延续上文&#xff0c;讲述vue中过滤器的进阶操作 过滤器传参 如果有一天&#xff0c;多个地方使用过滤器&#xff0c;而且需要传递参数&#xff0c;那么可以这么写 多个过滤…

《Netty》从零开始学netty源码(四十三)之PoolChunk.allocate

allocate PoolChunk分配内存空间时可调用allocate方法来分配&#xff0c;具体的源码过程如下&#xff1a; 从代码中可以看出会根据分配的内存大小决定分配的是subpage还是normal的page&#xff0c;接下来具体分析以下方法&#xff1a; allocateSubpageallocateRuninitBuf …

Unity|| 如何把生存类游戏设计得更优秀

你是否曾经玩过这样的生存类游戏&#xff1a; 1、通过最初阶段后&#xff0c;你觉得游戏变得越来越简单 2、游戏的重点从生存转移到了基地建设或其他方面 诸如此类&#xff0c;很大程度上是由于糟糕的难度曲线所致。包括很多&#xff08;非常受欢迎的&#xff09;生存游戏都…

Redis——缓存更新策略

业务场景&#xff1a; 低一致性需求&#xff1a;使用内存淘汰机制。例如店铺类型的查询缓存&#xff0c;很少修改 高一致性需求&#xff1a;主动更新&#xff0c;并以超时剔除作为兜底方案。例如店铺详情查询的缓存&#xff0c;经常修改 主动更新策略 实际开发中最常用的还是…

51单片机(三)独立按键控制LED

❤️ 专栏简介&#xff1a;本专栏记录了从零学习单片机的过程&#xff0c;其中包括51单片机和STM32单片机两部分&#xff1b;建议先学习51单片机&#xff0c;其是STM32等高级单片机的基础&#xff1b;这样再学习STM32时才能融会贯通。 ☀️ 专栏适用人群 &#xff1a;适用于想要…