top
案例1:編寫一鍵部署軟體指令碼
案例2:啟動指令碼
案例3:編寫監控指令碼
案例4:編寫安全檢測指令碼
案例5:編寫進度顯示指令碼
本案例要求編寫指令碼實現一鍵部署nginx軟體(web伺服器):
實現此案例需要按照如下步驟進行。
步驟一:準備工作
1)判斷yum源是否可用
通過yum repolist檢視軟體包數量是否大於0:
[root@svr5 ~]# yum repolist[root@svr5 ~]# yum repolist | awk '/repolist/'
[root@svr5 ~]# yum repolist | awk '/repolist/' |sed 's/,//'
[root@svr5 ~]# n=$(yum repolist | awk '/repolist/' |sed 's/,//')
[root@svr5 ~]# [ $n –le 0 ] && echo 'yum 不可用'
2)依賴包
原始碼安裝nginx需要提前安裝依賴包軟體gcc,openssl-devel,pcre-devel
步驟二:編寫指令碼
[root@svr5 ~]# vim test.sh#!/bin/bash
n=$(yum repolist | awk '/repolist/' | sed 's/,//')
if [ $n -le 0 ];then
echo "yum 不可用"
exit
fiyum -y install gcc openssl-devel pcre-devel
tar -xf nginx-1.12.2.tar.gz
cd nginx-1.12.2
./configure
make
make install
2)確認安裝效果
nginx預設安裝路徑為/usr/local/nginx,該目錄下會提供4個子目錄,分別如下:
/usr/local/nginx/conf 配置檔案目錄
/usr/local/nginx/html **頁面目錄
/usr/local/nginx/logs nginx日誌目錄
/usr/local/nginx/sbin 主程式目錄
主程式命令引數:
[root@svr5 ~]# /usr/local/nginx/sbin/nginx //啟動服務[root@svr5 ~]# /usr/local/nginx/sbin/nginx -s stop //關閉服務
[root@svr5 ~]# /usr/local/nginx/sbin/nginx -v //檢視軟體資訊
本案例要求編寫ngin啟動指令碼,要求如下:
實現此案例需要按照如下步驟進行。
步驟一:編寫指令碼
指令碼通過位置變數$1讀取使用者的操作指令,判斷是start、stop、restart還是status。
netstat命令可以檢視系統中啟動的埠資訊,該命令常用選項如下:
-n以數字格式顯示埠號
-t顯示tcp連線的埠
-u顯示udp連線的埠
-l顯示服務正在監聽的埠資訊,如httpd啟動後,會一直監聽80埠
-p顯示監聽埠的服務名稱是什麼(也就是程式名稱)
[root@svr5 ~]# vim test.sh#!/bin/bash
case $1 in
start)
/usr/local/nginx/sbin/nginx;;
stop)
/usr/local/nginx/sbin/nginx -s stop;;
restart)
/usr/local/nginx/sbin/nginx -s stop
/usr/local/nignx/sbin/nginx;;
status)
netstat -ntulp |grep -q nginx
if [ $? -eq 0 ];then
echo 服務已啟動
else
echo 服務未啟動
fi;;
*)echo error;;
esac
2)執行測試指令碼:
[root@svr5 ~]# ./test.sh start[root@svr5 ~]# ./test.sh stop
[root@svr5 ~]# ./test.sh status
[root@svr5 ~]# ./test.sh xyz
本案例要求編寫指令碼,實現計算機各個效能資料監控的功能,具體監控專案要求如下:
實現此案例需要按照如下步驟進行。
步驟一:準備工作
1)檢視效能資料的命令
[root@svr5 ~]# uptime //檢視cpu負載[root@svr5 ~]# ifconfig eth0 //檢視網絡卡流量
[root@svr5 ~]# free //檢視記憶體資訊
[root@svr5 ~]# df //檢視磁碟空間
[root@svr5 ~]# wc -l /etc/passwd //檢視計算機賬戶數量
[root@svr5 ~]# who |wc -l //檢視登入賬戶數量
[root@svr5 ~]# rpm -qa |wc -l //檢視已安裝軟體包數量
1)指令碼內容如下:
[root@svr5 ~]# vim test.sh#!/bin/bash
ip=`ifconfig eth0 | awk '/inet /'`
echo "本地ip位址是:"$ip
cpu=`uptime | awk ''`
#awk中nf為當前行的列數,$nf是最後一列
echo "本機cpu最近15分鐘的負載是:"$cpu
net_in=`ifconfig eth0 | awk '/rx p/'`
echo "入站網絡卡流量為:"$net_in
net_out=`ifconfig eth0 | awk '/tx p/'`
echo "出站網絡卡流量為:"$net_out
mem=`free | awk '/mem/'`
echo "記憶體剩餘容量為:"$mem
disk=`df | awk '/\/$/'`
echo "根分割槽剩餘容量為:"$disk
user=`cat /etc/passwd |wc -l`
echo "本地賬戶數量為:"$user
login=`who | wc -l`
echo "當前登陸計算機的賬戶數量為:"$login
process=`ps aux | wc -l`
echo "當前計算機啟動的程序數量為:"$process
soft=`rpm -qa | wc -l`
echo "當前計算機已安裝的軟體數量為:"$soft
本案例要求編寫指令碼,防止遠端ssh暴力破解密碼,具體監控專案要求如下:
實現此案例需要按照如下步驟進行。
步驟一:準備工作
1)過濾帳戶名失敗的命令(登陸日誌檔案為/var/log/secure)
[root@svr5 ~]# awk '/invalid user/' /var/log/secure2)過濾密碼失敗的命令
[root@svr5 ~]# awk '/failed password/' /var/log/secure1)指令碼內容如下:
[root@svr5 ~]# vim test.sh#!/bin/bash
awk '/failed password/' /var/log/secure | awk 'end}' | awk '$1>3'
awk '/invalid user/' /var/log/secure | awk 'end}' | awk '$1>3'
本案例要求編寫指令碼,實現帶程序顯示的複製指令碼,具體要求如下:
實現此案例需要按照如下步驟進行。
1)指令碼內容如下:
[root@svr5 ~]# vim test.sh#!/bin/bash
jindu()
jindu &
cp -r $1 $2
kill $!
07 專案實戰 PC 端固定布局 7
本節主要設計一下內容頁面的側欄部分,分三個小塊。經過思考,側欄會包含一些,而主要部分也會包含,那麼側欄放在左邊可能會和主欄的衝突導致不協調,所以,把側欄更換到右邊。實際上,還去掉了高度,讓其自適應 container container sidebar 自適應後,footer 需要 clear bo...
07專案結構的分析
目錄結構 tables aremodels 資料庫儲存目錄 col 2 is 資料庫模型檔案目錄 node modules node第三方模組目錄 public 公共檔案目錄 css,js,image routers 路由檔案目錄 schemas 資料結構檔案 schema 目錄 views 模版師...
07 專案質量管理
專案質量管理包括執行組織確定質量政策 目標與職責的各過程和活動,從而使專案滿足其預定的需求。它通過適當的政策和程式,採用持續的過程改進活動來實施質量管理體系。1.規劃質量管理 識別專案及其可交付成果的質量要求和標準,並準備對策確保符合質量要求的過程。為整個專案中如何管理和確認質量提供了指南和方向 2...