标签:脚本 bin NETID 基础 ping sh 实例 HOSTIP echo
1、显示统计占用系统内存最多的进程,并排序。
top命令 按m以内存使用率排序
2、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
我们采用多个Ping同时进行任务,一个一个Ping太慢
首先我们先展示一下一个一个的ping的现象
哪怕是每次只Ping一秒,都需要5分钟才能ping完。所以采用后台并发运行
vim for_ping.sh
#!/bin/bash
NETID=192.168.0
for HOSTIP in {1..254};do
{
if ping -c1 -w1 $NETID.$HOSTIP &> /dev/null ;then
echo $NETID.$HOSTIP Communication success! |tee -a hostlist.txt
else
echo $NETID.$HOSTIP Communication fail! |tee -a hostlist.txt
fi
} &
done
wait
chmod +x for_ping.sh
./for_ping.sh
现象
因为是并发运行,所以速度特别快,瞬间就能测试完所有的网络连通性
while 写法
#!/bin/bash
HOSTIP=1
NETID=192.168.0
while [[ $HOSTIP -le 254 ]];do
if ping -w1 -c1 $NETID.$HOSTIP &> /dev/null;then
echo $NETID.$HOSTIP Communication success! |tee -a hostlist.txt
else
echo $NETID.$HOSTIP Communication fail! |tee -a hostlist.txt
fi
let HOSTIP++
done
3、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
crontab -e
30 1 * * 1-5 /usr/bin/tar -cvf /backup/etcbak-`date -d "-1 day" +%F-%H` /etc/
4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警
vim diskcheck-awk.sh
#!/bin/bash
DISKUSE_MASK=`df |grep /dev/sd |awk -F " +|%" '{print $5}'|sort -nr|head -1`
WARNING=80
if [ $DISKUSE_MASK -gt $WARNING ] ;then
echo "Disk space will be full,userd:$DISKUSE_MASK%"
mail -s "Hard disk usage" `whoami`@`hostname`
fi
crontab -e
chmod +x diskcheck-awk.sh
*/10 * * * 1-5 /bin/bash diskcheck-awk.sh &> /dev/null
测试:我们将警戒值改为10,来测试下
标签:脚本,bin,NETID,基础,ping,sh,实例,HOSTIP,echo 来源: https://www.cnblogs.com/ftc0926/p/13425402.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。