Linux学习(九)

1、显示统计占用系统内存最多的进程,并排序。

ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem|head
ps -aux | sort -k4nr | head -n 10

2、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"

for循环
for ((i=1;i<254;i++));
do
  ping -c 1 192.168.5.$i &> /dev/null
  if [ $? -eq 0 ];then
    echo "ping 192.168.5.$i suecess !"
  else
    echo "ping 192.168.5.$i fail !"
  fi
done

while循环
i=1
while [ $i -le 254 ];
do
    ping -c 1 192.168.5.$i &> /dev/null
    if [ $? -eq 0 ];then
        echo "ping 192.168.5.$i success!"
    else
        echo "ping 192.168.5.$i fail!"
    fi
    let i=${i}+1
done

3、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间

vim etcBac.sh
tar -Jcvf /backup/etcBak-`date -d "-1 day" +%Y-%m-%d-%H`.tar.xz /etc/

crontab -e
30 1 * * 1-5  /data/etcBac.sh &> /dev/null

4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警

vim diskCheck.sh
DISKWARN=`df |grep "/dev/sda*"| tr -s ' ' % |cut -d % -f 5 |sort -nr | head -1`    
if [ $DISKWARN -ge 80 ];then
    echo "Warning:the disk space used more than 80%,you need handle it !"   
else
    exit                                                                            
fi

vim diskCheck.sh
DISKWARN=`df | sed -nr '^/\dev/\sd/s#.*([0-9]+%).*$#\1#p'|sort -nr | head -1`

crontab -e

*/10 * * * 1-5  /data/diskCheck.sh

posted @ 2020-06-14 23:43  eric_shang  阅读(107)  评论(0编辑  收藏  举报