運維工程師面試
一、有檔案file1
1、查詢file1裡面空行的所在行號
awk ‘{if($0~/^$/)print NR}’ file
or
grep -n ^$ file |awk ‘BEGIN{FS=”:”}{print $1}’
2、查詢file1以abc結尾的行
grep abc$ file1
3、打印出file1檔案第1到第3行
sed -n ‘1,3p’ file1
head -3 file1
二、如何將本地80埠的請求轉發到8080埠,當前主機IP為192.168.2.1
-A PREROUTING -d 124.42.60.109 -p tcp -m tcp –dport 80 -j DNAT –to-destination 10.0.0.18:9000
三、crontab
在11月份內,每天的早上6點到12點中,每隔2小時執行一次/usr/bin/httpd.sh 怎麼實現
0 6-12/2 * 11 * /usr/bin/httpd.sh
四、編寫個shell指令碼將/usr/local/test 目錄下大於100K的檔案轉移到/tmp目錄下
#!/bin/bash
for file in `ls /root`
do
if [ -f $file ]; then
if [ `ls -l $file|awk '{print $5}'` -gt 10000 ]; then
mv $file /tmp/
fi
fi
done
五、簡述raid0 raid1 raid5 三種工作模式的工作原理及特點。
RAID 0:連續以位或位元組為單位分割資料,並行讀/寫於多個磁碟上,因此具有很高的資料傳輸率,但它沒有資料冗餘,因此並不能算是真正的RAID結構。RAID 0只是單純地提高效能,並沒有為資料的可靠性提供保證,而且其中的一個磁碟失效將影響到所有資料。因此,RAID 0不能應用於資料安全性要求高的場合。
RAID 1:它是透過磁碟資料映象實現資料冗餘,在成對的獨立磁碟上產生互為備份的資料。當原始資料繁忙時,可直接從映象複製中讀取資料,因此RAID 1可以提高讀取效能。RAID 1是磁碟陣列中單位成本最高的,但提供了很高的資料安全性和可用性。當一個磁碟失效時,系統可以自動切換到映象磁碟上讀寫 ,而不需要重組失效的資料。簡單來說就是:鏡象結構,類似於備份模式,一個數據被複制到兩塊硬碟上。
RAID10:高可靠性與高效磁碟結構
一個帶區結構加一個鏡象結構,因為兩種結構各有優缺點,因此可以相互補充。
主要用於容量不大,但要求速度和差錯控制的資料庫中。
RAID5:分散式奇偶校驗的獨立磁碟結構,它的奇偶校驗碼存在於所有磁碟上,任何一個硬碟損壞,都可以根據其它硬碟上的校驗位來重建損壞的資料。支援一塊盤掉線後仍然正常執行。
六、oracle資料庫備份方式
物理備份:開啟網路監聽,備份資料庫檔案。
RMAN備份:透過表空間檔案在RMAN模式對ORACLE資料備份。
七、如何檢視佔用埠8080的程序
lsof -i:8080
八、請寫出apache2.X版本的兩種工作模式,以及各自工作原理。如何檢視apache當前所支援的模組,並且檢視是工作在哪種模式下?
答案:
prefork(多程序,每個程序產生子程序)和worker(多程序,每個程序生成多個執行緒)
prefork的工作原理是,控制程序在最初建立“StartServers”個子程序後,為了滿足MinSpareServers設定的需要建立一個程序,等待一秒鐘,繼續建立兩個,再等待一秒鐘,繼續建立四個……如此按指數級增加建立的程序數,最多達到每秒32個,直到滿足MinSpareServers設定的值為止。這就是預派生(prefork)的由來。這種模式可以不必在請求到來時再產生新的程序,從而減小了系統開銷以增加效能。
worker是2.0 版中全新的支援多執行緒和多程序混合模型的MPM。由於使用執行緒來處理,所以可以處理相對海量的請求,而系統資源的開銷要小於基於程序的伺服器。但是,worker也使用了多程序,每個程序又生成多個執行緒,以獲得基於程序伺服器的穩定性。這種MPM的工作方式將是Apache 2.0的發展趨勢。
可以透過命令httpd -l 可以檢視apache當前的模組,如果帶有worker.c就是工作在worker模式下,如果有prefork.c就是工作在prefork.c的`模式下。
九、你使用過監控軟體嗎?說說其特點
使用nagios對伺服器進行監控,其特點可實時實現手機簡訊、電子郵件、MSN、飛信報警。
使用cacti對流量進行監控。
十、你對現在運維工程師的理解和以及對其工作的認識
運維工程師在公司當中責任重大,需要保證時刻為公司及客戶提供最高、最快、最穩定、最安全的服務。運維工程師的一個小小的失誤,很有可能會對公司及客戶造成重大損失,因此運維工程師的工作需要嚴謹及富有創新精神。
十一、linux下常用的DNS服務軟體是什麼,舉出幾種常用的DNS記錄,如果域名abc.com配置好了一臺郵件伺服器,IP地址為202.106.0.20,我該如何做相關的解析?是否瞭解bind的智慧解析,如果瞭解請簡述一下其原理
答案:
1)常用的DNS軟體是bind
2)A記錄 地址記錄
MX記錄 郵件交換記錄
CNAME記錄 別名域記錄
3)修改abc.com域名的配置檔案,增加以下記錄
IN MX 10 mail.abc.com.
mail IN A 202.106.0.20
4)bind根據請求解析客戶端的IP地址,做出不同的解析,其原理是在配置檔案中,設定了view,在每個view都有客戶端的IP地址段,bind伺服器根據請求解析客戶端的IP地址,匹配不同的view,再根據該view的配置,到相應的配置檔案進行查詢,將結果返回給請求的客戶端。
十二、透過apache訪問日誌access.log統計IP和每個地址訪問的次數,按訪問量列出前10名。
日誌格式樣例如下
192.168.1.247 – - [02/Jul/2010:23:44:59 +0800] “GET / HTTP/1.1″ 200 19
答案:
cat access_log | awk ‘{print $1}’ | uniq -c|sort -rn|head -10
//這個別的方法也能統計,但有些命令是必要的 awk , sort,uniq ,主要看是否這些命令都使用了。
十三、如何用mysql命令進行備份和恢復?以test庫為例,建立一個備份,並再用此備份進行恢復。
mysqldump -u root -p test > test.sql
mysql -u root -p test < test.sql
//主要考對方msqldump > test.sql 和 mysql < test.sql
十四、你認為在系統調優方面都包括哪些工作,以linux為例,請簡明闡述,並舉一些引數為例。
答案:
系統調優包括核心引數最佳化和應用最佳化2個方面,對方只要從這兩方面來說,就可以了,儘量能有些經驗的闡述。