一、有文件file1
1、查詢file1里面空行的所在行號
awk ‘{if($0~/^$/)print NR}’ file
or
grep -n ^$ file |awk ‘BEGIN{FS=”:”}{print $1}’
2、查詢file1以abc結(jié)尾的行
grep abc$ file1
3、打印出file1文件第1到第3行
sed -n ‘1,3p’ file1
head -3 file1
二、如何將本地80端口的請求轉(zhuǎn)發(fā)到8080端口,當(dāng)前主機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月份內(nèi),每天的早上6點到12點中,每隔2小時執(zhí)行一次/usr/bin/httpd.sh 怎么實現(xiàn)
0 6-12/2 * 11 * /usr/bin/httpd.sh
四、編寫個shell腳本將/usr/local/test 目錄下大于100K的文件轉(zhuǎn)移到/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:連續(xù)以位或字節(jié)為單位分割數(shù)據(jù),并行讀/寫于多個磁盤上,因此具有很高的數(shù)據(jù)傳輸率,但它沒有數(shù)據(jù)冗余,因此并不能算是真正的RAID結(jié)構(gòu)。RAID 0只是單純地提高性能,并沒有為數(shù)據(jù)的可靠性提供保證,而且其中的一個磁盤失效將影響到所有數(shù)據(jù)。因此,RAID 0不能應(yīng)用于數(shù)據(jù)安全性要求高的場合。
RAID 1:它是通過磁盤數(shù)據(jù)鏡像實現(xiàn)數(shù)據(jù)冗余,在成對的獨立磁盤上產(chǎn)生互為備份的數(shù)據(jù)。當(dāng)原始數(shù)據(jù)繁忙時,可直接從鏡像拷貝中讀取數(shù)據(jù),因此RAID 1可以提高讀取性能。RAID 1是磁盤陣列中單位成本最高的,但提供了很高的數(shù)據(jù)安全性和可用性。當(dāng)一個磁盤失效時,系統(tǒng)可以自動切換到鏡像磁盤上讀寫 ,而不需要重組失效的數(shù)據(jù)。簡單來說就是:鏡象結(jié)構(gòu),類似于備份模式,一個數(shù)據(jù)被復(fù)制到兩塊硬盤上。
RAID10:高可靠性與高效磁盤結(jié)構(gòu)
一個帶區(qū)結(jié)構(gòu)加一個鏡象結(jié)構(gòu),因為兩種結(jié)構(gòu)各有優(yōu)缺點,因此可以相互補充。
主要用于容量不大,但要求速度和差錯控制的數(shù)據(jù)庫中。
RAID5:分布式奇偶校驗的獨立磁盤結(jié)構(gòu),它的奇偶校驗碼存在于所有磁盤上,任何一個硬盤損壞,都可以根據(jù)其它硬盤上的校驗位來重建損壞的數(shù)據(jù)。支持一塊盤掉線后仍然正常運行。
六、oracle數(shù)據(jù)庫備份方式
物理備份:開啟網(wǎng)絡(luò)監(jiān)聽,備份數(shù)據(jù)庫文件。
RMAN備份:通過表空間文件在RMAN模式對ORACLE數(shù)據(jù)備份。
七、如何查看占用端口8080的進程
lsof -i:8080
八、請寫出apache2.X版本的兩種工作模式,以及各自工作原理。如何查看apache當(dāng)前所支持的模塊,并且查看是工作在哪種模式下?
答案:
prefork(多進程,每個進程產(chǎn)生子進程)和worker(多進程,每個進程生成多個線程)
prefork的工作原理是,控制進程在最初建立“StartServers”個子進程后,為了滿足MinSpareServers設(shè)置的需要創(chuàng)建一個進程,等待一秒鐘,繼續(xù)創(chuàng)建兩個,再等待一秒鐘,繼續(xù)創(chuàng)建四個……如此按指數(shù)級增加創(chuàng)建的進程數(shù),最多達到每秒32個,直到滿足MinSpareServers設(shè)置的值為止。這就是預(yù)派生(prefork)的由來。這種模式可以不必在請求到來時再產(chǎn)生新的進程,從而減小了系統(tǒng)開銷以增加性能。
worker是2.0 版中全新的支持多線程和多進程混合模型的MPM。由于使用線程來處理,所以可以處理相對海量的請求,而系統(tǒng)資源的開銷要小于基于進程的服務(wù)器。但是,worker也使用了多進程,每個進程又生成多個線程,以獲得基于進程服務(wù)器的穩(wěn)定性。這種MPM的工作方式將是Apache 2.0的發(fā)展趨勢。
可以通過命令httpd -l 可以查看apache當(dāng)前的模塊,如果帶有worker.c就是工作在worker模式下,如果有prefork.c就是工作在prefork.c的模式下。
九、你使用過監(jiān)控軟件嗎?說說其特點
使用nagios對服務(wù)器進行監(jiān)控,其特點可實時實現(xiàn)手機短信、電子郵件、MSN、飛信報警。
使用cacti對流量進行監(jiān)控。
十、你對現(xiàn)在運維工程師的理解和以及對其工作的認識
運維工程師在公司當(dāng)中責(zé)任重大,需要保證時刻為公司及客戶提供最高、最快、最穩(wěn)定、最安全的服務(wù)。運維工程師的一個小小的失誤,很有可能會對公司及客戶造成重大損失,因此運維工程師的工作需要嚴謹及富有創(chuàng)新精神。
十一、linux下常用的DNS服務(wù)軟件是什么,舉出幾種常用的DNS記錄,如果域名abc.com配置好了一臺郵件服務(wù)器,IP地址為202.106.0.20,我該如何做相關(guān)的解析?是否了解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根據(jù)請求解析客戶端的IP地址,做出不同的解析,其原理是在配置文件中,設(shè)定了view,在每個view都有客戶端的IP地址段,bind服務(wù)器根據(jù)請求解析客戶端的IP地址,匹配不同的view,再根據(jù)該view的配置,到相應(yīng)的配置文件進行查詢,將結(jié)果返回給請求的客戶端。
十二、通過apache訪問日志access.log統(tǒng)計IP和每個地址訪問的次數(shù),按訪問量列出前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
//這個別的方法也能統(tǒng)計,但有些命令是必要的 awk , sort,uniq ,主要看是否這些命令都使用了。
十三、如何用mysql命令進行備份和恢復(fù)?以test庫為例,創(chuàng)建一個備份,并再用此備份進行恢復(fù)。
mysqldump -u root -p test > test.sql
mysql -u root -p test < test.sql
//主要考對方msqldump > test.sql 和 mysql < test.sql
十四、你認為在系統(tǒng)調(diào)優(yōu)方面都包括哪些工作,以linux為例,請簡明闡述,并舉一些參數(shù)為例。
答案:
系統(tǒng)調(diào)優(yōu)包括內(nèi)核參數(shù)優(yōu)化和應(yīng)用優(yōu)化2個方面,對方只要從這兩方面來說,就可以了,盡量能有些經(jīng)驗的闡述。
[運維工程師面試]