6月8

iftop工具

用途: 用来即时监看网路状态和各ip所使用的频宽

执行(必须以root身份)
监控eth1的网卡的流量
# iftop -i eth1

以位元组(bytes)为单位显示流量(预设是位元bits):
$ iftop -B

直接显示IP, 不进行DNS反解:
$ iftop -n

直接显示连接埠编号, 不显示服务名称:
$ iftop -N

显示某个网段进出封包流量
$ iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0

其他参数可下 iftop -h 看说明.

进入iftop画面时, 可按 p 切换是否显示连接埠, n 切换显示IP或主机的domain name, N切换显示连接埠代号或名称, p暂停显示, b切换是否显示长条, B切换计算几秒内的平均流量, 其他按键可以按h观看说明.
設定檔的位置在~/.iftoprc , 關於設定檔的寫法可以參考 iftop 的 info page.


nload

用途: 用来即时监看网路状态和各ip所使用的频宽(很废话了)
nload默认的是eth0网卡,如果你想监测eth1网卡的流量
#nload eth1

nload默认分为上下两块:上半部分是:Incoming也就是进入网卡的流量,下半部分是:Outgoing,也就是从这块网卡出去的流量,每 部分都有当前流量(Curr),平均流量(Avg),最小流量(Min),最大流量(Max),总和流量(Ttl)这几个部分,看起来还是蛮直观的。
另外,你也可以自己定义流量数值显示的单位
#nload –help
就可以看到具体的相关参数了。


查看网络平均流量

下面的脚本可以很好的监控你的网络的平均流量,你可以提定时间
#!/bin/bash
echo -n "which nic?"
read eth
echo "the nic is "$eth
echo -n "how much seconds:"
read sec
echo "duration is "$sec" seconds, wait please…"
infirst=$(awk '/' $eth '/{print $1 }' /proc/net/dev |sed 's/' $eth' ://')
outfirst=$(awk '/' $eth' /{print $10 }' /proc/net/dev)
sumfirst=$(($infirst+$outfirst))
sleep $sec"s"
inend=$(awk '/' $eth' /{print $1 }'  /proc/net/dev |sed 's/' $eth' ://')
outend=$(awk '/' $eth' /{print $10 }'  /proc/net/dev)
sumend=$(($inend+$outend))
sum=$(($sumend-$sumfirst))
echo $sec" seconds total :"$sum"bytes"
aver=$(($sum/$sec))
echo "avrage :"$aver"bytes/sec"

还有一个叫ipband的软件听讲不错,有兴趣可以到http://ipband.sourceforge.net /看看

IO图形化监控

windows的任务管理器很不错,可以直接看到进程和对应IO的情况,linux也有了,不过要求python>=2.5,内核& gt;=2.6.20  http://guichaz.free.fr/iotop/

Tags: , ,
4月21

一、加密

    设置grub密码:

    众所周知,通过编辑GRUB启动参数可以轻松的进入单用户模式从而修改root密码,这对于一台多用户的计算机或服务器来说,无疑增加了安全隐患。大家一定很像为自己的GRUB加一把锁吧,大家可以通过GRUB的password参数对GRUB设置密码。

    GRUB的密码设置可分为全局密码和菜单密码,为了防止他人通过GRUB修改root密码大家需要设置一个全局密码。在splashimage这个参数的下一行可以加上password=密码,保存后重新启动计算机,再次登录到GRUB菜单页面的时候就会发现,这时已经不能直接使用e命令编辑启动标签了,须先使用p命令,输入正确的密码后才能够对启动标签进行编辑。

    虽然我们设置了全局密码,但是如果他人得到了全局密码后仍然可以修改GRUB启动标签从而修改root密码;这样我们就可以设置菜单密码,设置菜单密码也非常简单,我们只需要在title的下一行加上password=密码,然后保存退出。这样即使有了全局密码也必需输入菜单密码才能够引导系统。此外,如果直接对GRUB进行明文加密也是非常不安全的,所以就要使用MD5对其进行加密。在终端中输入grub-md5-crypt回车,这时系统会要求输入两次相同的密码,之后系统便会输出MD5码。大家只需要将生成的MD5密文复制下来,然后在按照password --md5 MD5密文这个格式设置全局或者菜单密码,保存退出,重启计算机即可。

    1、计算grub的MD5加密密码:

#grub-md5-crypt
Password:
Retype password:
    输入两遍密码进行确认以后,就会计算出你所输入密码的MD5加密值,如:$1$3VbjX/$PTzUC7OpcO3QunjIsB6LZ
    复制该密码进行MD5加密后的值。

    2、设置grub密码:
#vi /etc/grub.conf
在“splashimage=(hd0,0)/grub/splash.xpm.gz”行下插入一空行,输入:
password --md5 $1$aUXjX/$iZhsyk4xg4D5MJ3N6LNx11
    保存退出,OK,现在grub密码已设置成功。

    重启系统,尝试编辑grub菜单,屏幕下方提示必须输入正常的grub密码才能对grub菜单进行编辑,证明grub菜单加密成功。


二、解密

    当Linux系统管理员密码忘记,又不能编辑grub菜单进行单用户模式重置密码,怎么办呢,只有对grub进行解密了。

    1、用Linux第一张安装光盘引导系统,进入修复模式。
    2、光盘引导系统,选择区域和语言,不用启动网卡。
    3、出现Rescue菜单,选择Continue,再弹出一个Rescue菜单,会显示“chroot /mnt/sysimage”,OK。
    4、sh-3.2#chroot /mnt/sysimage,若不执行此步,进系统不能进行改写。
    5、执行passwd对用户密码进行重置,完后重启正常进入系统。
    6、编辑/etc/grub.conf,去掉“password --md5 $1$3VbjX/$PTzUC7OpcO3QunjIsB6LZ”这一行即可。

4月18

今天将USB移动硬盘挂在CentOS上准备将压缩包拷贝下来的。
结果挂载移动硬盘的时候却提示:
mount: unknown filesystem type ‘ntfs’


原因:Linux无法识别NTFS格式的分区。
解决:
因为刚刚将CentOS升级到了2.6.18-164.el5内核,无法使用Kernel NTFS Module挂载Windows下的NTFS分区(没有在开源站点上找到相应内核包),所以只有使用ntfs-3g来解决了。

打开ntfs-3g的下载站点,将最新稳定版(当前最新版本为ntfs-3g-2010.3.6)下载到CentOS,执行以下命令安装:

1、编译安装ntfs-3g:
#./configure
#make
#make install
[/code]
2、查看USB设备点:
#fdisk -l
Disk /dev/sdb: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sdb1 * 1 653 5245191 b W95 FAT32
/dev/sdb2 654 7295 53351865 f W95 Ext'd (LBA)
/dev/sdb5 654 1958 10482381 b W95 FAT32
/dev/sdb6 1959 7295 42869421 7 HPFS/NTFS

3、挂载NTFS分区:

#mount -t ntfs-3g /dev/sdb6 /mnt/win

3月23
Google终于离开中国大陆了,将家搬到了中国香港。

Tags: , ,
1月1

  终止一个进程或终止一个正在运行的程序,一般是通过 kill 、killall、pkill、xkill 等进行。比如一个程序已经死掉,但又不能退出,这时就应该考虑应用这些工具。

  另外应用的场合就是在服务器管理中,在不涉及数据库服务器程序的父进程的停止运行,也可以用这些工具来终止。为什么数据库服务器的父进程不能用这些工具杀死呢?原因很简单,这些工具在强行终止数据库服务器时,会让数据库产生更多的文件碎片,当碎片达到一定程度的时候,数据库就有崩溃的危险。比如 mysql服务器最好是按其正常的程序关闭,而不是用pkill mysqld 或killall mysqld 这样危险的动作;当然对于占用资源过多的数据库子进程,我们应该用kill 来杀掉。


  kill

  kill的应用是和ps 或pgrep 命令结合在一起使用的;

  kill 的用法:

  kill [信号代码] 进程ID

  注:信号代码可以省略;我们常用的信号代码是 -9 ,表示强制终止;

  举例:

  [root@localhost ~]# ps auxf |grep httpd

  root 4939 0.0 0.0 5160 708 pts/3 S+ 13:10 0:00 \_ grep httpd

  root 4830 0.1 1.3 24232 10272 ? Ss 13:02 0:00 /usr/sbin/httpd

  apache 4833 0.0 0.6 24364 4932 ? S 13:02 0:00 \_ /usr/sbin/httpd

  apache 4834 0.0 0.6 24364 4928 ? S 13:02 0:00 \_ /usr/sbin/httpd

  apache 4835 0.0 0.6 24364 4928 ? S 13:02 0:00 \_ /usr/sbin/httpd

  apache 4836 0.0 0.6 24364 4928 ? S 13:02 0:00 \_ /usr/sbin/httpd

  apache 4837 0.0 0.6 24364 4928 ? S 13:02 0:00 \_ /usr/sbin/httpd

  apache 4838 0.0 0.6 24364 4928 ? S 13:02 0:00 \_ /usr/sbin/httpd

  apache 4839 0.0 0.6 24364 4928 ? S 13:02 0:00 \_ /usr/sbin/httpd

  apache 4840 0.0 0.6 24364 4928 ? S 13:02 0:00 \_ /usr/sbin/httpd

  我们查看httpd 服务器的进程;您也可以用pgrep -l httpd 来查看;

  我们看上面例子中的第二列,就是进程PID的列,其中4830是httpd服务器的父进程,从4833-4840的进程都是它4830的子进程;如果我们杀掉父进程4830的话,其下的子进程也会跟着死掉;

  [root@localhost ~]# kill 4840 注:杀掉4840这个进程;

  [root@localhost ~]# ps -auxf |grep httpd 注:查看一下会有什么结果?是不是httpd服务器仍在运行?

  [root@localhost ~]# kill 4830 注:杀掉httpd的父进程;

  [root@localhost ~]# ps -aux |grep httpd 注:查看httpd的其它子进程是否存在,httpd服务器是否仍在运行?

  对于僵尸进程,可以用kill -9 来强制终止退出;

  比如一个程序已经彻底死掉,如果kill 不加信号强度是没有办法退出,最好的办法就是加信号强度 -9 ,后面要接杀父进程;比如;

  [root@localhost ~]# ps aux |grep gaim

  beinan 5031 9.0 2.3 104996 17484 ? S 13:23 0:01 gaim

  root 5036 0.0 0.0 5160 724 pts/3 S+ 13:24 0:00 grep gaim

  或

  [root@localhost ~]# pgrep -l gaim

  5031 gaim

  [root@localhost ~]# kill -9 5031


  killall

  killall 通过程序的名字,直接杀死所有进程,咱们简单说一下就行了。

  用法:killall 正在运行的程序名

  killall 也和ps或pgrep 结合使用,比较方便;通过ps或pgrep 来查看哪些程序在运行;

  举例:

  [root@localhost beinan]# pgrep -l gaim

  2979 gaim

  [root@localhost beinan]# killall gaim


  pkill

  pkill 和killall 应用方法差不多,也是直接杀死运行中的程序;如果您想杀掉单个进程,请用kill 来杀掉。

  应用方法:

  #pkill 正在运行的程序名

  举例:

  [root@localhost beinan]# pgrep -l gaim

  2979 gaim

  [root@localhost beinan]# pkill gaim


  xkill

  xkill 是在桌面用的杀死图形界面的程序。比如当firefox 出现崩溃不能退出时,点鼠标就能杀死firefox 。当xkill运行时出来和个人脑骨的图标,哪个图形程序崩溃一点就OK了。如果您想终止xkill ,就按右键取消;

  xkill 调用方法:
  [root@localhost ~]# xkill

Tags: , , ,
分页: 4/28 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]