Shell练习

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell练习相关的知识,希望对你有一定的参考价值。

习题1:监控磁盘使用率

要求:写一个shell脚本,检测所有磁盘分区使用率和inode使用率并记录到以当天日期为命名的日志文件里,当发现某个分区容量或者inode使用量大于85%时,发邮件通知你自己。

思路:就是先df -h 然后过滤出已使用的那一列,然后再想办法过滤出百分比的整数部分,然后和85去比较,同理,inode也是一样的思路。

参考答案:

#!/bin/bash
# date: 2018年2月26日
log=/var/log/disk/`date +%F`.log
date +'%F %T' > $log
df -h >> $log
echo >> $log
df -i >> $log
email="[email protected]"
# 磁盘分区使用率
for i in `df -h|awk '{print $5}'|sed 's/%//'`
do
    expr $i + 1 &>/dev/null
    if [ $? -eq 0 ];then
	if [ $i -gt 50 ];then
	   python /root/shell/mail.py "$email" "disk test" "`date +'%F %T'`  disk warning..."
    	fi
    fi
done
# inode使用率
for i in `df -i|awk '{print $5}'|sed 's/%//'`
do
    expr $i + 1 &>/dev/null
    if [ $? -eq 0 ];then
        if [ $i -gt 2 ];then
           python /root/shell/mail.py "$email" "disk test" "`date +'%F %T'`  disk inode warning..."
        fi
    fi
done

邮件脚本mail.py:http://blog.51cto.com/11924224/2069732 


习题2:统计普通用户

要求:写个shell,看看你的Linux系统中是否有自定义用户(普通用户),若是有,一共有几个?(假设所有普通用户都是uid大于1000的

参考答案:



【答案晚点公布!】

以上是关于Shell练习的主要内容,如果未能解决你的问题,请参考以下文章

Shell练习小程序练习练习——九九乘法表

spring练习,在Eclipse搭建的Spring开发环境中,使用set注入方式,实现对象的依赖关系,通过ClassPathXmlApplicationContext实体类获取Bean对象(代码片段

Python练习册 第 0013 题: 用 Python 写一个爬图片的程序,爬 这个链接里的日本妹子图片 :-),(http://tieba.baidu.com/p/2166231880)(代码片段

shell脚本练习题

shell脚本小练习

Shell练习获取彩票开奖结果