1. 程式人生 > 實用技巧 >Linux入門(八)

Linux入門(八)

1、顯示統計佔用系統記憶體最多的程序,並排序。

~]# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem | head

2、編寫指令碼,使用for和while分別實現192.168.0.0/24網段內,地址是否能夠ping通,若ping通則輸出"success!",若ping不通則輸出"fail!"
for:

~]# cat ping-for.sh 
#!/bin/bash
#
trap 'exit 1' 2
for i in {1..254};do
IP="192.168.0."$i
ping -W 5 -c 2 $IP &> /dev/null
if
[ $? -eq 0 ];then echo $IP:success! else echo $IP:fail! fi done

while:

~]# cat ping-while.sh 
#!/bin/bash
#
i=1
trap 'exit 1' 2
while [ $i -le 254 ];do
IP="192.168.0."$i
ping -W 5 -c 2 $IP &> /dev/null
if [ $? -eq 0 ];then
echo $IP:success!
else
echo $IP:fail!
fi
let i++
done

3、每週的工作日1:30,將/etc備份至/backup目錄中,儲存的檔名稱格式 為“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的時間


新增定時任務:

30 1 * * 1-5 /usr/bin/tar cJf /backup/etcbak-$(date -d "1 day ago" +"%Y-%m-%d-%H").tar.xz /etc/

4、工作日時間,每10分鐘執行一次磁碟空間檢查,一旦發現任何分割槽利用率高於80%,就傳送郵件報警
建立檢查指令碼:checkdisk.sh

~]# cat checkdisk.sh 
#!/bin/bash
#
USE=$(df -P | sed -nr '/^\/dev/ s@^.* ([0-9]+)% .*@\1@p' | sort -nr | head -1)
if [ $USE -gt 80 ];then
echo
"Disk usage is greater than 80%" | mail -s "Disk check" root echo test fi

建立計劃任務

*/10 * * * 1-5 /root/checkdisk.sh