RHCE板塊
歡迎來到我的博客,這里是Linux板塊,配合之前RHCSA進(jìn)階,希望我的博客可以幫助到您,感謝您的閱讀,有什么問題還希望一起探討交流,感謝各位的支持,感謝!
0、RHCSA——使用Linux搭建一個(gè)簡單的論壇(這里即可跳轉(zhuǎn)Linux基礎(chǔ)內(nèi)容)
https://blog.csdn.net/weixin_63172698/article/details/130977137?spm=1001.2014.3001.5501
1、RHCE——一、安裝部署及例行性工作
https://blog.csdn.net/weixin_63172698/article/details/132378717?spm=1001.2014.3001.5501
2、RHCE——二、時(shí)間服務(wù)器
https://blog.csdn.net/weixin_63172698/article/details/132388581?spm=1001.2014.3001.5501
3、RHCE——三、遠(yuǎn)程連接服務(wù)器
https://blog.csdn.net/weixin_63172698/article/details/132391288?spm=1001.2014.3001.5501
4、RHCE——四、Web服務(wù)器(理論篇)
https://blog.csdn.net/weixin_63172698/article/details/132426298?spm=1001.2014.3001.5501
5、RHCE——五、Web服務(wù)器及內(nèi)網(wǎng)穿透(實(shí)驗(yàn)篇)
https://blog.csdn.net/weixin_63172698/article/details/132425515?spm=1001.2014.3001.5501
6、RHCE——六、基于https協(xié)議的靜態(tài)網(wǎng)站
https://blog.csdn.net/weixin_63172698/article/details/132445286?spm=1001.2014.3001.5501
7、RHCE——七、搭建云存儲器
https://blog.csdn.net/weixin_63172698/article/details/132453897?spm=1001.2014.3001.5501
8、RHCE——八、DNS域名解析服務(wù)器
https://blog.csdn.net/weixin_63172698/article/details/132522246?spm=1001.2014.3001.5501
9、RHCE——九、SELinux
https://blog.csdn.net/weixin_63172698/article/details/132526882?spm=1001.2014.3001.5501
10、RHCE——十、防火墻、iptables、firewalld
https://blog.csdn.net/weixin_63172698/article/details/132527048?spm=1001.2014.3001.5501
11、RHCE——十一、NFS服務(wù)器
https://blog.csdn.net/weixin_63172698/article/details/132545080?spm=1001.2014.3001.5501
12、RHCE——十二、Mysql服務(wù)
https://blog.csdn.net/weixin_63172698/article/details/132559298?spm=1001.2014.3001.5501
13、RHCE——十三、Shell自動化運(yùn)維編程基礎(chǔ)
https://blog.csdn.net/weixin_63172698/article/details/132609269?spm=1001.2014.3001.5501
14、RHCE——十四、變量和引用
https://blog.csdn.net/weixin_63172698/article/details/132625329?spm=1001.2014.3001.5501
15、RHCE——十五、shell條件測試
https://blog.csdn.net/weixin_63172698/article/details/132625540?spm=1001.2014.3001.5501
16、RHCE——十六、流程控制之條件判斷、循環(huán)
https://blog.csdn.net/weixin_63172698/article/details/132626491?spm=1001.2014.3001.5501
17、RHCE——十七、文本搜索工具-grep、正則表達(dá)式
https://blog.csdn.net/weixin_63172698/article/details/132636679?spm=1001.2014.3001.5501
18、RHCE——十八、shell編程之sed
https://blog.csdn.net/weixin_63172698/article/details/132675880?spm=1001.2014.3001.5501
19、RHCE——十九、shell編程之a(chǎn)wk
https://blog.csdn.net/weixin_63172698/article/details/132712522?spm=1001.2014.3001.5501
20、RHCE——二十、Ansible及安裝與配置
https://blog.csdn.net/weixin_63172698/article/details/132743283?spm=1001.2014.3001.5501
21、RHCE——二十一、Ansible模塊
https://blog.csdn.net/weixin_63172698/article/details/132743390?spm=1001.2014.3001.5501
一、網(wǎng)絡(luò)服務(wù)
1、準(zhǔn)備工作
首先可以參考RHCSA的第一篇文章系統(tǒng)的安裝:
紅帽虛擬機(jī)安裝
新手建議先看初級學(xué)習(xí)(即上鏈接)
- 1、文件菜單—新建虛擬機(jī)—典型—下一步
- 2、安裝操作系統(tǒng)
- 3、選擇操作系統(tǒng)類型,如果找不到類型名,可以以內(nèi)核(kernel)版本號為準(zhǔn),這里紅帽RHEL9版本使用的是Linux5內(nèi)核,而之前的8.0版本自然使用的是Linux4.0內(nèi)核。
- 4、命名虛擬機(jī)
- 5、設(shè)置磁盤空間,默認(rèn)為20G,動態(tài)空間申請,設(shè)置為單個(gè)文件。
這里單個(gè)文件創(chuàng)建和多個(gè)文件創(chuàng)建的區(qū)別:
單文件便于寫入,多文件便于移動。
- 6、自定義硬件,設(shè)置硬件參數(shù):
- 內(nèi)存:推薦2GB
- 處理器:1顆、2核心
- 新CD/DVD:適應(yīng)ISO映像文件,點(diǎn)擊瀏覽按鈕,選擇之前下載好的RHEL9.1.iso鏡像文件
- 網(wǎng)絡(luò)適配器:選擇NAT模式
- 顯示器:去掉"加速3D圖形“的對鉤
- 移除打印機(jī)等不用的設(shè)備
- 點(diǎn)擊完成
2、RHEL9操作系統(tǒng)的安裝部署
- 1、使用鼠標(biāo)點(diǎn)擊黑色界面進(jìn)入RHEL9.1系統(tǒng),通過ctrl+alt可以釋放鼠標(biāo)焦點(diǎn)回到Windows
- 2、通過鍵盤方向鍵選擇第一項(xiàng)Install Red Hat Enterprise Linux9.1選項(xiàng)進(jìn)行安裝系統(tǒng)
- 3、選擇語言
- 4、安裝信息設(shè)置
-
- 安裝目的地:顯示安裝未知,一般為硬盤,并進(jìn)行分區(qū):
1、/boot:系統(tǒng)啟動分區(qū),400MB
2、swap:交換分區(qū),4GB
3、/:根分區(qū),期望容量省略,表示將剩余空i教案全部分配
方法:點(diǎn)擊下圖的加號,設(shè)置掛載點(diǎn)及期望容量(重復(fù)多次),點(diǎn)擊完成,點(diǎn)擊接收更改
這里分區(qū)在以后進(jìn)入企業(yè)之后在不知道具體業(yè)務(wù)的情況下,可分此三個(gè)區(qū)。
- 安裝目的地:顯示安裝未知,一般為硬盤,并進(jìn)行分區(qū):
- 禁用KDUMP:內(nèi)核崩潰轉(zhuǎn)儲保護(hù)機(jī)制,學(xué)習(xí)情況下關(guān)閉,生產(chǎn)環(huán)境中需要打開。
- root賬戶密碼設(shè)置:必須將四二對勾打上:
- 創(chuàng)建用戶:創(chuàng)建一個(gè)普通賬戶,設(shè)置密碼
- 5、接下來完成點(diǎn)擊安裝RHEL系統(tǒng)
3、配置并優(yōu)化RHEL9操作系統(tǒng)
登錄:點(diǎn)擊“未列出”輸入賬戶root和密碼后登錄
打開終端:活動->終端
關(guān)閉鎖屏:活動->九個(gè)點(diǎn)按鈕(顯示應(yīng)用程序)->設(shè)置->隱私->鎖屏->息屏延時(shí)改為從不->關(guān)閉自動鎖屏
- 1、系統(tǒng)設(shè)置中檢查網(wǎng)絡(luò)連接狀態(tài)
- 2、關(guān)閉自動鎖屏功能
- 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 配置文件
# 提示系統(tǒng)未注冊,可執(zhí)行以下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、修改主機(jī)名
[root@server ~]# cd ~
[root@server ~]# hostnamectl set-hostname server # server為主機(jī)名
[root@server ~]# reboot # 重啟
- 5、關(guān)閉防火墻及SELinux
[root ~]# vim /etc/selinux/config # 編輯SELinux配置文件修改為關(guān)閉
SELINUX=disabled
[root ~]# systemctl stop firewalld # 關(guān)閉防火墻
[root ~]# systemctl disable firewalld #v取消開機(jī)啟動
- 5、ping測試,并拍攝快照
- 6、對SERVER主機(jī)進(jìn)行克隆,克隆出節(jié)點(diǎn)12即為NODE1以及NODE2,重啟生效,并拍攝快照。
4、網(wǎng)絡(luò)配置
方式一:可視化配置:nmtui
格式:
[root ~]# nmtui
增加一個(gè)IP地址
激活并重啟查看;
[root ~]# nmcli c up ens160
[root ~]# nmcli c reload
[root ~]# ip addr
方式二:nmcli命令
- 1、格式:
[root ~]# nmcli --help
用法:nmcli [選項(xiàng)] 對象 { 命令 | help }
- 2、查看虛擬機(jī)網(wǎng)卡信息:
[root ~]# nmcli c show
[root ~]# nmcli c show 網(wǎng)卡名 # 查看網(wǎng)卡詳細(xì)信息,點(diǎn)q退出
[root ~]# nmcli dev status # 查看已有設(shè)備的狀態(tài)
[root ~]# nmcli dev show # 查看所有硬件設(shè)備狀態(tài)
- 3、激活網(wǎng)卡和關(guān)閉連接
[root ~]# nmcli c up 網(wǎng)卡名
[root ~]# nmcli c down 網(wǎng)卡名 # 停用連接
- 4、添加網(wǎng)絡(luò)連接
[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
命令解釋
- 關(guān)鍵字:nmcli c add type
- 網(wǎng)絡(luò)類型:ethernet
- 現(xiàn)有網(wǎng)卡名:ifname ens160
- 新網(wǎng)絡(luò)名稱:con-name ens161
- 開啟自動連接:autoconnect yes
- 新連接的IP地址與網(wǎng)關(guān)地址:ip4 192.168.48.135/24 gw4 192.168.48.2
5、修改網(wǎng)絡(luò)連接
- 通過ens160連接設(shè)置靜態(tài)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 # 查看結(jié)果
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 :手動獲取(靜態(tài))
- 通過配置文件查看和編輯:
[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,網(wǎng)關(guān)地址
dns=114.114.114.114;
method=manual
刪除網(wǎng)絡(luò)連接;
[root ~]# nmcli c show # 查看網(wǎng)絡(luò)連接
[root ~]# nmcli c del ens161 # 刪除
[root ~]# nmcli c show # 再次查看
- 配置完畢后需要快照
二、例行性工作
場景:
-
生活中,我們有太多場景需要使用到鬧鐘,比如早上 7 點(diǎn)起床,下午 4 點(diǎn)開會,晚上 8 點(diǎn)購物,等等。
-
在 Linux 系統(tǒng)里,我們同樣也有類似的需求。比如我們想在凌晨 1 點(diǎn)將文件上傳服務(wù)器,或者在晚上 10 點(diǎn)確認(rèn)系統(tǒng)狀態(tài),等等。
-
但我們不可能一直守在電腦前,畢竟我們也需要下班/睡覺,還要陪女朋友(new一個(gè)也行)。而且即使在上班期間,如果到點(diǎn)了還需要人工操作,未免效率太低了。
-
at
命令就是為這個(gè)需求而誕生的。使用at
命令,你可以在特定時(shí)間自動完成你所設(shè)定的任務(wù),也可以實(shí)現(xiàn)自動化,非常方便快捷!
1、單一執(zhí)行的例行性工作
單一執(zhí)行的例行性任務(wù)–at(一次性)
1、安裝
- at命令一般會默認(rèn)安裝在系統(tǒng)中,通過下列命令查看版本號
[root ~]# at -V
at version 3.1.23
- 查看執(zhí)行的狀態(tài)
[root ~]# systemctl status atd # 查看狀態(tài)
[root ~]# systemctl enable --now atd # 開機(jī)啟動并當(dāng)前立刻啟動
2、at命令詳解
1、格式:
at -參數(shù) 日期時(shí)間
2、舉例
[root ~]# at 14:08
warning: commands will be executed using /bin/sh
at> ls /root > at.txt
at> <EOT> # 按下ctrl+d退出輸入狀態(tài)
job 1 at Sat Aug 19 14:08:00 2023
[root ~]# at -l # 瀏覽計(jì)劃任務(wù)列表
[root ~]# ls # 查看結(jié)果
公共 模板 視頻 圖片 文檔 下載 音樂 桌面 anaconda-ks.cfg at.txt
[root ~]# cat at.txt
3、參數(shù)詳情:
-l:列出系統(tǒng)中所有用戶的at任務(wù)
atq:等價(jià)于at -l
-d :刪除或取消一個(gè)任務(wù)
-v :使用時(shí)間格式累出at任務(wù)
-c :可以列出任務(wù)后的命令內(nèi)容
-f :從文件中讀取
4、舉例:
- 不使用交互命令實(shí)現(xiàn)at任務(wù)
[root ~]# echo "echo 'hello again' >> at.txt" | at now +1 minute^C
[root ~]# cat at.txt
5、時(shí)間格式:
參數(shù) | 說明 |
---|---|
HH:MM | 在今天HH小時(shí)的MM分鐘執(zhí)行,若時(shí)間錯(cuò)過則在明天執(zhí)行 |
HH:MM YYYY-MM-DD | 規(guī)定在某年某月某日的特殊時(shí)間執(zhí)行 |
now +數(shù)字 時(shí)間單詞 | now + 2 mintues now + 3 hours mow +4 days now +5 weeks |
6、注意:
- at命令只要指定的時(shí)間正確,就可以執(zhí)行對應(yīng)的命令
- at命令的輸出結(jié)果不會顯示到屏幕上
- at命令中執(zhí)行的命令最好使用絕對路徑,不容易報(bào)錯(cuò)
- 過程:輸入at 時(shí)間 -> 回車 ->輸入執(zhí)行的命令->ctrl+d退出at
- at命令只會執(zhí)行一次
7、at命令執(zhí)行過程分析
- 第一步:尋找/etc/at.allow (白名單)是否存在,寫在該文件中用戶才可執(zhí)行at命令
- 第二步:若/etc/at.allow不存在,則尋找/etc/at.deny(黑名單)文件,寫在該文件中的用戶不能使用at命令
- 第三步:若兩個(gè)文件都不存在則只有root用戶可以使用at命令
- 注意:若拒絕某用戶使用at命令則可以將用戶名寫入到/etc/at.deny中
8、舉例
- 設(shè)置某些賬戶不可用at命令
[root@server ~]# useradd ce1 # 新建賬戶
[root@server ~]# passwd ce1 # 設(shè)置密碼
更改用戶 ce1 的密碼 。
新的密碼:
無效的密碼: 密碼少于 8 個(gè)字符
重新輸入新的密碼:
passwd:所有的身份驗(yàn)證令牌已經(jīng)成功更新。
[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、練習(xí)白名單以及黑名單:
[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、循環(huán)執(zhí)行的例行性工作
循環(huán)執(zhí)行的例行性任務(wù)–crontab(周期性)
1、crontd服務(wù)
at
命令是在指定的時(shí)間只能執(zhí)行一次任務(wù),crontab
命令可以循環(huán)重復(fù)的執(zhí)行定時(shí)任務(wù),與Windows 中的計(jì)劃任務(wù)有些類似- crond 是 Linux 下用來周期地執(zhí)行某種任務(wù)或等待處理某些事件的一個(gè)守護(hù)進(jìn)程,在安裝完成操作系統(tǒng)后,默認(rèn)會安裝 crond 服務(wù)工具,且 crond 服務(wù)默認(rèn)就是自啟動的,若需要安裝則執(zhí)行如下命令:
[root@server ~]# yum install crontabs # 安裝
[root@server ~]# systemctl status crond # 查看狀態(tài)
-
crond 進(jìn)程每分鐘會定期檢查是否有要執(zhí)行的任務(wù),如果有,則會自動執(zhí)行該任務(wù),crontab 命令需要 crond 服務(wù)支持
-
linux 任務(wù)調(diào)度的工作主要分為以下兩類:
- 系統(tǒng)執(zhí)行的工作:系統(tǒng)周期性所要執(zhí)行的工作,如備份系統(tǒng)數(shù)據(jù)、清理緩存
- 個(gè)人執(zhí)行的工作:某個(gè)用戶定期要做的工作,例如每隔 10 分鐘檢查郵件服務(wù)器是否有新信,這些工作可由每個(gè)用戶自行設(shè)置
2、crontab工作過程
-
當(dāng)系統(tǒng)中有 /etc/cron.allow 文件時(shí),只有寫入此文件的用戶可以使用 crontab 命令,沒有寫入的用戶不能使用 crontab 命令。同樣,如果有此文件,/etc/cron.deny 文件會被忽略,因?yàn)?/etc/cron.allow 文件的優(yōu)先級更高
-
當(dāng)系統(tǒng)中只有 /etc/cron.deny 文件時(shí),寫入此文件的用戶不能使用 crontab 命令,沒有寫入文件的用戶可以使用 crontab 命令
-
crontab 執(zhí)行的每一項(xiàng)工作都會被 記錄到 /var/log/cron 這個(gè)日志文件中
-
當(dāng)用戶使用 crontab 新建工作之后,該項(xiàng)工作就會被記錄到 /var/spool/cron/目錄里面
3、crontab命令詳解
(1)、格式
crontab [-u user] [-l| -r | -e]
(2)、參數(shù)
參數(shù) | 說明 |
---|---|
-u | 只有root才能執(zhí)行該任務(wù) |
-e | 編輯crontab工作內(nèi)容 |
-l | 查詢crontab任務(wù)內(nèi)容 |
-r | 刪除cronatb任務(wù) |
(3)、編輯crontab
- 格式
crontab -e
- 注意:寫入的命令一行一個(gè)命令,每行共6段:時(shí)間 命令
- 時(shí)間共5段,意義如下:
表示意義 | 分鐘 | 小時(shí) | 日期 | 月份 | 星期 |
---|---|---|---|---|---|
數(shù)字范圍 | 0-59 | 0-23 | 1-31 | 1-12 | 0-7(0和7都表示星期日) |
(4)、特殊字符
* : 任意時(shí)刻
- : 表示范圍
,(逗號) :分割時(shí)段
*/數(shù)字 :指定時(shí)間間隔頻率,如:每3分鐘執(zhí)行一次:*/3
(5)、時(shí)間描述示例:
1 2 * * * : 每天凌晨2點(diǎn)1分執(zhí)行動作
0 17 * * 1 : 每周一下午17點(diǎn)整執(zhí)行動作
0 5 1,15 * * :每月1日和15日凌晨5點(diǎn)執(zhí)行動作
40 4 * * 1-5 :每周一至周五凌晨4點(diǎn)40分執(zhí)行動作
*、10
*/10 4 * * * : 每天凌晨4點(diǎn)每隔10分鐘執(zhí)行動作
3,15 8-11 */2 * * :每隔2天上午8-11點(diǎn)的第3分鐘和第15分鐘執(zhí)行動作
* * * * * :每隔1分鐘執(zhí)行動作
三、書寫定時(shí)任務(wù)的注意事項(xiàng)
- 6 個(gè)字段都不能為空,如果不確定則使用*表示任意時(shí)間
- crontab命令任務(wù)的最小時(shí)間單位為分鐘,最大有效時(shí)間為月,如:2024年某時(shí)執(zhí)行、3點(diǎn)30分30秒這樣的時(shí)間日期無法被識別
- 定義時(shí)間時(shí),日期和星期最好不要一起出現(xiàn),由于都是以天為單位,非常讓管理員混淆
- 在定時(shí)任務(wù)中不能,不管是寫命令還是在腳本中寫命令,最好都用絕對路徑,相對路徑有時(shí)會報(bào)錯(cuò)
四、系統(tǒng)級別的計(jì)劃任務(wù)
- crontab -e 時(shí)每個(gè)用戶都可以執(zhí)行的命令,但有時(shí)定時(shí)任務(wù)必須由系統(tǒng)執(zhí)行,此時(shí)就需要編輯/etc/crontab配置文件來實(shí)現(xiàn)
- 主配置文件:
[root ~]# vim /etc/crontab
- 僅能通過root定義,不可以使用普通賬戶身份去執(zhí)行計(jì)劃任務(wù)
- 方法:在/etc/crontab 最后一行新增計(jì)劃任務(wù)即可
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 : 指定系統(tǒng)使用那個(gè)shell解釋器去執(zhí)行
- PATH=/sbin:/bin:/usr/sbin:/usr/bin : 系統(tǒng)執(zhí)行命令的搜索路徑
- MAILTO=root : 表示執(zhí)行任務(wù)的信息通過郵件發(fā)送給誰
- user-name : 表示執(zhí)行命令的用戶是誰
五、實(shí)驗(yàn)
1、實(shí)驗(yàn)一:編寫腳本test.sh并執(zhí)行
- 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、設(shè)置周期性的計(jì)劃任務(wù)
[root ~]# crontab -e
*/1 * * * * /bin/bash /root/test.sh
注意:crond服務(wù)會自動啟動,crontab命令只要保存就會生效
- 3、查看任務(wù)
[root ~]# crontab -l*/1 * * * * /bin/bash /root/test.sh
[root ~]# cat /root/cro.txt
- 4、刪除任務(wù)
[root ~]# crontab -r # 刪除
[root ~]# crontab -l # 查看
no crontab for root
- 5、終止循環(huán)進(jìn)程
[root ~]# ps -aux | grep test # 查看已存在的test進(jìn)程
[root ~]# kill -9 進(jìn)程號 # 強(qiáng)制終止
示例:
[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、實(shí)驗(yàn)二:設(shè)置郵件報(bào)警及例行性發(fā)送功能
- 1、登陸qq郵箱,在最上欄找到賬號點(diǎn)擊,并找到這個(gè)服務(wù)點(diǎn)擊啟動服務(wù)(會讓手機(jī)發(fā)送驗(yàn)證碼)。
- 2、到下一個(gè)界面并將授權(quán)碼復(fù)制并保存,之后會用到
- 3、安裝郵件服務(wù)
[root ~]# yum install s-nail -y
上次元數(shù)據(jù)過期檢查:0:51:48 前,執(zhí)行于 2023年08月19日 星期六 14時(shí)56分45秒。
依賴關(guān)系解決。
=========================================================================================================================================================
軟件包 架構(gòu) 版本 倉庫 大小
=========================================================================================================================================================
安裝:
s-nail x86_64 14.9.22-8.el9 AppStream 622 k
事務(wù)概要
=========================================================================================================================================================
安裝 1 軟件包
總下載:622 k
安裝大?。?span id="n5n3t3z" class="token number">1.1 M
下載軟件包:
s-nail-14.9.22-8.el9.x86_64.rpm 851 kB/s | 622 kB 00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------
總計(jì) 847 kB/s | 622 kB 00:00
運(yùn)行事務(wù)檢查
事務(wù)檢查成功。
運(yùn)行事務(wù)測試
事務(wù)測試成功。
運(yùn)行事務(wù)
準(zhǔn)備中 : 1/1
運(yùn)行腳本: s-nail-14.9.22-8.el9.x86_64 1/1
安裝 : s-nail-14.9.22-8.el9.x86_64 1/1
運(yùn)行腳本: s-nail-14.9.22-8.el9.x86_64 1/1
驗(yàn)證 : s-nail-14.9.22-8.el9.x86_64 1/1
已安裝:
s-nail-14.9.22-8.el9.x86_64
完畢!
- 4、配置郵件服務(wù)
[root ~]# vim /etc/s-nail.rc
這里在最后加下面這幾條命令。
set from=17674044.com
set smtp=smtp.qq.com
set smtp-auth-user=qq郵箱
set smtp-auth-password=授權(quán)碼
set smtp-auth=login
注意:文件配置完畢需要強(qiáng)制保存并退出,末行模式下輸入wq!(由于這個(gè)文件為只讀文件)
查看:
[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 8月 19 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"
這里我們發(fā)送了兩封測試郵件,發(fā)送成功則為上一步配置成功。
- 6、設(shè)置周期性的任務(wù),每隔1分鐘發(fā)送郵件
[root ~]# crontab -e
MAILTO=qq郵箱
* * * * * echo "警告,server服務(wù)器內(nèi)存較低,請速處理." | mail -v -s "告警郵件" qq郵箱
這里配置即為每分鐘發(fā)送一次。文章來源:http://www.zghlxwxcb.cn/news/detail-669525.html
3、實(shí)驗(yàn)三
每天6:00將日志文件/var/log/messages 文件進(jìn)行備份,備份到/backup目錄中,備份時(shí)需要將文件名修改為logfileYYYY-MM-DD-HH:MM:SS文章來源地址http://www.zghlxwxcb.cn/news/detail-669525.html
[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`
# 注意
# 反引號``:表示將引起的內(nèi)容識別為命令
# 在crontab中%表示換行,需要增加轉(zhuǎn)義符\進(jìn)行轉(zhuǎn)義
[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 8月 19 16:37 logfile2023-08-19-16:37-01
-rw------- 1 root root 1196788 8月 19 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
到了這里,關(guān)于RHCE——一、安裝部署及例行性工作的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!