N42-第八周记录

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

#!/bin/bash
ps aux | awk 'NR>=2 {printf "USE_MEMORY:%s% , COMMAND:%s\n",$4,$11}' | sort -nr

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

#!/bin/bash
#for循环实现
for i in {1..254}; do
    ping -w 1 192.168.0.$i > /dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo "192.168.0.$i success!"
    else
        echo "192.168.0.$i fail!"
    fi
done
#############################################################
#!/bin/bash
#while实现
declare -i i=1
while [ $i -le 254 ]; do
    ping -w 1 192.168.0.$i > /dev/null 2>&1
    if [ $? -eq 0 ]; then
        echo "192.168.0.$i success!"
    else
        echo "192.168.0.$i fail!"
    fi
    let i++
done

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

执行命令crontab -e编写计划任务,写入以下内容:
30 1 * * 1-5 tar -cJf /back/etcbak-`date -d 'last day' "+%F-%H"`.tar.xz /etc/* &> /dev/null

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

执行命令crontab -e编写计划任务,写入以下内容:
*/10 * * * 1-5 /bin/bash /root/scripts/disk_warn.sh &> /dev/null
其中disk_warn.sh内容如下:
#!/bin/bash
WARNING=80
MAIL=root@localhost
df | sed -rn '/^\/dev\/sd/s#^([^[:space:]]+).* ([[:digit:]]+)%.*#\1 \2#p' | \ 
while read diskpart used; do
   if [ $used -gt $WARNING ]; then
        echo $diskpart will be full,used:$used% | mail -s "diskcheck_alert" $MAIL
   fi
done
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前两年教标调规则,读读儿歌,以为他们理解,就过了。仍有孩子标调时候错误,尤其是i、u同时出现。今年我格外注意让他们...
    杨嫽嫽阅读 1,022评论 0 2
  • 讲真,我对孩子的教育一直没有发言权,公子的吃喝拉撒睡都有老婆大人操心,学习成绩尚可,一切井井有条,但总觉得在他成长...
    905d2c15a06a阅读 168评论 0 2
  • 摘自《读者》 当你毫无保留地信任一个人,最终只会有这两种结果:不是生命中...
    浅之城阅读 298评论 0 0
  • 我常常在想,为什么不和谐的家庭或者遭遇变故的家庭或者单亲家庭的孩子容易出问题,应该就像作者说的这样,这是孩子拯救家...
    天边的云fly阅读 241评论 0 0
  • 独在异乡为异客,每逢佳节倍思亲。中秋节的奇妙莫过于让游子回想起一幕幕凄美的往事,能让每一个不善言辞的人变成最富有激...
    张丰Mr_Crazy阅读 393评论 0 1