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