linux運維工程師工作中的一些常見問題解決方法


http://blog.sina.com.cn/s/blog_b9fe247a0101anoe.html

1.shell腳本死活不執行

問題:某天研發某同事找我說幫他看看他寫的shell腳本,死活不執行,報錯。我看了下,腳本很簡單,也沒有常規性的錯誤,報“: bad interpreter: No such file or directory”錯。一

看這錯,我就問他是不是在windows下編寫的腳本,然后在上傳到linux服務器的……果然。

原因:在DOS/Windows里,文本文件的換行符為rn,而在*nix系統里則為n,所以DOS/Windows里編輯過的文本文件到了*nix里,每一行都多了個^M。

解決:1)重新在linux下編寫腳本;2)vi :% s/r//g :% s/^M//g (^M輸入用Ctrl+v, Ctrl+m)

 

2.crontab輸出

問題:/var/spool/clientmqueue目錄占用空間超過100G

原因:cron中執行的程序有輸出內容,輸出內容會以郵件形式發給cron的用戶,而sendmail沒有啟動所以就產生了/var/spool/clientmqueue目錄下的那些文件,日積月累可能撐破磁盤。

解決:1)直接手動刪除:ls |xargs rm -f ; 2)徹底解決:在cron的自動執行語句后加上 >/dev/null 2>&1

 

3.telnet很慢

問題:某天研發某同事說10.50訪問10.52memcached服務異常,讓我們檢查下看網絡/服務/系統是否有異常。檢查發現系統正常,服務正常,10.50ping10.52也正常,但10.50telnet10.52很慢。同時發現該機器的namesever是不起作用的。

原因:because your PC doesn’t do a reverse DNS lookupon your IP then… when you telnet/ftp into your linux box, it’ll do a dns lookupon you。

解決:1)修改/etc/hosts使hostname和ip對應; 2)在/etc/resolv.conf注釋掉nameserver或者找一個“活的”nameserver。

 

4.Read-onlyfile system

問題:同事在mysql里建表建不成功,提示如下:

mysql>create table wosontest (colddname1 char(1));

ERROR 1005 (HY000): Can’t create table ‘wosontest’ (errno: 30)

經檢查mysql用戶權限以及相關目錄權限沒問題;用perror 30提示信息為:OS error code 30: Read-only file system

可能原因:1)文件系統損壞;2)磁盤又壞道;3)fstab文件配置錯誤,如分區格式錯誤錯誤(將ntfs寫成了fat)、配置指令拼寫錯誤等。

解決:1)由於是測試機,重啟機器后恢復;2)網上說用mount可解決。

 

5.文件刪了磁盤空間沒釋放

問題:某天發現某台機器df -h已用磁盤空間為90G,而du -sh /*顯示所有使用空間加起來才30G,囧。

原因:可能某人直接用rm刪除某個正在寫的文件,導致文件刪了但磁盤空間沒釋放的問題

解決:1)最簡單重啟系統或者重啟相關服務。

2)干掉進程

/usr/sbin/lsof|grep deleted

ora 25575 data 33u REG 65,65 4294983680 /oradata/DATAPRE/UNDOTBS009.dbf(deleted)

從lsof的輸出中,我們可以發現pid為25575的進程持有着以文件描述號(fd)為 33打開的文件/oradata/DATAPRE/UNDOTBS009.dbf。在我們找到了這個文件之后可以通過結束進程的方式來釋放被占用的空間:echo > /proc/25575/fd/33

3)刪除正在寫的文件一般用 cat /dev/null > file

 

6.find文件

問題:在tmp目錄下有大量包含picture_*的臨時文件,每天晚上2:30對一天前的文件進行清理。之前在crontab下跑如下腳本,但是發現腳本效率很低,每次執行時負載猛漲,影響到其他服務。

#!/bin/sh

find /tmp -name “picture_*” -mtime +1 -exec rm -f {} ;

原因:目錄下有大量文件,用find很耗資源。

解決:

#!/bin/sh

cd /tmp

time=`date -d “2 day ago” “+%b %d”`

ls -l|grep “picture” |grep “$time”|awk ‘{print $NF}’|xargs rm -rf

 

7.獲取不了網關mac地址

問題:從2.14到3.65(映射地址2.141)網絡不通,但是從3端的其他機器到3.65網絡OK。

原因:

# arp

Address HWtype HWaddress Flags Mask Iface

192.168.3.254 ether incomplet CM bond0

表面現象是機器自動獲取不了網關MAC地址,網絡工程師說是網絡設備的問題,具體不清。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM