linux监控运维脚本,shell脚本——linux主机监控

写着玩儿的,在init 5级别,运行后会主动生成两个窗口,对系统以及系统上的主要服务进行监控,并及时刷新,抛砖引玉,分享一下。 一共有三个脚本:1个主脚本,2个分属监控脚本

写着玩儿的,在init 5级别,运行后会主动生成两个窗口,对系统以及系统上的主要服务进行监控,并及时刷新,抛砖引玉,分享一下。

65175b293728dc675073d4f23afe9f13.png

735ef2a933a15743a8658f617db73b2f.png

一共有三个脚本:1个主脚本,2个分属监控脚本

主脚本启动:

#!/bin/sh

#writer:gaolixu

path=`pwd`

gnome-terminal --geometry=63x16 -e $path/jk1_xn.sh

gnome-terminal --geometry=63x16+0+350 -e $path/jk2_fw.sh

系统监控脚本:

#!/bin/sh

#writer:gaolixu

cpu(){

cpuld_15=`uptime |awk -F"[,|:]" '{print $NF}'`

cpuld_5=`uptime |awk -F"[,|:]" '{n=NF-1;print $n}'`

cpuld_1=`uptime |awk -F"[,|:]" '{n=NF-2;print $n}'`

cpu_used=`ps aux |awk 'BEGIN{sum=0}{sum=$3+sum}END{print sum}'`

echo -e `tput bold`"Cpu load\t1min\t5min\t15min\tCpu Used(%)"

echo -e `tput sgr0;tput el`"cpu(s):$cpus\t$cpuld_1\t$cpuld_5\t$cpuld_15\t$cpu_used" %

tput sgr0

}

mem(){

m_total=`free -m|awk '/^Mem:/{print $2}'`

m_free=`free -m|awk '/^Mem:/{print $4}'`

m_used=`free -m|awk '/^Mem:/{print $3}'`

m_usedd=`echo "$m_used*100/$m_total"|bc`

echo -e `tput bold`"Title(Mem)\tTotal\tUsed(%)\t\tFree "

echo -e `tput sgr0`"Memery\t\t$m_total"M"\t$m_used"M"($m_usedd%)\t$m_free"M

}

swap(){

swap_total=`free -m |awk '/Swap:/{print $2}'`

swap_free=`free -m |awk '/Swap:/{print $4}'`

swap_used=`free -m |awk '/Swap:/{print $3}'`

swap_usedd=`echo "$swap_used*100/$swap_total"|bc`

echo -e "Swap\t\t$swap_total"M"\t$swap_used"M"($swap_usedd%)\t\t$swap_free"M

}

disk(){

echo -e `tput bold`"Disk Name\tTotal\tUsed(%)\t\tFree\tType "

tput sgr0

df -Th|awk '$NF=="/"{print $NF"\t\t"$3"\t"$4"("$6")""\t"$5"\t"$2}'

df -Th|awk '$NF=="/boot"{print $NF"\t\t"$3"\t"$4"("$6")""\t"$5"\t"$2}'

}

tput clear

tput sgr0

tput civis

cpus=`lscpu |awk '/^CPU\(s\):/{print $2}'`

echo

while true

do

n_users=`uptime | awk -F, '{print $2}'`

tput cup 1 0

echo -e `tput setaf 1;tput bold`"服务器性能监控,登录用户:$n_users\t"`date "+%m月%d日  %T"`

echo `tput sgr0`"========================================================="

cpu

echo "========================================================="

mem

swap

echo "========================================================="

disk

echo "========================================================="

sleep 1

done

服务监控脚本:

#!/bin/sh

#writer:gaolixu

apache_d(){

echo -n -e `tput sgr0`"apache\t\t"

if service httpd status &>/dev/null ;then

echo `tput el`"Apache 正常运行中..."

tput sgr0

else

echo `tput el;tput setaf 1;tput bold` "严重警告:apache服务已停止..."

tput sgr0

fi

}

mysql_d(){

echo -n -e `tput sgr0`"mysql\t\t"

if service mysqld status &>/dev/null ;then

echo `tput el`"数据库mysql 正常运行中..."

tput sgr0

else

echo `tput el;tput setaf 1;tput bold` "严重警告:mysql服务已停止..."

tput sgr0

fi

}

vsftp_d(){

echo -n -e `tput sgr0`"vsftp\t\t"

if service vsftpd status &>/dev/null ;then

echo `tput el`"vsftp 服务正常运行中..."

tput sgr0

else

echo `tput el;tput setaf 1;tput bold` "严重警告:vsftp服务已停止..."

tput sgr0

fi

}

rsyslog_d(){

echo -n -e `tput sgr0`"rsyslog\t\t"

if service rsyslog status &>/dev/null ;then

echo `tput el`"系统日志rsyslog正常运行中..."

tput sgr0

else

echo `tput el;tput setaf 1;tput bold` "严重警告:rsyslog日志服务已停止..."

tput sgr0

fi

}

iptables_d(){

echo -n -e `tput sgr0`"iptables\t"

if service iptables status &>/dev/null ;then

echo `tput el`"防火墙iptables服务正常运行中..."

tput sgr0

else

echo `tput el;tput setaf 1;tput bold` "严重警告:iptables防火墙服务已停止..."

tput sgr0

fi

}

selinux_d(){

echo -n -e `tput sgr0`"selinux\t\t"

local s=`getenforce`

if [ "$s" = "Enforcing" ] ;then

echo `tput el`"Selinux正常工作中..."

tput sgr0

else

echo `tput el;tput setaf 1;tput bold` "警告:selinux服务已停止..."

tput sgr0

fi

}

tput clear

tput sgr0

tput civis

while true

do

tput cup 1 0

echo -e `tput setaf 1;tput bold`"重要服务监控\t\t\t" `date "+%m月%d日  %T"`

echo `tput sgr0`"========================================================"

apache_d

echo "--------------------------------------------------------"

mysql_d

echo "--------------------------------------------------------"

vsftp_d

echo "--------------------------------------------------------"

iptables_d

echo "--------------------------------------------------------"

rsyslog_d

echo "--------------------------------------------------------"

selinux_d

echo "========================================================"

sleep 1

done

“运维网咖社”原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。http://www.net-add.com

©本站文章(技术文章和tank手记)均为社长"矢量比特"工作.实践.学习中的心得原创或手记,请勿转载!

喜欢 (3) or

分享 (0)

欢迎扫描关注微信公众号【运维网咖社】

4fd772971148edf5ba96516f24284784.png

社长"矢量比特",曾就职中软、新浪,现任职小米,致力于DevOps运维体系的探索和运维技术的研究实践.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Linux运维常见的Shell脚本有很多,以下是其中几个常见的: 1. 自动备份脚本:用于定期备份重要数据和文件。通过Shell脚本可以实现自动化备份的操作,可以指定备份的目录和文件,以及备份的频率和存储位置。这样可以节省管理员手动备份的时间和精力。 2. 日志分析脚本:用于对系统日志进行分析和统计。通过Shell脚本,可以编写脚本来检索系统日志中的特定信息,比如错误日志或者登录日志,并可以进行分析和生成报告,帮助管理员找出系统中的问题和异常。 3. 系统监控脚本:用于监控服务器的性能和资源。通过Shell脚本可以实现对服务器资源的监控,比如CPU利用率、内存使用情况、磁盘空间等。当资源达到预设阈值时,可以触发报警或者自动化的操作。 4. 系统部署脚本:用于快速部署和配置服务器。通过Shell脚本可以编写自动化的脚本来安装和配置应用程序或者服务器环境,比如搭建Web服务器或者数据库服务器。这样可以提高部署的效率和一致性。 5. 定时任务脚本:用于定期执行特定的任务。通过Shell脚本可以编写定时任务,比如定期清理临时文件、定时发送邮件等。这样可以实现一些常规性的操作,并减轻管理员的工作负担。 这些是Linux运维中常见的几个Shell脚本,当然实际应用可能还有其他的脚本,根据具体需求会有所不同。通过编写Shell脚本,可以提高运维工作的自动化程度和效率,同时减少出错的可能性。 ### 回答2: Linux运维通常会使用一些常见的Shell脚本来简化和自动化一些重复的任务。以下是一些常见的Linux运维脚本: 1. 系统备份脚本:用于执行服务器的完全备份或增量备份,包括文件和数据的备份、压缩和存储。通过定期运行备份脚本可以确保数据的安全性。 2. 日志文件分析脚本:用于对系统日志进行分析和报告,通过提取关键信息、统计特定事件的发生次数和分析日志文件的大小等指标,帮助系统管理员及时发现问题,并进行相应的故障排除。 3. 定时任务脚本:用于定期执行某些任务,比如系统状态监控、磁盘空间检查、服务启动和停止等。通过设置定时任务脚本,可以在预定时间自动执行相应的操作,提高工作效率。 4. 监控脚本:用于监控系统的各项指标,如CPU利用率、内存占用率、磁盘空间使用情况和络带宽等。通过定期运行监控脚本,可以及时发现系统的异常情况并采取相应措施。 5. 安全检查脚本:用于检查系统的安全性,包括密码强度、账户权限、开放的端口等。通过运行安全检查脚本,可以发现系统的安全漏洞并采取相应措施,增强系统的安全性。 6. 络设置脚本:用于配置和管理络设置,包括IP地址、子掩码、关、DNS等。通过运行络设置脚本,可以快速配置和修改系统的络设置,提供便利性和灵活性。 以上是一些常见的Linux运维脚本,通过使用这些脚本,系统管理员可以更高效地管理和维护Linux服务器,提高工作效率和系统安全性。 ### 回答3: Linux运维常见的Shell脚本有很多,以下是一些常见的例子: 1. 自动备份脚本:用于定期备份重要数据或文件,可以设置定时任务,自动执行备份任务,并将备份文件按照日期存储。 2. 系统资源监控脚本:可以通过Shell脚本编写一个用于监控系统资源使用情况的脚本,包括CPU使用率、内存使用量、磁盘空间等,并将结果输出到日志文件或发送邮件进行监控。 3. 日志分析脚本:用于分析日志文件,提取关键信息,如错误日志分析、访问日志统计等。 4. 系统自动安装脚本:可以编写一个脚本,自动安装各种软件或配置系统环境,简化系统部署过程。 5. 监控进程脚本:编写一个Shell脚本监控某个进程的运行状态,当进程停止运行时,自动重启或发出警报。 6. 络检测脚本:可以编写一个用于检测络连通性的脚本,通过ping命令检测络连通性,并将结果记录下来。 7. 系统性能优化脚本:用于自动优化系统性能,例如调整内核参数、清理无用进程、释放缓存等。 8. 定时任务脚本:使用crontab命令结合Shell脚本可以编写定时任务,如每天自动备份、每周清理日志等。 总之,Shell脚本Linux运维中扮演了重要的角色,可以帮助管理人员自动化执行各种任务,提高效率,减少人工操作的工作负担。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值