第8周

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

      ps aux k -%mem   ##   k |--sort 属性   对属性排序,属性前加- 表示倒序;

        top工具
        执行top命令
        按快捷键,大写M,可按内存使用百分比排序
        大写P,按CPU使用百分比排序

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

        for语句

vim for_ping.sh
  for i in {1..254};do
  { 
   ping -c1 10.3.131.$i -w1 &> /dev/null
    if [ $? -eq 0 ];then
        echo "10.3.131.$i is success" >> ip_success.log
    else
        echo "10.3.131.$i is error" >> ip_error.log
    fi
    }&  
done
wait

       while 语句

#!/bin/bash
 netid=10.3.131
 hostid=1
 while [ $hostid -lt 255 ];do
     {
     if ping -c1 -w1 $netid.$hostid &> /dev/null ;then
         echo "$netid.$hostid is success"
     fi
     }&
let hostid++
done
wait

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

        编写shell脚本

vim etc_bak.sh
#!/bin/bash
DIR=/backup
BAK_DIR=/etc/
BAK_NAME=etcbak`date +%F-%H -d "-1 day"`.tar.xz
if [ -d $DIR ];then
    true
else
    mkdir $DIR
fi
#cp -r /oetc $DIR/etcbak$BAK_NAME.tar.xz
cd $DIR
tar -jcvf $BAK_NAME $BAK_DIR 

       计划任务配置

crontab -e
30 1 * * 1-5  /scripts/etc_bak.sh &> /dev/null

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

脚本

  #!/bin/bash
  declare -A DISK
  BAOJING=80
  declare XB
  df | grep "^/dev/sd" > df.log
  while read line;do
      XB=`echo $line | sed -nr 's#([^[:space:]]+) .*$#\1#p'`
      DISK[$XB]= `echo $line | sed -nr 's#^.* ([[:digit:]]+)%.*$#\1#p'`
            if [ ${DISK[$XB]} -gt $BAOJING ] ;then
                wall $XB USED  $BAOJING
              fi  
  done < df.log
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容