歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 運維面試題

運維面試題

日期:2017/2/27 16:04:16   编辑:Linux教程
一、有文件file1
1、查詢file1 裡面空行的所在行號
awk '{if($0~/^$/)print NR}’ file
or
grep -n ^$ file |awk 'BEGIN{FS=":"}{print $1}’
or
grep -n ^$ file | cut -d: -f1

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
iptables -t nat -A PREROUTING -d 192.168.2.1 -p tcp -m tcp --dport 80 -j DNAT --to 192.168.2.1:8080

三、crontab 在11月份內,每天的早上6點到12點中,每隔2小時執行一次/usr/bin/httpd.sh 怎麼實現
0 6-12/2 * 11 * /usr/bin/httpd.sh

四、編寫個shell 腳本將/usr/local/test 目錄下大於100K 的文件轉移到/tmp目錄下
1:
#!/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

2:
#!/bin/bash
find /usr/local/test -type f -size 100k -exec mv {} /tmp \;

五、簡述raid0 raid1 raid5 三種工作模式的工作原理及特點。
RAID 0:連續以位或字節為單位分割數據,並行讀/寫於多個磁盤上,因此具有很高的數據傳輸率,但它沒有數據冗余,因此並不能算是真正的RAID 結構。RAID 0 只是單純地提高性能,並沒有為數據的可靠性提供保證,而且其中的一個磁盤失效將影響到所有數據。因此,RAID 0 不能應用於數據安全性要求高的場合。
RAID 1:它是通過磁盤數據鏡像實現數據冗余,在成對的獨立磁盤上產生互為備份的數據。當原始數據繁忙時,可直接從鏡像拷貝中讀取數據,因此RAID 1 可以提高讀取性能。RAID1 是磁盤陣列中單位成本最高的,但提供了很高的數據安全性和可用性。當一個磁盤失效時,系統可以自動切換到鏡像磁盤上讀寫 ,而不需要重組失效的數據。簡單來說就是:鏡象結構,類似於備份模式,一個數據被復制到兩塊硬盤上。
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
答案:
awk '{print $1}' access.log |sort |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 個方面,對方只要從這兩方面來說,就可以了,盡量能有些經驗的闡述。有個文件如下:
http://a.domain.com/1.html
http://b.domain.com/1.html
http://c.domain.com/1.html
http://a.domain.com/2.html
http://b.domain.com/2.html
http://a.domain.com/3.html
要求:得到主機名(和域名),並統計哪個網址出現的次數,並排序。可以shell 或C。得到的結果應該是:
3 a.domain.com
2 b.domain.com
1 c.domain.com
我的答案1:
[root@linux6 ~]# cat file|awk -F'[/ ]+' '{print $2}'| sort|uniq -c
答案2:
[root@linux6 ~]# sed 's/.*\/\([^ ]*\)\/.*/\1/' file | sort | uniq -c

十五、掛載windows的共享目錄?
mount.cifs //IP/SHARE linux 的目錄 --verbose -o user=username <--這個用戶是windows 下的用戶--verbose 這個參數可以不加,它是顯示過程的例如mount.cifs //10.1.1.246/gongxiang /mnt --verbose -o user=gao或者是mount -t cifs
umount /mnt 或umount.cifs /mnt -l <--取消掛載圖形界面:smb://IP
Copyright © Linux教程網 All Rights Reserved