1. 程式人生 > >運維測試簡單概述

運維測試簡單概述

1、運維概述
1、什麼是運維
伺服器的執行維護
2、名詞
1、IDC(網際網路資料中心)
伺服器租用、機櫃租用
2、監控軟體
zabbix、nagios、cactti
3、常用Linux作業系統
1、CentOS
2、RedHat
3、Ubuntu
4、虛擬化
5、Web正向代理(客戶端知道自己使用的代理IP)
1、用途
1、訪問原來無法訪問的資源(google)
2、對Web伺服器隱藏使用者資訊
6、nginx反向代理(客戶端沒有感覺)
1、流程
客戶端 -> 反向代理伺服器 -> 把請求轉發給內部網路的伺服器
2、作用
1、保證內網安全,可以使用方向代理提供WAF功能,阻止WEB攻擊
2、負載均衡,優化網站的負載
7、負載均衡規則(nginx反向代理)
1、輪詢 :逐一迴圈排程
2、權重(weight) :指定輪詢機率,權重值和訪問比例成正比
3、ip_hash :根據客戶端IP分配固定的後端伺服器
8、負載均衡實現(修改nginx配置檔案)
upstream servers{#定義叢集
server 10.10.10.11;
server 10.10.10.12 weight=2;
server 10.10.10.13;
server 10.10.10.14 backup;
}
server{
listen 80;
... ...
}
2、Linux常用命令
1、ifconfig : 檢視IP地址和MAC地址
## windows中為ipconfig
2、ping :測試網路連通性
ping IP地址/域名 -c 2
3、nslookup :解析域名對應的IP地址
nslookup www.baidu.com
4、top :Linux下的工作管理員,動態顯示當前所有程序CPU以及記憶體的使用率,q退出
5、ps -aux : 顯示系統程序(PID號)
ps -aux | grep "mysql"
6、kill :殺死1個程序
sudo kill PID號
7、df -h : 檢視磁碟使用情況
8、ls -lh : l表示長格式,h提供易讀單位
ls -lh 檔名
9、chmod :修改檔案許可權
chmod +x 檔名
chmod 644 檔名
rw-r--r--
r : 4
w : 2
x : 1
10、wc -l :統計檔案的行數
wc -l /etc/passwd :統計Linux系統有多少個使用者
11、sort :對檔案中的內容進行排序
sort ip.txt
12、uniq -c
1、作用 :去除重複行,並統計每行出現的次數(相鄰行)
2、用法 :sort 檔名 | uniq -c
13、find命令 :根據指定條件查詢檔案/目錄
1、-name :檔名查詢
-iname :不區分大小寫
find 路徑 -name "檔名"
1、查詢 ~/spider目錄中的所有的 py 檔案
find ~/spider -name ".py"
2、-type :根據型別查詢(檔案 | 目錄)
1、常用選項
-f :檔案
-d :目錄
-l :連結(link快捷方式)
2、查詢主目錄下以mysql開頭的檔案
find ~ -name "mysql

" -type f
3、-size :按大小查詢
1、+ :大於...的檔案/目錄
2、- :小於...的檔案/目錄
3、查詢/home/treana/software大於20M的檔案
find ~/sofware -size +20M -type f
4、-ctime :根據時間查詢
1、-ctime +1 :1天以前的檔案/目錄
2、-cmin -5 :5分鐘以內的檔案/目錄
3、查詢~/spider下1天以內的檔案
find ~/spider -ctime -1 -type f
5、處理動作
find .... -exec Linux命令 {} ;
1、查詢1天以內的以.doc結尾的檔案,然後刪除
find . -name "*.doc" -ctime -1 -type f -exec rm -rf {} ;
14、ssh :遠端連線到伺服器
1、格式 :ssh 使用者名稱@IP地址
2、示例 :ssh
[email protected]

15、scp
1、遠端複製檔案/目錄
2、scp 檔名 使用者名稱@IP地址:絕對路徑
scp A.tar.gz [email protected]:/home/tarena
16、du -sh :顯示當前目錄大小
du -sh 目錄名
3、運維工具
1、xshell(軟體,安裝在windows)
安全終端模擬軟體
2、xshell使用方法
檔案 - 新建 - 輸入伺服器IP地址 - 使用者名稱 - 密碼 - 確認連線
3、Windows <--> Linux
1、安裝lszrz
sudo apt-get install lrzsz
2、Windows檔案 -> Linux
xshell終端 :$ rz
3、Linux檔案 -> Windows
xshell終端 :$ sz 檔名

1、shell程式設計
1、解釋執行器
1、sh
2、bash
## /etc/passwd檢視使用者預設bash, sh解釋執行器沒有高亮顯示,也沒有自動補全
2、shell程式設計
1、所有的shell程式都是以 .sh 結尾
2、執行方式
1、bash test.sh
2、chmod +x test.sh
./test.sh
## 保證檔案中第1行為 :#!/bin/bash
3、shell基礎
1、變數賦值
1、變數名=值 : =兩側不能有空格
number=10 name="張三丰"
2、獲取Linux命令的執行結果給變數賦值
1、time=$(date)
2、time=date
3、接收使用者從終端輸入給變數賦值
read -p "提示資訊" 變數名
read -p "輸入姓名:" name
3、輸出語句
echo $變數名
4、'' 和 "" 的區別
1、'' 無法獲取變數的值
2、"" 可以獲取變數的值
read -p "Input Name:" name
echo '名字是:$name' 結果:名字是:$name
echo "名字是:$name" 結果:名字是:張三丰
5、運算子
1、算術運算子
+ - * / %
++ :自加1運算
--
運算命令(let):
1、let運算表示式
i=1
let i++
echo $i
2、expr運算表示式
i=1
sum=expr $i + 5
echo $sum
2、比較運算子
1、檔案狀態
-e : 檔案/目錄是否存在
-d : 判斷是否為目錄
-f : 判斷是否為檔案
2、字元比較
= !=
空 :-z
非空 :!-z 或者 -n
3、數值比較
等於 :-eq
大於 :-gt
>= :-ge
小於 :-lt
<= :-le
不等於:-ne
4、邏輯比較
邏輯與 :&&
邏輯或 :||
6、if條件判斷
1、語法格式
if [ 條件 ];then
執行語句
elif [ ];then
執行語句
else
執行語句
fi
2、輸入2個數字,比較大小
7、for迴圈1
1、語法格式
for 變數名 in 值列表
do
執行語句
done
2、造數方法 : seq 起始值 步長 終止值
seq 5 : 1 2 3 4 5
seq 1 2 10 : 1 3 5 7 9
seq 2 2 10 : 2 4 6 8 10
3、用for迴圈輸出1 2 3 4 5
8、C-for迴圈
1、語法格式
for ((賦初值;條件判斷;步長))
do
執行語句
done
2、C-for迴圈輸出1 2 3 4 5
9、while迴圈
1、語法格式
while [ 條件 ]
do
執行語句
done
2、輸出1-10之間的整數
10、函式
1、語法格式
函式名(){
程式碼塊
}
# 函式呼叫
函式名
2、在使用者主目錄建立一個資料夾,如果不存在就建立,如果存在提示使用者一下
2、每隔5分鐘檢查根分割槽使用量,低於20G時發出警告
#!/bin/bash
while [ 1 -eq 1 ]
do
h=df -h | grep "/$" | awk '{print $4}' | awk -F "G" '{print $1}'

  if [ $h -lt 20 ];then
      echo "根分割槽將滿,請輸出不必要的檔案"
  fi

  sleep 300

done
3、計劃任務+備份指令碼(每天18:00做資料備份)
#!/bin/bash
day=$(date +%F)
dir=/home/tarena/mydir
mysqldump -hlocalhost -uroot -p123456 db5 > $dir/db5-$(date +%F).sql &> /dev/null
echo "資料庫備份成功"

計劃任務操作:
crontab -e
0 18 * * * bash /home/tarena/sh/backup.sh