1、安装部署及例行性工作

RHCE板块

欢迎来到我的博客,这里是Linux板块,配合之前RHCSA进阶,希望我的博客可以帮助到您,感谢您的阅读,有什么问题还希望一起探讨交流,感谢各位的支持,感谢!

  1. 使用Linux搭建一个简单的论坛
  2. RHCE——一、安装部署及例行性工作
  3. RHCE——二、时间服务器
  4. RHCE——三、远程连接服务器
  5. RHCE——四、Web服务器(理论篇
  6. RHCE——五、Web服务器及内网穿透(实验篇
  7. RHCE——六、基于https协议的静态网站
  8. RHCE——七、搭建云存储器
  9. RHCE——八、DNS域名解析服务器
  10. RHCE——九、SELinux
  11. RHCE——十、防火墙、iptables、firewalld
  12. RHCE——十一、NFS服务器
  13. RHCE——十二、Mysql服务
  14. RHCE——十三、Shell自动化运维编程基础
  15. RHCE——十四、变量和引用
  16. RHCE——十五、shell条件测试
  17. RHCE——十六、流程控制之条件判断、循环
  18. RHCE——十七、文本搜索工具-grep、正则表达式
  19. RHCE——十八、shell编程之sed
  20. RHCE——十九、shell编程之awk
  21. RHCE——二十、Ansible及安装与配置
  22. RHCE——二十一、Ansible模块

一、网络服务

1、准备工作

首先可以参考RHCSA的第一篇文章系统的安装:
红帽虚拟机安装
新手建议先看初级学习(即上链接)

  • 1、文件菜单—新建虚拟机—典型—下一步

在这里插入图片描述

  • 2、安装操作系统

在这里插入图片描述

  • 3、选择操作系统类型,如果找不到类型名,可以以内核(kernel)版本号为准,这里红帽RHEL9版本使用的是Linux5内核,而之前的8.0版本自然使用的是Linux4.0内核。

在这里插入图片描述
在这里插入图片描述

  • 4、命名虚拟机

在这里插入图片描述

  • 5、设置磁盘空间,默认为20G,动态空间申请,设置为单个文件。

在这里插入图片描述
这里单个文件创建和多个文件创建的区别:
单文件便于写入,多文件便于移动。

  • 6、自定义硬件,设置硬件参数:

在这里插入图片描述

  • 内存:推荐2GB
  • 处理器:1颗、2核心
  • 新CD/DVD:适应ISO映像文件,点击浏览按钮,选择之前下载好的RHEL9.1.iso镜像文件
  • 网络适配器:选择NAT模式
  • 显示器:去掉"加速3D图形“的对钩
  • 移除打印机等不用的设备
  • 点击完成

2、RHEL9操作系统的安装部署

  • 1、使用鼠标点击黑色界面进入RHEL9.1系统,通过ctrl+alt可以释放鼠标焦点回到Windows
  • 2、通过键盘方向键选择第一项Install Red Hat Enterprise Linux9.1选项进行安装系统

在这里插入图片描述

  • 3、选择语言

在这里插入图片描述

  • 4、安装信息设置
    • 安装目的地:显示安装未知,一般为硬盘,并进行分区:
      1、/boot:系统启动分区,400MB
      2、swap:交换分区,4GB
      3、/:根分区,期望容量省略,表示将剩余空i教案全部分配
      方法:点击下图的加号,设置挂载点及期望容量(重复多次),点击完成,点击接收更改
      这里分区在以后进入企业之后在不知道具体业务的情况下,可分此三个区。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 禁用KDUMP:内核崩溃转储保护机制,学习情况下关闭,生产环境中需要打开。
  • root账户密码设置:必须将四二对勾打上:

在这里插入图片描述

  • 创建用户:创建一个普通账户,设置密码

在这里插入图片描述

  • 5、接下来完成点击安装RHEL系统

3、配置并优化RHEL9操作系统

登录:点击“未列出”输入账户root和密码后登录
打开终端:活动->终端
关闭锁屏:活动->九个点按钮(显示应用程序)->设置->隐私->锁屏->息屏延时改为从不->关闭自动锁屏

  • 1、系统设置中检查网络连接状态
  • 2、关闭自动锁屏功能

在这里插入图片描述

  • 3、更新配置yum源
[root@server ~]# cd  /etc/yum.repos.d
[root@server yum.repos.d]# mv redhat.repo  redhat.repo.back  # 此步骤可选
# 使用xftp上传Centos-9-Stream.repo 配置文件
# 提示系统未注册,可执行以下2步,将enabled=1修改为0,但也可以不该,不影响使用
[root@server yum.repos.d]# vim  /etc/yum/pluginconf.d/product-id.conf 
enabled=0
[root@server yum.repos.d]# vim /etc/yum/pluginconf.d/subscription-manager.conf 
enabled=0
[root@server yum.repos.d]# yum  makecache  # 制作缓存
  • 4、修改主机名
[root@server ~]# cd ~
[root@server ~]# hostnamectl  set-hostname   server   # server为主机名
[root@server ~]# reboot  # 重启
  • 5、关闭防火墙及SELinux
[root ~]# vim  /etc/selinux/config # 编辑SELinux配置文件修改为关闭
SELINUX=disabled

[root ~]# systemctl stop  firewalld   # 关闭防火墙
[root ~]# systemctl disable  firewalld  #v取消开机启动
  • 5、ping测试,并拍摄快照
  • 6、对SERVER主机进行克隆,克隆出节点12即为NODE1以及NODE2,重启生效,并拍摄快照。

4、网络配置

方式一:可视化配置:nmtui
格式:

[root ~]# nmtui

在这里插入图片描述
增加一个IP地址
在这里插入图片描述
激活并重启查看;

[root ~]# nmcli c  up ens160
[root ~]# nmcli c  reload
[root ~]# ip addr

方式二:nmcli命令

  • 1、格式:
[root ~]# nmcli --help
用法:nmcli [选项] 对象 { 命令 | help }
  • 2、查看虚拟机网卡信息:
[root ~]# nmcli  c  show
[root ~]# nmcli  c  show  网卡名  #  查看网卡详细信息,点q退出
[root ~]# nmcli dev  status  #  查看已有设备的状态
[root ~]# nmcli dev  show  # 查看所有硬件设备状态
  • 3、激活网卡和关闭连接
[root ~]# nmcli c up  网卡名   
[root ~]# nmcli c down  网卡名    # 停用连接
  • 4、添加网络连接
[root ~]# nmcli c  add  type  ethernet ifname ens160 con-name ens161  autoconnect yes  ip4 192.168.48.135/24  gw4 192.168.48.2
[root ~]# nmcli c up  ens161  # 激活
[root ~]# nmcli  c  show

命令解释

  • 关键字:nmcli c add type
  • 网络类型:ethernet
  • 现有网卡名:ifname ens160
  • 新网络名称:con-name ens161
  • 开启自动连接:autoconnect yes
  • 新连接的IP地址与网关地址:ip4 192.168.48.135/24 gw4 192.168.48.2

5、修改网络连接

  • 通过ens160连接设置静态ip地址:
[root ~]# nmcli  c  mod  ens160  ipv4.method  manual  ipv4.addresses  '192.168.48.150/24'  ipv4.gateway  '192.168.48.2'  ipv4.dns  '114.114.114.114'  

[root ~]# nmcli c up ens160  # 激活
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/7[root ~]# ip a  # 查看结果
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:dc:cf:14 brd ff:ff:ff:ff:ff:ff
    altname enp3s0
    inet 192.168.48.150/24 brd 192.168.48.255 scope global noprefixroute ens160
  • ipv4.method manual :手动获取(静态)
  • 通过配置文件查看和编辑:
[root ~]# vim  /etc/NetworkManager/system-connections/ens160.nmconnection 
# 配置:
[ipv4]
address1=192.168.48.150/24,192.168.48.2
dns=114.114.114.114;
method=manual
# 格式
[ipv4]
address1=IP地址/24,网关地址
dns=114.114.114.114;
method=manual

删除网络连接;

[root ~]# nmcli  c  show   # 查看网络连接
[root ~]# nmcli c del  ens161   #  删除
[root ~]# nmcli  c  show  # 再次查看
  • 配置完毕后需要快照

二、例行性工作

场景:

  • 生活中,我们有太多场景需要使用到闹钟,比如早上 7 点起床,下午 4 点开会,晚上 8 点购物,等等。

  • 在 Linux 系统里,我们同样也有类似的需求。比如我们想在凌晨 1 点将文件上传服务器,或者在晚上 10 点确认系统状态,等等。

  • 但我们不可能一直守在电脑前,毕竟我们也需要下班/睡觉,还要陪女朋友(new一个也行)。而且即使在上班期间,如果到点了还需要人工操作,未免效率太低了。

  • at 命令就是为这个需求而诞生的。使用 at 命令,你可以在特定时间自动完成你所设定的任务,也可以实现自动化,非常方便快捷!

1、单一执行的例行性工作

单一执行的例行性任务–at(一次性)
1、安装

  • at命令一般会默认安装在系统中,通过下列命令查看版本号
[root ~]# at  -V
at version 3.1.23
  • 查看执行的状态
[root ~]# systemctl status atd   # 查看状态
[root ~]# systemctl enable --now  atd  # 开机启动并当前立刻启动

2、at命令详解
1、格式:

at  -参数  日期时间

2、举例

[root ~]# at  14:08
warning: commands will be executed using /bin/sh
at> ls  /root  >  at.txt
at> <EOT>         # 按下ctrl+d退出输入状态
job 1 at Sat Aug 19 14:08:00 2023
[root ~]# at  -l   # 浏览计划任务列表
[root ~]# ls     # 查看结果
公共  模板  视频  图片  文档  下载  音乐  桌面  anaconda-ks.cfg  at.txt
[root ~]# cat  at.txt 

3、参数详情:

-l:列出系统中所有用户的at任务
atq:等价于at  -l

-d :删除或取消一个任务
-v :使用时间格式累出at任务
-c :可以列出任务后的命令内容
-f :从文件中读取

4、举例:

  • 不使用交互命令实现at任务
[root ~]# echo  "echo  'hello again'  >>  at.txt"  |  at now  +1 minute^C
[root ~]# cat  at.txt

5、时间格式:

参数说明
HH:MM在今天HH小时的MM分钟执行,若时间错过则在明天执行
HH:MM YYYY-MM-DD规定在某年某月某日的特殊时间执行
now +数字 时间单词now + 2 mintues
now + 3 hours
mow +4 days
now +5 weeks

6、注意:

  • at命令只要指定的时间正确,就可以执行对应的命令
  • at命令的输出结果不会显示到屏幕上
  • at命令中执行的命令最好使用绝对路径,不容易报错
  • 过程:输入at 时间 -> 回车 ->输入执行的命令->ctrl+d退出at
  • at命令只会执行一次

7、at命令执行过程分析

  • 第一步:寻找/etc/at.allow (白名单)是否存在,写在该文件中用户才可执行at命令
  • 第二步:若/etc/at.allow不存在,则寻找/etc/at.deny(黑名单)文件,写在该文件中的用户不能使用at命令
  • 第三步:若两个文件都不存在则只有root用户可以使用at命令
  • 注意:若拒绝某用户使用at命令则可以将用户名写入到/etc/at.deny中

8、举例

  • 设置某些账户不可用at命令
[root@server ~]# useradd  ce1  # 新建账户
[root@server ~]# passwd  ce1   # 设置密码
更改用户 ce1 的密码 。
新的密码: 
无效的密码: 密码少于 8 个字符
重新输入新的密码: 
passwd:所有的身份验证令牌已经成功更新。
[root@server ~]# id  ce1        # 查看账户信息
用户id=1001(ce1) 组id=1001(ce1)=1001(ce1)

[root@server ~]# tail  -1  /etc/passwd   # 查看账户信息
ce1:x:1001:1001::/home/ce1:/bin/bash

[root@server ~]# vim  /etc/at.deny  # 编辑黑名单
# 写入ce1
 
[root@server ~]# su  ce1  # 切换账户
[ce1@server root]$ cd  ~
[ce1@server ~]$ at 14:44   # 由于ce1在黑名单中,则禁止使用at命令
You do not have permission to use at.
[ce1@server ~]$ su root     # 切换回root账户
密码: 
[root@server ce1]# vim  /etc/at.deny   # 编辑黑名单
# 删除ce1
[root@server ce1]# su  ce1   # 切换账户
[ce1@server ~]$ at  14:46    # 可以使用at命令
warning: commands will be executed using /bin/sh
at> 
at> <EOT>    # ctrl+d  退出
job 6 at Sat Aug 19 14:46:00 2023
[ce1@server ~]$ su root 

9、练习白名单以及黑名单:

[root ~]# id ce1
用户id=1001(ce1) 组id=1001(ce1)=1001(ce1)
[root ~]# tail -1 /etc/passwd
ce1:x:1001:1001::/home/ce1:/bin/bash
[root ~]# vim /etc/at.deny 
[root ~]# cat /etc/at.deny 
ce1
[root ~]# su ce1
[ce1 root]$ cd
[ce1 ~]$ at 14:44
You do not have permission to use at.
[ce1 ~]$ su root
密码: 
[root ce1]# vim /etc/at.deny 
[root ce1]# cat /etc/at.deny 

[root ce1]# su ce1
[ce1 ~]$ at 14:45
warning: commands will be executed using /bin/sh
at> <EOT>             
job 3 at Sun Aug 20 14:45:00 2023
[ce1 ~]$ su root
密码: 
[root ce1]# cd
[root ~]# vim /etc/at.allow
[root ~]# su fox
[fox root]$ at
You do not have permission to use at.
[fox root]$ su root
密码: 
su: 鉴定故障
[fox root]$ su root
密码: 
[root ~]# vim /etc/at.allow 
[root ~]# cat /etc/at.allow 
fox
[root ~]# su fox
[fox root]$ at
Garbled time
[fox root]$ at 14:56
warning: commands will be executed using /bin/sh
at> <EOT>
job 4 at Sat Aug 19 14:56:00 2023
[fox root]$ su root
密码: 
[root ~]# vim /etc/at.deny 
[root ~]# su fox
[fox root]$ at
Garbled time
[fox root]$ su root
密码: 
su: 鉴定故障
[fox root]$ su root
密码: 
[root ~]# vim /etc/at.allow 
[root ~]# cat /etc/at.deny 
fox
[root ~]# su fox
[fox root]$ at
You do not have permission to use at.

2、循环执行的例行性工作

循环执行的例行性任务–crontab(周期性)
1、crontd服务

  • at 命令是在指定的时间只能执行一次任务,crontab 命令可以循环重复的执行定时任务,与Windows 中的计划任务有些类似
  • crond 是 Linux 下用来周期地执行某种任务或等待处理某些事件的一个守护进程,在安装完成操作系统后,默认会安装 crond 服务工具,且 crond 服务默认就是自启动的,若需要安装则执行如下命令:
[root@server ~]# yum  install  crontabs  # 安装
[root@server ~]# systemctl  status  crond   # 查看状态

在这里插入图片描述

  • crond 进程每分钟会定期检查是否有要执行的任务,如果有,则会自动执行该任务,crontab 命令需要 crond 服务支持

  • linux 任务调度的工作主要分为以下两类:

    • 系统执行的工作:系统周期性所要执行的工作,如备份系统数据、清理缓存
    • 个人执行的工作:某个用户定期要做的工作,例如每隔 10 分钟检查邮件服务器是否有新信,这些工作可由每个用户自行设置

2、crontab工作过程

  • 当系统中有 /etc/cron.allow 文件时,只有写入此文件的用户可以使用 crontab 命令,没有写入的用户不能使用 crontab 命令。同样,如果有此文件,/etc/cron.deny 文件会被忽略,因为 /etc/cron.allow 文件的优先级更高

  • 当系统中只有 /etc/cron.deny 文件时,写入此文件的用户不能使用 crontab 命令,没有写入文件的用户可以使用 crontab 命令

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

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

3、crontab命令详解
(1)、格式

crontab  [-u  user]  [-l| -r | -e] 

(2)、参数

参数说明
-u只有root才能执行该任务
-e编辑crontab工作内容
-l查询crontab任务内容
-r删除cronatb任务

(3)、编辑crontab

  • 格式
crontab  -e
  • 注意:写入的命令一行一个命令,每行共6段:时间 命令
  • 时间共5段,意义如下:
表示意义分钟小时日期月份星期
数字范围0-590-231-311-120-7(0和7都表示星期日)

(4)、特殊字符

*   :  任意时刻
-   :  表示范围
,(逗号)  :分割时段
*/数字   :指定时间间隔频率,如:每3分钟执行一次:*/3

(5)、时间描述示例:

1 2 * * *   : 每天凌晨21分执行动作
0 17 * * 1  : 每周一下午17点整执行动作
0 5 1,15 * * :每月1日和15日凌晨5点执行动作
40 4 * * 1-5 :每周一至周五凌晨440分执行动作
*10 
*/10 4 * * * : 每天凌晨4点每隔10分钟执行动作
3,15 8-11 */2 * * :每隔2天上午8-11点的第3分钟和第15分钟执行动作
* * * * * :每隔1分钟执行动作

三、书写定时任务的注意事项

  • 6 个字段都不能为空,如果不确定则使用*表示任意时间
  • crontab命令任务的最小时间单位为分钟,最大有效时间为月,如:2024年某时执行、3点30分30秒这样的时间日期无法被识别
  • 定义时间时,日期和星期最好不要一起出现,由于都是以天为单位,非常让管理员混淆
  • 在定时任务中不能,不管是写命令还是在脚本中写命令,最好都用绝对路径,相对路径有时会报错

四、系统级别的计划任务

  • crontab -e 时每个用户都可以执行的命令,但有时定时任务必须由系统执行,此时就需要编辑/etc/crontab配置文件来实现
  • 主配置文件:
[root ~]# vim  /etc/crontab
  • 仅能通过root定义,不可以使用普通账户身份去执行计划任务
  • 方法:在/etc/crontab 最后一行新增计划任务即可
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

分析

  • SHELL=/bin/bash : 指定系统使用那个shell解释器去执行
  • PATH=/sbin:/bin:/usr/sbin:/usr/bin : 系统执行命令的搜索路径
  • MAILTO=root : 表示执行任务的信息通过邮件发送给谁
  • user-name : 表示执行命令的用户是谁

五、实验

1、实验一:编写脚本test.sh并执行

  • 1、编写脚本test.sh
[root ~]vim test.sh
#!/bin/bash

while :
do
        echo  "this is my test sh"$(date)  >>  /root/cro.txt
        sleep 1
done
  • 2、设置周期性的计划任务
[root ~]# crontab  -e
*/1 * * * * /bin/bash  /root/test.sh

注意:crond服务会自动启动,crontab命令只要保存就会生效

  • 3、查看任务
[root ~]# crontab  -l*/1 * * * * /bin/bash  /root/test.sh
[root ~]# cat /root/cro.txt 

在这里插入图片描述

  • 4、删除任务
[root ~]# crontab  -r    # 删除
[root ~]# crontab  -l    # 查看
no crontab for root
  • 5、终止循环进程
[root ~]# ps  -aux  |  grep  test  # 查看已存在的test进程
[root ~]# kill  -9  进程号   # 强制终止

示例:

[root ~]# ps -aux | grep test
root        2514  0.1  0.1 222516  3460 ?        Ss   15:31   0:00 /bin/bash /root/test.sh
root        2664  0.1  0.1 222516  3404 ?        Ss   15:32   0:00 /bin/bash /root/test.sh
root        2918  0.1  0.1 222516  3476 ?        Ss   15:33   0:00 /bin/bash /root/test.sh
root        3445  0.0  0.1 221680  2360 pts/0    S+   15:34   0:00 grep --color=auto test
[root ~]# kill -9 2514
[root ~]# kill -9 2664
[root ~]# kill -9 2918
[root ~]# ps -aux | grep test
root        3753  0.0  0.1 221680  2344 pts/0    S+   15:35   0:00 grep --color=auto test

2、实验二:设置邮件报警及例行性发送功能

  • 1、登陆qq邮箱,在最上栏找到账号点击,并找到这个服务点击启动服务(会让手机发送验证码)。

请添加图片描述

  • 2、到下一个界面并将授权码复制并保存,之后会用到
  • 3、安装邮件服务
[root ~]# yum install s-nail -y
上次元数据过期检查:0:51:48 前,执行于 20230819日 星期六 145645秒。
依赖关系解决。
=========================================================================================================================================================
 软件包                            架构                              版本                                     仓库                                  大小
=========================================================================================================================================================
安装:
 s-nail                            x86_64                            14.9.22-8.el9                            AppStream                            622 k

事务概要
=========================================================================================================================================================
安装  1 软件包

总下载:622 k
安装大小:1.1 M
下载软件包:
s-nail-14.9.22-8.el9.x86_64.rpm                                                                                          851 kB/s | 622 kB     00:00    
---------------------------------------------------------------------------------------------------------------------------------------------------------
总计                                                                                                                     847 kB/s | 622 kB     00:00     
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
  准备中  :                                                                                                                                          1/1 
  运行脚本: s-nail-14.9.22-8.el9.x86_64                                                                                                              1/1 
  安装    : s-nail-14.9.22-8.el9.x86_64                                                                                                              1/1 
  运行脚本: s-nail-14.9.22-8.el9.x86_64                                                                                                              1/1 
  验证    : s-nail-14.9.22-8.el9.x86_64                                                                                                              1/1 

已安装:
  s-nail-14.9.22-8.el9.x86_64                                                                                                                            

完毕!
  • 4、配置邮件服务
[root ~]# vim  /etc/s-nail.rc

这里在最后加下面这几条命令。

set  from=17674044.com
set  smtp=smtp.qq.com
set  smtp-auth-user=qq邮箱
set  smtp-auth-password=授权码
set  smtp-auth=login

注意:文件配置完毕需要强制保存并退出,末行模式下输入wq!(由于这个文件为只读文件)
查看:

[root ~]# vim /etc/s-nail.rc 
[root ~]# tail -5 /etc/s-nail.rc 
set smtp=smtp.qq.com
set smtp-auth-user=3103646008.com
set smtp-auth-password=rxjivbmohdytddjh
set smtp-auth=login

[root ~]# ll /etc/s-nail.rc 
-r--r--r-- 1 root root 9771  819 15:57 /etc/s-nail.rc
  • 5、测试
[root ~]# echo "testmail" | mail -s "testmail" 1927875806.com
s-nail: Warning: $LOGNAME (fox) not identical to user (root)!
s-nail: Warning: $USER (fox) not identical to user (root)!
s-nail: Warning: variable superseded or obsoleted: smtp
s-nail: Warning: variable superseded or obsoleted: smtp-auth-user
s-nail: Warning: variable superseded or obsoleted: smtp-auth-password
s-nail: Obsoletion warning: please do not use *smtp*, instead assign a smtp:// URL to *mta*!
s-nail: Obsoletion warning: Use of old-style credentials, which will vanish in v15!
s-nail:   Please read the manual section "On URL syntax and credential lookup"
[root ~]# echo "testmail" | mail -s "testmail" 3103646008.com
s-nail: Warning: $LOGNAME (fox) not identical to user (root)!
s-nail: Warning: $USER (fox) not identical to user (root)!
s-nail: Warning: variable superseded or obsoleted: smtp
s-nail: Warning: variable superseded or obsoleted: smtp-auth-user
s-nail: Warning: variable superseded or obsoleted: smtp-auth-password
s-nail: Obsoletion warning: please do not use *smtp*, instead assign a smtp:// URL to *mta*!
s-nail: Obsoletion warning: Use of old-style credentials, which will vanish in v15!
s-nail:   Please read the manual section "On URL syntax and credential lookup"

这里我们发送了两封测试邮件,发送成功则为上一步配置成功。

  • 6、设置周期性的任务,每隔1分钟发送邮件
[root ~]# crontab  -e
MAILTO=qq邮箱

* * * * * echo  "警告,server服务器内存较低,请速处理."  |  mail  -v  -s  "告警邮件"  qq邮箱

这里配置即为每分钟发送一次。

3、实验三

每天6:00将日志文件/var/log/messages 文件进行备份,备份到/backup目录中,备份时需要将文件名修改为logfileYYYY-MM-DD-HH:MM:SS

[root ~]# mkdir  /backup

[root ~]# vim  /etc/crontab
0 6 * * * root  /usr/bin/cp  /var/log/messages /backup/logfile`date  +\%Y-\%m-\%d-\%H:\%M:\%S` 


# 注意
	# 反引号``:表示将引起的内容识别为命令
	# 在crontab中%表示换行,需要增加转义符\进行转义
[root ~]# mkdir /backup
[root ~]# vim /etc/crontab
[root ~]# vim /etc/crontab
[root ~]# cd /backup/
[root backup]# ls
logfile2023-08-19-16:37-01  logfile2023-08-19-16:38-01
[root backup]# ll
总用量 2344
-rw------- 1 root root 1196788  819 16:37 logfile2023-08-19-16:37-01
-rw------- 1 root root 1196788  819 16:38 logfile2023-08-19-16:38-01
[root backup]# cd
[root ~]# vim /etc/crontab 
[root ~]# cat /etc/crontab 
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值