1、显示统计占用系统内存最多的进程,并排序。
ps axo pid,pmem,comm | grep -v PID | tr -s " " | sort -t " " -k3n
2、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
for循环:
NET="10.51.3"
RED="\033[1;31m"
END="\033[0m"
GREEN="\033[1;32m"
for i in `seq 1 254`;do
ping -c 1 -W 1 $NET.$i &>/dev/null && echo -e "${GREEN}$NET.$i is sucess${END}" || echo -e "${RED}$NET.$i is fail${END}"
done
while循环
I=1
NET="10.51.3"
HOST=254
RED="\033[1;31m"
GREEN="\033[1;32m"
END="\033[0m"
while [ $I -le $HOST ];do
ping -c 1 -W 1 $NET.$I &>/dev/null && echo -e "${GREEN}$NET.$I is sucess${END}" || echo -e "${RED}$NET.$I is fail${END}"
let I++
done
3、每周的工作日1:30,将/etc备份至/backup目录中,保存的文件名称格式 为“etcbak-yyyy-mm-dd-HH.tar.xz”,其中日期是前一天的时间
创建脚本backup_etc.sh
[ -d /baskup ] || mkdir /backup
tar cJf /backup/etcbak-$(date -d yesterday "+%F-%H").tar.xz /etc
创建定时任务
crontab -e
30 1 * * 1-5 /opt/backup_etc.sh &>/dev/null
4、工作日时间,每10分钟执行一次磁盘空间检查,一旦发现任何分区利用率高 于80%,就发送邮件报警
创建脚本
WARNING=80
BIGGEST=$(df -h | sed -nr '/^\/dev/s#.* ([0-9]+)%.*| sort -r | head -1)
[ $BIGGEST -ge $WARNING ] && echo 'disk is almost full' | mail -s "disk is almost full" root
创建定时任务
crontab -e
*/10 * * * 1-5 /opt/checkdish.sh &>/dev/null