07 專案實戰

2021-08-31 01:42:27 字數 4447 閱讀 7049

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/secure

2)過濾密碼失敗的命令

[root@svr5 ~]# awk '/failed password/' /var/log/secure

1)指令碼內容如下:

[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...