RHCSE第一天(Linux的例行性工作)

news/2024/11/8 0:10:42/

文章目录

    • Linux搭建服务器的准备工作
    • 第一章 Linux的例行性工作
      • 1.1 单一执行的例行性工作at
        • 1.1.1 at命令的实际工作过程
        • 1.1.2 at命令详解
      • 1.2 循环执行的例行性工作
        • 1.2.1 crontab命令的实际工作过程
        • 1.2.2 crontab命令详解
      • 1.3 实验
        • 实验一:定义三分钟之后显示hello
        • 实验二 : 每天早上9点整,说good morning
        • 实验三:指定某些用户不可以执行计划任务
        • 实验四:系统的例行性任务
        • 实验五:可唤醒停机期间的工作任务

Linux搭建服务器的准备工作

  1. 操作环境 : 创建完虚拟机,安装命令行界面的linux操作系统(centos8,rocky8,rhel8)
  2. 为服务器配置白名单和安全组 :vim /etc/selinux/config,selinux=disabled
  3. 关闭防火墙:systemctl disable firewalld
  4. 网络设置 :在NAT模式下,配置至少一个可上网的静态IP 写好yum源(本地源,网络源)
  5. 安装好相应的常用工具 :vim,netstat,bash-completion,chrony
    让你的系统时间可以自动根据时间服务器进行同步
  6. 写好当前局域网内主机的hosts文件
  7. 做快照

第一章 Linux的例行性工作

1.1 单一执行的例行性工作at

单一执行的例行性工作:单一执行的例行性工作:仅处理执行一次就结束了,at 的对应的服务名 atd

我们使用 at 命令来生成所要运行的工作,并将这个工作,以文本方式写入/var/spool/at/目录内,该工作便能等待 atd 这个服务的取用与执行了。

为了安全问题,不是所有人都可以进行 at 工作调度。我们可以利用/etc/at.allow和/etc/at.deny 这两个文件来进行 at 的使用限制。

1.1.1 at命令的实际工作过程

  1. 寻找到/etc/at.allow文件存在,写在这个文件的用户才能使用at命令
    /etc/at.allow不存在,则寻找/etc/at.deny文件,写在该文件的用户不能使用at命令
  2. 若两个文件都不存在,那么只有root可以使用at命令

注意:

在 rhel 里面,由于假设系统上的所有用户都是可信任的,所以允许所有人使用 at 命令,/etc/at.deny
文件为空,如果你想设置拒绝某人使用 at 命令,你可将该用户写入/etc/at.deny文件

1.1.2 at命令详解

命令格式:at [参数] [时间]

参数	说明
-m	当任务完成之后,即使没有标准输出,将给用户发送邮件
-l	atq的别名,可列出目前系统上面的所有该用户的at调度
-d	atrm的别名,可以取消一个在at调度中的工作
-v	使用较明显的时间格式,列出at调度中的任务列表
-c	可以列出后面接的该项工作的实际命令内容
-f	从文件中读取作业

时间格式
在这里插入图片描述

1.2 循环执行的例行性工作

循环执行的例行性工作**:每隔一定的周期就需要执行一次,crontab

循环执行的例行性工作调度是由crond这个系统服务来控制的。同样,我们也可以限制使用crontab的用户账号。

1.2.1 crontab命令的实际工作过程

1、以账号来判别是否可使用crontab命令

  • /etc/cron.allow 将可以使用 crontab 的账号写入其中,若不在该文件内的用户 则不可使用 cronta
  • /etc/cron.deny 将不可以使用 crontab 的账号写入其中,若不在该文件内的用 户则可使用 crontab。

2、当用户使用 crontab 新建工作调度之后,该项工作就会被记录到/var/spool/cron/里面

3、cron 执行的每一项工作都会被 记录到/var/log/cron这个日志文件中

1.2.2 crontab命令详解

命令格式crontab [-u user] [-l | -r | -e]
在这里插入图片描述

编辑 crontab

[root@localhost cron]# crontab -e	

文件格式为:每一行为一个工作,每项工作具有六个字段
在这里插入图片描述

文件内的特殊字符:
在这里插入图片描述

1.3 实验

实验一:定义三分钟之后显示hello

at now + 3 minutes

注释:
atq可以查看目前主机上有多少的at工作调度
atrm可以删除某项at工作调度

实验二 : 每天早上9点整,说good morning

 0 9 * * * wall "good morning"

注释:

wall命令用于向系统当前所有打开的终端上输出信息。
通过wall命令可将信息发送给每位同意接收公众信息的终端机用户,若不给予其信息内容,则wall命令会从标准输入设备读取数据,然后再把所得到的数据传送给所有终端机用户。

实验三:指定某些用户不可以执行计划任务

分别在下面两个文件中添加上拒绝执行计划任务的用户

/etc/at.deny
/etc/cron.deny

实验四:系统的例行性任务

[root@localhost ~]# vim /etc/crontab 

SHELL=/bin/bash 运行计划所使用的shell 默认是bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin 指定命令执行环境变量路径
MAILTO=root MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户
user-name command to be executed

user-name表示执行命令的用户是谁
当需要同一时间执行多个脚本时,可以将这多个脚本放在一个目录下,然后使用run-parts来执行。
run-parts:该命令可将后面接的“目录”内的所有文件找出来执行。

实验五:可唤醒停机期间的工作任务

anacron 可以处理关机状态时未执行的计划任务,anacron不能指定何时执行某项任务,而是以天为单位或是在开机后立刻进入anacron的操作(/etc/anacrontab)。它会去检测停机期间应该进行但是并没有进行的crontab任务,并将该任务执行一遍,然后anacron就会自动停止了


http://www.ppmy.cn/news/9067.html

相关文章

强化学习的Sarsa与Q-Learning的Cliff-Walking对比实验

强化学习的Sarsa与Q-Learning的Cliff-Walking对比实验Cliff-Walking问题的描述Sarsa和Q-Learning算法对比代码分享需要改进的地方引用和写在最后Cliff-Walking问题的描述 悬崖行走:从S走到G,其中灰色部分是悬崖不可到达,求可行方案 建模中&am…

【代码题】五道链表面试题

目录 1.移除链表元素 2.反转链表 3.链表的中间结点 4.链表中倒数第k个结点 5.合并两个有序链表 1.移除链表元素 点击进入该题 给你一个链表的头节点 head 和一个整数 val ,请你删除链表中所有满足 Node.val val 的节点,并返回新的头节点 。 思路&am…

WebSocket实现聊天室

需求 实现用户登录功能展示用户好友列表功能实现用户历史消息展示实现单聊信息和群聊信息 效果展示 用户登录 好友列表展示 历史消息展示 聊天 代码实现 说明&#xff1a;Springboot项目&#xff0c;页面是用 thymeleaf 整合的。 maven依赖 <dependencies><depen…

常见服务及其安全漏洞浅析(二)

今天继续给大家介绍渗透测试相关知识&#xff0c;本文主要内容是常见服务及其安全漏洞浅析。 免责声明&#xff1a; 本文所介绍的内容仅做学习交流使用&#xff0c;严禁利用文中技术进行非法行为&#xff0c;否则造成一切严重后果自负&#xff01; 再次强调&#xff1a;严禁对未…

在线问诊呈爆发式增长,聚合支付分账如何助力互联网医疗平台加速发展?

&#xff08;图源:pexels网站&#xff09; 随着疫情的放开&#xff0c;人们问诊需求快速上涨&#xff0c;由于医院服务的压力激增&#xff0c;线上问诊成为了不少人替代去医院的有效手段&#xff0c;甚至于线上问诊开始出现了爆发式增长。但是在互联网医疗平台的发展过程中&am…

Python调用C++代码用法——Linux

目录 前言 C/C动态共享库编译 ctype模块 ctype数据类型 使用案例 float数据 指针 输出数组 结构体及结构体指针 numpy图像当作指针传入 参考资料 前言 在项目开发中&#xff0c;有时会使用到多种编程语言&#xff0c;比如部分功能是C/C代码实现的&#xff0c;而另一部…

OBS 进阶 音频面板优化

因为,面板高度就那么大,如果声音源很多的话,就有点乱。 优化目的:静音的,自动放在底部,这样,音频面板上面的都是没有静音的,也是我们最关注的部分。 目录 一、音频面板优化 1、不想要音频面板的title,将其去掉

九、动态组件与插槽

一、动态组件 1.1、什么是动态组件 动态组件指的是动态切换组件的显示与隐藏。 1.2、如何实现动态组件渲染 vue提供了一个内置的<component>组件&#xff0c;专门用来实现动态组件的渲染。示例代码如下&#xff1a; data() {// 1. 当前要渲染的组件名称return {comN…