---
author: Avishek Kumar
category: 系统运维
comments_data:
- date: '2015-06-11 19:52:31'
  message: 就是一个常用信息的汇总！&nbsp;&nbsp;而且是静态的。&nbsp; &nbsp;实用度应该不会太高！&nbsp;&nbsp;不过对于学习脚本还是很有用的呢。
  postip: 211.157.174.250
  username: 贵在坚持
- date: '2017-02-13 17:08:50'
  message: 404 Not Found
  postip: 118.81.99.71
  username: 来自山西太原的 Microsoft Edge 14.14393|Windows 10 用户
count:
  commentnum: 2
  favtimes: 13
  likes: 0
  sharetimes: 0
  viewnum: 26580
date: '2015-06-11 10:13:00'
editorchoice: false
excerpt: 系统管理员的任务真的很艰难，因为他/她必须监控服务器、用户、日志，还得创建备份，等等等等。对于大多数重复性的任务，大多数管理员都会写一个自动化脚本来日复一日地重复这些任务。这里，我们已经写了一个shell脚本给大家，用来自动化完成系统管理员所要完成的常规任务，这可能在多数情况下，尤其是对于新手而言十分有用，他们能通过该脚本获取到大多数的他们想要的信息，包括系统、网络、用户、负载、内存、主机、内部IP、外部IP、开机时间等。
  我们已经注意并进行了格式化输出（在一定程度上哦）。此脚本不包含任何恶意内容，并且它
fromurl: http://www.tecmint.com/linux-server-health-monitoring-script/
id: 5604
islctt: true
largepic: /images/p/201506/11/001512f21f993j3f3f1ffi.png
permalink: /article-5604-1.html
pic: /data/attachment/album/201506/11/001512f21f993j3f3f1ffi.png.thumb.jpg
related: []
reviewer: ''
selector: ''
summary: 系统管理员的任务真的很艰难，因为他/她必须监控服务器、用户、日志，还得创建备份，等等等等。对于大多数重复性的任务，大多数管理员都会写一个自动化脚本来日复一日地重复这些任务。这里，我们已经写了一个shell脚本给大家，用来自动化完成系统管理员所要完成的常规任务，这可能在多数情况下，尤其是对于新手而言十分有用，他们能通过该脚本获取到大多数的他们想要的信息，包括系统、网络、用户、负载、内存、主机、内部IP、外部IP、开机时间等。
  我们已经注意并进行了格式化输出（在一定程度上哦）。此脚本不包含任何恶意内容，并且它
tags:
- 监控
- 脚本
thumb: false
title: 一个Linux中用于监控的简易shell脚本
titlepic: false
translator: GOLinux
updated: '2015-06-11 10:13:00'
---

系统管理员的任务真的很艰难，因为他/她必须监控服务器、用户、日志，还得创建备份，等等等等。对于大多数重复性的任务，大多数管理员都会写一个自动化脚本来日复一日地重复这些任务。这里，我们已经写了一个shell脚本给大家，用来自动化完成系统管理员所要完成的常规任务，这可能在多数情况下，尤其是对于新手而言十分有用，他们能通过该脚本获取到大多数的他们想要的信息，包括系统、网络、用户、负载、内存、主机、内部IP、外部IP、开机时间等。


我们已经注意并进行了格式化输出（在一定程度上哦）。此脚本不包含任何恶意内容，并且它能以普通用户帐号运行。事实上，我们也推荐你以普通用户运行该脚本，而不是root。


![Linux Server Health Monitoring](/data/attachment/album/201506/11/001512f21f993j3f3f1ffi.png)


*监控Linux系统健康的Shell脚本*


在保留Tecmint和脚本作者应得荣誉的前提下，可以自由使用/修改/再分发下面代码。我们已经试着在一定程度上自定义了输出结果，除了要求的输出内容外，其它内容都不会生成。我们也已经试着使用了那些Linux系统中通常不使用的变量，这些变量应该是可以随便用的。


#### 最小系统要求


你所需要的一切，就是一台正常运转的Linux机器。


#### 依赖性


对于一个标准的Linux发行版，使用此软件包不需任何依赖。此外，该脚本不需要root权限来执行。但是，如果你想要安装，则必须输入一次root密码。


#### 安全性


我们也关注到了系统安全问题，所以在安装此包时，不需要安装任何额外包，也不需要root访问权限来运行。此外，源代码是采用Apache 2.0许可证发布的，这意味着只要你保留Tecmint的版权，你可以自由地编辑、修改并再分发该代码。


### 如何安装和运行脚本？


首先，使用[wget命令](http://www.tecmint.com/10-wget-command-examples-in-linux/)下载监控脚本`“tecmint_monitor.sh”`，给它赋予合适的执行权限。



```
# wget http://tecmint.com/wp-content/scripts/tecmint_monitor.sh
# chmod 755 tecmint_monitor.sh

```

强烈建议你以普通用户身份安装该脚本，而不是root。安装过程中会询问root密码，并且在需要的时候安装必要的组件。


要安装“`tecmint_monitor.sh`”脚本，只需像下面这样使用-i（安装）选项就可以了。



```
./tecmint_monitor.sh -i 

```

在提示你输入root密码时输入该密码。如果一切顺利，你会看到像下面这样的安装成功信息。



```
Password: 
Congratulations! Script Installed, now run monitor Command

```

安装完毕后，你可以在任何位置，以任何用户调用命令`‘monitor’`来运行该脚本。如果你不喜欢安装，你需要在每次运行时输入路径。



```
# ./Path/to/script/tecmint_monitor.sh

```

现在，以任何用户从任何地方运行monitor命令，就是这么简单：



```
$ monitor

```

![TecMint Monitor Script in Action](/data/attachment/album/201506/11/001515wfa5cbf4xok2qahc.gif)


你运行命令就会获得下面这些各种各样和系统相关的信息：


* 互联网连通性
* 操作系统类型
* 操作系统名称
* 操作系统版本
* 架构
* 内核版本
* 主机名
* 内部IP
* 外部IP
* 域名服务器
* 已登录用户
* 内存使用率
* 交换分区使用率
* 磁盘使用率
* 平均负载
* 系统开机时间


使用-v（版本）开关来检查安装的脚本的版本。



```
$ monitor -v

tecmint_monitor version 0.1
Designed by Tecmint.com
Released Under Apache 2.0 License

```

### 小结


该脚本在一些机器上可以开机即用，这一点我已经检查过。相信对于你而言，它也会正常工作。如果你们发现了什么毛病，可以在评论中告诉我。这个脚本还不完善，这仅仅是个开始。从这里开始，你可以将它改进到任何程度。如果你想要编辑脚本，将它带入一个更深的层次，尽管随意去做吧，别忘了给我们应的的荣誉，也别忘了把你更新后的脚本拿出来和我们分享哦，这样，我们也会更新此文来给你应得的荣誉。


别忘了和我们分享你的想法或者脚本，我们会在这儿帮助你。谢谢你们给予的所有挚爱。继续浏览，不要走开哦。




---


via: <http://www.tecmint.com/linux-server-health-monitoring-script/>


作者：[Avishek Kumar](http://www.tecmint.com/author/avishek/) 译者：[GOLinux](https://github.com/GOLinux) 校对：[wxy](https://github.com/wxy)


本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创翻译，[Linux中国](https://linux.cn/) 荣誉推出