简单监控 MySQL 的脚本

放假前写的,监控服务器端的 MySQL 状态。

#!/bin/sh  
  
MUSER=MySQL User
MPASS=MySQL Password 
MHOST=MySQL Host  
MSTART="/etc/init.d/mysqld start"  
MADMIN=/usr/bin/mysqladmin 
MTO=Administrator Email 

$MADMIN -h $MHOST -u $MUSER -p"${MPASS}" ping 2>/dev/null 1>/dev/null
if [ $? -ne 0 ]; then  
    echo "Server ERROR: MySQL Service Stopped. Restart Service..."  
    $MSTART>/dev/null  
    sleep 3 
    o=$(ps cax | grep -c ' mysqld$')  
    if [ $o -eq 1 ]; then  
        echo "MySQL Restart Success."
    else  
        echo "MySQL Service Stopped." | mail -s "MySQL Server Crashed" $MTO
    fi  
 
else  
    echo "MySQL is alive"  
fi  

功能很简单,监控 MySQL 服务是否运行,如果挂了就尝试重启服务,重启失败就发邮件通知管理员。把这个 script 放到 crontabe 里就完事了。

简单的 SSH 脚本

要进入不同的服务器配置东西,一条条的输入 ssh 命令,一两台没事,一旦数量大于10台,想死的心都有了,所以还是写 shell 来的方便点。

#!/usr/bin/expect -f

set port Port_Number
set user Username
set host Host Address
set password Password
set timeout -1

spawn ssh -D $port $user@$host
expect "*assword:*"
send "$password\r"
expect eof

很简单的一个,就是用了 expect 来进行交互,timeout 可以根据自己需要来设置时长,这里配合 -D 翻墙就一直在线吧。

利用Twip架设自己的Twitter API

感谢+问候GFW以及其全家,上个推还要翻墙。host大法已然失效,SSH还能扛一段时间,无奈Touch和BB不能SSH穿墙,找了几个api还要看RP。遂想,还不如自己架个API。

Google一斧子,发现了几个,基于Python的birdnest,基于PHP的tweetr和twip,喜欢python的东西,但貌似birdnet是架在Google App Engine上的,估计早被GFW盯上了,转战熟悉的PHP,tweetr不返回header信息,没有将客户端类型的POST值传至服务器,还是选择twip. Continue reading 利用Twip架设自己的Twitter API

Hardy Heron

刚发现blogspot竟然没有被水产,终于不要用梯子了~~

实在不能忍受本本上的伤心硬盘,拿着刚到手的工资买了个Hitachi的HTS541612J9AT00,貌似有什么垂直技术,反正看着比伤心的好多了,顺带买个Pioneer的DVDRW,实习期的钱是花的一分不剩。

瓦卡卡~咱也用120G了,现在想放什么就放什么。立马买票回家!

想了几种分区方案,最后还是这么分:

Windows
C:20GB
D:20GB
E:40GB

Linux
/:20GB
/home:13GB
swap:2GB

本来是装gentoo的,无奈智商不够,还是回Ubuntu

装Hardy的 alpha1 ,alternate安装,一路顺利,进去后发现还是老样子,不管,删OOo先,然后修改源update,完成后reboot。
reboot没问题,把启动的splash去掉,改[OK]为绿色:

修改/etc/lsb-base-logging.sh ,找到”echo [ok]”,修改成:

printf '[  '
$TPUT setaf 2 # green
printf OK
$TPUT op # normal
echo '  ]'

然后安装915resolution,虽然xwindows已经能认宽屏了,但是这个915resolution还是得装,可以实现控制台下的宽屏。先下个lrmi,make之后执行vbetest,得到几个值,我这是354,再编辑grub中的menu.list,在kernel行中加入:

video=intelfb:mode=1280x768-24@60,mtrr,ywrap vga=866

完成后先不重启貌似从7.10开始,U默认把frame buffer关掉了,需要手动开启一下:
编辑 /etc/initramfs-tools/modules,加入

fbcon
vesafb
vga16fb

然后把 /etc/modprobe.d/blacklist-framebuffer 里面的vesafb和vga16fb这两行给注释掉,最后

sudo update-initramfs -u

最后改一下控制台的字体,还是喜欢瘦字体,

sudo vim /etc/default/console-setup

或者

sudo dpkg-reconfigure console-setup

reboot后应该可以看到支持widescreen的控制台了,剩下的就是按照wiki里的一步步做下去了。

Install OMNeT++ under feisty

昨天被小杨同学叫去装软件,本以为很easy的东西,没想到从下午4点弄到晚上近7点,还没弄好!主要是长时间待在Ubuntu下人变得越来越懒,configure后一堆warning & erro都没心思看!不甘心,今天下午自己实验,仔仔细细的看了一遍config.log把错误一条条的找出来解决,经过两个小时的奋斗终于搞定!
1、首先要下载OMNeT++ 貌似现在最新的是3.4b2.将压缩包解压到用户目录下:

 tar -C ~/ -xvzf omnetpp-3.4b2-src.tgz

2、然后就是下载所依赖的包,好在这些包源里都有,直接apt得到:

 sudo aptitude install bison byacc flex graphviz imagemagick tk8.4-dev doxygen giftrans blt-dev libxml2-dev blt-demo doxygen-doc doxygen-gui html2ps tcl8.4-doc tk8.4-doc bison-doc

3、设置环境变量:

vim ~/.bashrc

添加如下内容:

export PATH=$PATH:~/omnetpp-3.4b2/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:~/omnetpp-3.4b2/lib
export TCL_LIBRARY=/usr/lib/tcl8.4

保存后最好logout一次,偶一开始就是没有logout,结果在configure的时候报错,导致make不了!最好还是logout一下吧!

4、进入omnetpp-3.4b2目录下config & make

./configure

根据输出来判断是否正确,如果缺少某些包的话会提示(Akaroa,、MPI除外) 直到没有出现erro,并且看见三个Good后说明成功!然后就是make了!

5、一般config没错误的话make也应该没问题的,make通过后就可以运行了!

cd ~/omnetpp-3.4b2/samples/dyna
 ./dyna

Q:What is OMNeT++?

A:“The fact that OMNeT++ is highly modular and well structured is a big advantage when it comes to implementing new protocols to be used in the simulator. The process of implementing MQTT for OMNeT++ was quite straightforward and convenient especially thanks to the NED language.” Master’s Thesis of Julio Perez, September 2005, IBM Zurich Research Laboratory, Switzerland. Section 4.1, pp25.

我们到底为什么用linux?

问题源自于fans上的新手们,为了让您少一点烦恼,请用ubuntu吧!

自从04年用linux以来,关于win和lin的争吵就没有停止过!偶尔愤青一下,过去瞎掰两句,也有和别人吵的面红耳赤的时候;但是这次看见的确是linux的窝里斗!争执起Distribution来了!

回顾一下偶的linux史,从asialinux->RedHat9->FC3->SUSE9->Ubuntu,用过的不多,但只有ubuntu才是最适合我的!linux仅仅是个工具罢了,而不是拿来炫耀的资本!

很多”老牌”的linuxer对于ubuntu这种傻瓜似的操作嗤之以鼻!认为那是丢弃了linux的本来面目!可是偶不禁要问:linux的本来面目是什么?成天无休止的下源码包编译、安装?还是为了那仅有的一点点所谓的速度就动不动make一下kernel?
看看论坛里的问题吧:什么显卡不显示了,声卡没声音了,网卡认不出了,SATA的盘没法装了……问一下Distribution,结果来句RH7、FC2……试问在硬件发展如此迅速的今天这些tooooooold的Distribution还有什么意义?除了打击新手的信心还能干什么?为winfans提供辩论的证据?

Windows为什么成功?用户群是一方面,简单易用也是主要的问题!很多人曾经在论坛里跟我辨说linux不可能取代windows,因为她永远不会比windows易用!可是现在有个易用性和windows相当的ubuntu,linuxer们应该高兴才是,可是看看fans里面的反应! linux是一个工具,不是少数所谓“高手”的玩具。 绝大多数人装完linux都希望无须太多配置就可以立即投入使用,而不是在那里查资料、捣鼓各种配置。
的确,运用最原始的方法去安装linux软件,去看linux的kernel,可以了解OS的机制!但是不是所有的人都是稿研究的,他们需要的是一个安全的、干净的操作环境!而不是在那跟人唠唠叨叨自己的OS是怎么工作的!

这些人不是在推广linux,而是在那拖linux的后退!他们以”高手”自居,以为自己会make一些software就很ZB?!恰恰相反,他们是linux界最大的SB!