第八周作业
作者:互联网
1、显示统计占用系统内存最多的进程,并排序。
[root@centos6 ~]#ps aux | sort -k4nr | head -1
root 3814 0.0 0.4 98468 4528 ? Ss 16:01 0:11 sshd: root@pts/1
2、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
for
[root@centos6 ~]#vim pingtest_for.sh
#!/bin/bash
#实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
NETID=192.168.0
for HOSTID in {1..254};do
{
ping -c1 -W1 $NETID.$HOSTID > /dev/null 2>&1
if [ $? -eq 0 ];then
echo $NETID.$HOSTID success! | tee -a >> /data/pingtest.txt
else
echo $NETID.$HOSTID fial! | tee -a >> /data/pingtest.txt
fi
} &
done
wait
while
[root@centos6 ~]#cat pingtest_while.sh
#!/bin/bash
#实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
NETID=192.168.0
declare -i HOSTID=1
while [ $HOSTID -lt 254 ];do
ping -c1 -W1 $NETID.$HOSTID &>/dev/null;
if [ $? -eq 0 ];then
echo $NETID.$HOSTID success!
else
echo $NETID.$HOSTID fail!
fi
let HOSTID++
done
3、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
先写个备份脚本
[root@centos6 ~]#cat etcbak.sh
#!/bin/bash
#将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
DIR=etcbak-`date -d '-1 day' +%Y-%m-%d-%H`
tar -Jcvf /backup/${DIR}.tar.xz /etc/ &> /dev/null
执行看是否可行
[root@centos6 ~]#. etcbak.sh
[root@centos6 ~]#ll /backup/
total 5320
-rw-r--r-- 1 root root 5444508 Mar 24 20:35 etcbak-2020-03-23-20.tar.xz
写进计划任务
[root@centos6 ~]#cat /etc/crontab
#每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
30 1 * * 1-5 /bin/bash /root/etcbak.sh
4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警
写测试脚本
[root@centos6 ~]#cat dickcheck.sh
#!/bin/bash
#执行磁盘空间检查,一旦发现任何分区利用率高于80%,就向root发送邮件报警
utilization=`df -h | grep "/dev/sd" |tr -s ' ' % | cut -d% -f 5 | sort | tail -1`
ALARM=80
if [ $utilization -gt $ALARM ];then
echo 磁盘利用率已超过80%! | mail -s "High disk utilization" `whoami`@`hostname` (centos6不带后面的`hostname`)
fi
模拟测试
[root@centos6 ~]#dd if=/dev/zero of=/test bs=1M count=600
[root@centos6 ~]#df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 2.0G 1.5G 348M 82% /
执行脚本
[root@centos6 ~]#. dickcheck1.sh
[root@centos6 ~]#mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/root": 1 message 1 new
>N 1 root Wed Mar 25 00:07 22/802 "High disk utilization"
& 1
Message 1:
From root@centos6.localdomain Wed Mar 25 00:07:03 2020
Return-Path: <root@centos6.localdomain>
X-Original-To: root@centos6
Delivered-To: root@centos6.localdomain
From: root <root@centos6.localdomain>
Date: Wed, 25 Mar 2020 00:06:03 +0800
To: root@centos6.localdomain
Subject: High disk utilization
User-Agent: Heirloom mailx 12.4 7/29/08
Content-Type: text/plain; charset=utf-8
Status: R
磁盘利用率已超过80%!
写入计划任务
[root@centos6 ~]#crontab -l
#工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警
*/10 * * * 1-5 /bin/bash /root/diskcheck.sh
标签:HOSTID,NETID,作业,ping,第八,centos6,etcbak,root 来源: https://blog.51cto.com/14682054/2482603