通过motd信息简化巡检操作

作为一个Unix系统的管理员,手工巡检几乎成了工作中一个重要的部分。这里不放使用Linux的motd通告信息实现简单的信息通告,至少能省去了不少手工命令的时间。

motd即Message Of ToDay,每天的信息。大部分的固定文本信息放置在/etc/motd下,如果没有你可以直接创建一个,然后修改其中的内容制作一个主机登录Banner以便于区分多台主机。对于Ubuntu来说,特别是启用了server中“landscope管理系统”后,这里没有效果,你需要修改的文件为/etc/motd.tail。

对于部分相对比较保守的Unix版本而言剩下可供修改的并不多,只有通过/etc/issue的方法,除了使用现有的字符,issue还支持参数如下:

/l 显示终端机接口号
/m 显示内核的硬件版本
/n 显示主机名
/o 显示 域名
/r 显示操作系统的版本,类似于uname -r 
/t 显示本地端时间
/s 操作系统的名称
/v 操作系统的版本

对于比较激进的操作系统(ubuntu就曾经因为motd爆出安全漏洞)那就更灵活了。

Ubuntu:

修改/etc/init.d/bootmisc.sh脚本,其中:

        uname -snrvm > /var/run/motd
        [ -f /etc/motd.tail ] && cat /etc/motd.tail >> /var/run/motd

我要加入uptime和df -h的信息就修改为:

        uname -snrvm > /var/run/motd
        [ -f /etc/motd.tail ] && cat /etc/motd.tail >> /var/run/motd
        uptime >> /var/run/motd
        df -h >> /var/run/motd

重启服务:

/etc/init.d/bootmisc.sh stop
/etc/init.d/bootmisc.sh start // 不支持restart reload等操作

登录查看,成功!

FreeBSD:

其实是一个原理,方式类似:

ee /etc/rc.d/motd

        uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' > ${T}
        awk '{if (NR == 1) {if ($1 == "FreeBSD") {next} else {print "\n"$0}} else {print}}' < /etc/motd >> ${T}

改为:

        uname -v | sed -e 's,^\([^#]*\) #\(.* [1-2][0-9][0-9][0-9]\).*/\([^\]*\) $,\1 (\3) #\2,' > ${T}
        awk '{if (NR == 1) {if ($1 == "FreeBSD") {next} else {print "\n"$0}} else {print}}' < /etc/motd >> ${T}

        uptime >> ${T}
        df -h >> ${T} 

重启

 /etc/rc.d/motd stop;  /etc/rc.d/motd start

成功!

推荐阅读:
一直用ubuntu作为自己的开
Xdebug是一个很方便的PH
正如之前说的,很多情况下我们需

发表评论

电子邮件地址不会被公开。 必填项已用*标注

请补全下列算式: *

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据