1、显示统计占用系统内存最多的进程,并排序。
[root@centos7 test]# ps aux k %mem | tail -1
2、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
for循环:
vim /test/ping_with_for.sh
#!/bin/bash
#
net=192.168.0
for i in {1..254};do
ping -c 1 $net.$i &>/dev/null
if [ $? -eq 0 ];then
echo "ping $net.$i ..success!"
else
echo "ping $net.$i ..fail!"
fi
done
while循环
vim /test/ping_with_for.sh
#!/bin/bash
#
net=192.168.0
i=1
while [ $i -lt 254 ];do
ping -c 1 $net.$i &>/dev/null
if [ $? -eq 0 ];then
echo "ping $net.$i ..success!"
else
echo "ping $net.$i ..fail!"
fi
let i++
done
3、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
(1)编写备份脚本
vim /data/backup.sh
#!/bin/bash
#
SOURCEDIR=/etc
BACKUPDIR=/backup
[ -f $BACKUPDIR ] || mkdir -p $BACKUPDIR
tar cfJ $BACKUPDIR/etcbak-`date -d yesterday +%F-%H`.tar.xz $SOURCEDIR &> /dev/null
(2) 编辑计划任务
crontab -e
30 1 * * 1-5 /bin/bash /data/backup.sh
4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警
(1) 编写检查脚本
vim /test/disk.sh
#!/bin/bash
#
DISK=`df | grep /dev/sd | sed -rn 's/.*[[:space:]]+([0-9]+)%.*/\1/p' | sort -n | tail -1`
[ $DISK -gt 80 ] && wall "disk is full"
(2) 编辑计划任务
crontab -e
*/10 * * * * /test/disk.sh
网友评论