8、Linux練習小腳本

1、顯示統計佔用系統內存最多的進程,並排序。

[root@C76 ~]# ps -eo uid,tty,cmd,time,%mem --sort=-%mem

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-bjXVz2yx-1586688010627)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20200412002507420.png)]
2、編寫腳本,使用for和while分別實現192.168.0.0/24網段內,地址是否能夠ping通,若ping通則輸出"success!",若ping不通則輸出"fail!"

fping.sh

[root@C76 ~]# cat fping.sh 
#!/bin/bash
ip=192.168.44
for ipid in {1..254};do
  {
  ping -c1  $ip.$ipid > /dev/null 2>&1                                                                                       
   if [ $? -eq 0 ];then
        echo $ip.$ipid is success! | tee -a >> /data/fping.txt
    else
        echo $ip.$ipid is fial! | tee -a >> /data/fping.txt
    fi
  } &
done
wait

在這裏插入圖片描述

wping.sh

[root@C76 ~]# cat wping.sh 
#!/bin/bash
ip=192.168.44
declare -i ipid=1
while [ $ipid -lt 254  ];do
	ping -c1 $ip.$ipid &>/dev/null 2>&1;
	if [ $? -eq 0 ];then
		echo $ip.$ipid is success! | tee -a >> /data/wping.txt
	else
		echo $ip.$ipid is fial! | tee -a >> /data/wping.txt
	fi
let ipid++
done

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

1、寫測試備份命令

[root@C76 data]# tar -Jcvf /data/bak/etcbak-`date -d '-1 day' +%Y-%m-%d-%H`.tar.gz /etc/

在這裏插入圖片描述
2、把命令寫入計劃任務crontab -e

30 1 * * 1-5 /bin/bash tar -Jcvf /data/bak/etcbak-`date -d '-1 day' +%Y-%m-%d-%H`.tar.gz /etc/

4、工作日時間,每10分鐘執行一次磁盤空間檢查,一旦發現任何分區利用率高 於80%,就發送郵件報警

[root@C76 data]# cat diskcheck.sh 
#!/bin/bash
stem=`df -h |grep '/dev/sd*'|awk '{print $5}'|awk -F '%' '{print $1}'|sort -nr|head -1`
warn=50
if [ $stem -gt $warn ];then
	echo 磁盤空間利用率以超過50% |mail -s "warn the disk will be full" `whoami`@`hostname`
fi

在這裏插入圖片描述

把腳本添加到計劃任務中crontab -e

*/10 * * * 1-5 /bin/bash /root/data/diskcheck.sh
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章