1、每12小時備份並壓縮/etc/目錄至/backup目錄中,保存文件名稱格式爲,"etc-年-月-日-時-分.tar.gz"
#crontab -e
0 */12 * * * /bin/tar -zvcf /backup/etc-$(date +%Y-%m-%d-%H-%M).tar.gz /etc
2、rpm包管理功能總結以及實例應用演示。
[root@localhost ~]# rpm -qa 文件名 #查看軟件包是否安裝
[root@localhost ~]# rpm -ivh 文件名 #安裝軟件包
[root@localhost ~]# rpm -e 文件名 #卸載軟件包
3、yum的配置和使用總結以及yum私有倉庫的創建。
yum (Yellowdog Update Modifier) 程序包管理器的前端工具 、是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。基於RPM包管理,能夠從指定的服務器自動下載RPM包並且安裝,可以自動處理依賴性關係,並且一次安裝所有依賴的軟體包。
yum客戶端安裝軟件等操作實現原理:
1、配置文件:指定各可用的yum倉庫;
2、緩存元數據:yum會到各可用yum倉庫獲取元數據,並緩存至本地;
3、分析元數據:根據具體操作請求完成元數據分析, 可能包括檢查依賴關係、文件列表等信息;
4、執行具體操作:
配置本地yum源
[root@localhost ~]# mkdir /123 #新建一個掛載目錄
[root@localhost ~]# mount /dev/cdrom /123/ #將本地鏡像源,掛載到新建目錄及/123
mount: /dev/sr0 is write-protected, mounting read-only
[root@localhost ~]# df -h #查看掛載的路徑
[root@localhost ~]# yum clean all #清空yum緩存
[root@localhost ~]# yum makecache #生成新的緩存
[root@localhost ~]# yum install lrzsz #測試安裝lrzsz
4、寫一個腳本實現列出以下菜單給用戶:
(1)disk:show disk info信息
(2)mem: show memory info信息
(3)cpu: show cpu info信息
(*)quit
#!/bin/bash
#
cat<<EOF
(1)disk:show disk info信息
(2)mem:show memory info信息
(3)cpu:show cpu info信息
(*)quit
EOF
read -p "Your chioce: " option
if [[ "$option" == "disk" ]]; then
fdisk -l /dev/[sh]d[a-z]
elif [[ "$option" == "mem" ]]; then
free -m
elif [[ "$option" == "cpu" ]]; then
lscpu
else
echo "Unknow option."
exit 3
fi
5、sed用法總結並結合實例演示
**Sed 簡介**
sed 是一種在線編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩衝區中,稱爲“模式空間”(pattern space),接着用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往屏幕。接着處理下一行,這樣不斷重複,直到文件末尾。文件內容並沒有改變,除非你使用重定向存儲輸出。Sed主要用來自動編輯一個或多個文件;簡化對文件的反覆操作;編寫轉換程序等
sed之所以能以行爲單位的編輯或修改文本,其原因在於它使用了兩個空間:一個是活動的“模式空間(pattern space)”,另一個是起輔助作用的“保持空間(hold space)這2個空間的使用。
模式空間:可以想成工程裏面的流水線,數據之間在它上面進行處理。
保持空間:可以想象成倉庫,我們在進行數據處理的時候,作爲數據的暫存區域。
正常情況下,如果不顯示使用某些高級命令,保持空間不會使用到!
6、 用bash實現統計訪問日誌文件中狀態碼大於等於400的IP數量並排序
#!/bin/bash
nginx_log='/usr/local/nginx/logs/mynginx.log'
code_400_num=$(grep -o '[4|5][0-9][0-9]' ${nginx_log} | wc -l)
code_400_sort=$(grep '[4|5][0-9][0-9]' ${nginx_log} | sort
echo $code_400_num
echo $code_400_sort
7、 使用自制的yum源安裝ftp、openssh、curl、wget、tcpdump等軟件包
[root@localhost ~]# yum install ftp openssh curl wget tcpdump