《Linux命令行与shell脚本编程大全》 第二十七章 学习笔记

第一部分:Linux命令行
《Linux命令行与shell脚本编程大全》 第一章:初识Linux shell
《Linux命令行与shell脚本编程大全》 第二章:走进shell
《Linux命令行与shell脚本编程大全》 第三章:基本的bash shell命令
《Linux命令行与shell脚本编程大全》 第四章:更多的bash shell命令
《Linux命令行与shell脚本编程大全》 第五章:使用Linux环境变量
《Linux命令行与shell脚本编程大全》 第六章:理解Linux文件权限
《Linux命令行与shell脚本编程大全》 第七章:管理文件系统
《Linux命令行与shell脚本编程大全》 第八章:安装软件程序
《Linux命令行与shell脚本编程大全》 第九章:使用编辑器

第二部分:shell脚本编程基础
《Linux命令行与shell脚本编程大全》 第十章:构建基本脚本
《Linux命令行与shell脚本编程大全》 第十一章:使用结构化命令
《Linux命令行与shell脚本编程大全》 第十二章:更多的结构化命令
《Linux命令行与shell脚本编程大全》 第十三章:处理用户输入
《Linux命令行与shell脚本编程大全》 第十四章:呈现数据
《Linux命令行与shell脚本编程大全》 第十五章:控制脚本

第三部分:高级shell编程
《Linux命令行与shell脚本编程大全》 第十六章:创建函数
《Linux命令行与shell脚本编程大全》 第十七章:图形化桌面上的脚本编程
《Linux命令行与shell脚本编程大全》 第十八章:初识sed和gawk
《Linux命令行与shell脚本编程大全》 第十九章:正则表达式
《Linux命令行与shell脚本编程大全》 第二十章:sed进阶
《Linux命令行与shell脚本编程大全》 第二十一章:gawk进阶
《Linux命令行与shell脚本编程大全》 第二十二章:使用其他shell

第四部分:高级shell脚本编程主题
《Linux命令行与shell脚本编程大全》 第二十三章:使用数据库
《Linux命令行与shell脚本编程大全》 第二十四章:使用Web
《Linux命令行与shell脚本编程大全》 第二十五章:使用E-mail
《Linux命令行与shell脚本编程大全》 第二十六章:编写脚本实用工具
《Linux命令行与shell脚本编程大全》 第二十七章:shell脚本编程进阶


第二十七章:shell脚本编程进阶

 

监测系统统计数据

系统快照报告

1.运行时间

uptime命令会提供以下基本信息:

当前时间

系统运行的天数,小时数,分钟数

当前登录到系统的用户数

1分钟,5分钟,15分钟的平均负载

$ uptime 
 16:20:51 up 2 days,  3:11,  9 users,  load average: 0.01, 0.02, 0.05

2.磁盘使用情况

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              47G  5.8G   39G  13% /
none                  2.9G  244K  2.9G   1% /dev
none                  2.9G  5.3M  2.9G   1% /dev/shm
none                  2.9G  456K  2.9G   1% /var/run
none                  2.9G     0  2.9G   0% /var/lock
/dev/sda7             197G  141G   47G  76% /home
/dev/sdb              459G  338G   98G  78% /home/su1216/android/source/cn3

3.内存使用情况

free命令会显示物理内存总量,以及其中空闲,使用。还会显示交换内存的上述数据,包括内核缓冲区。

$ free
             total       used       free     shared    buffers     cached
Mem:       6025532    5966392      59140          0     967352    1849580
-/+ buffers/cache:    3149460    2876072
Swap:      2899696     174624    2725072

4.僵尸进程

$ ps -al
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY          TIME CMD
1 S  1000  2279     1  0  80   0 - 21912 poll_s pts/0    00:00:36 fcitx
0 S  1000 27284     1  0  80   0 -  7330 poll_s pts/3    00:00:02 adb
0 R  1000 29962  2252  0  80   0 -  2737 -      pts/0    00:00:00 ps

S列状态为Z的为僵尸进程,上面没有僵尸进程

$ ps -al | tr -s ' ' ' ' | cut -d ' ' -f 2,4
S PID
S 2279
S 27284
R 29959
S 29960
S 29961

然后再grep -Z就可以找到僵尸进程以及对应的PID

系统统计数据报告

vmstat可以查看虚拟机状态

vmstat的输出符号

符号描述
r等待CPU时间的进程数
b处于不可中断休眠中的进程数
swpd使用的虚拟内存总量(单位:MB)
free空闲的物理内存总量(单位:MB)
buff用作缓冲区的内存总量(单位:MB)
cache用作高速缓存的内存总量(单位:MB)
si从磁盘交换进来的内存总量(单位:MB)
so交换到磁盘的内存总量(单位:MB)
bi从块设备收到的块数
bo发送给块设备的块数
in每秒的CPU中断次数
cs每秒的CPU上下文切换次数
us用于执行非内核代码的CPU时间所占用的百分比
sy用于执行内核代码的CPU时间所占用的百分比
id处于空闲状态的CPU时间所占的百分比
wa处于等待I/O的CPU时间所占的百分比

 第一次运行vmstat时,它会显示上次重启以来的平均负载值。

要得到当前统计数据,必须添加参数:

$ vmstat 1 3
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa
 0  0 191364 158988 246504 2287404    0    0    64    82   48   17  3  1 96  1
 0  0 191364 158888 246504 2287416    0    0     0     0  374  862  2  0 98  0
 0  0 191364 158888 246504 2287416    0    0     0     0  360  970  1  0 99  0

 

问题跟踪数据库

默认情况下,mysql会忽略大小写

在mysql中可以使用正则。比如:

select * from tableA where name REGEXP 'regular expression'

 

(笔记只保留了必要的脚本,没有什么新的知识,全部脚本请参阅原书第27章576页)

 

转贴请保留以下链接

本人blog地址

http://su1216.iteye.com/

http://blog.csdn.net/su1216/

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值