2013年2月27日 星期三

LEAF 使用 modules.tgz 載入自訂模組

#!/bin/sh

MODULES=""

diskfile=/var/lib/lrpkg/pkgpath.disks
MODPKG_NAME=modules.tgz
TMPDIR=/tmp

[ "$MODULES" = "" ] && exit


while read i
do
  echo "search $i"

  mount tmpfs -t tmpfs /lib/modules

  dev=$(echo $i|awk '{print $1}')
  type=$(echo $i|awk '{print $2}') 
  mountdir=$TMPDIR/$dev
  mkdir -p $mountdir
      
  mount $dev $mountdir

  cd /lib/modules
  [ -f $mountdir/modules.tgz ] && tar zxf /$mountdir/modules.tgz
  ln -s /lib/modules `uname -r`
  cd $OLDPWD
  
  [ -f /lib/modules/modules.dep ] && for I in $MODULES; do modprobe $I; done

  umount /lib/modules
  umount $mountdir

done < $diskfile

2013年2月18日 星期一

SMTP 使用NC範例

#!/bin/bash

/root/mail_raid_message.sh | nc smtp.server 25 2>&1 >/dev/null

mail_raid_message.sh 內容如下
#!/bin/bash
HELO=smtp.server
FROM=""
TO=""
DATE=$(date '+%a, %d %b %Y %H:%M:%S %z')

echo $DATE
echo "HELO $HELO"
echo "MAIL FROM:$FROM"
echo "RCPT TO:$TO"
echo "DATA"
sleep 1

echo "From:$FROM"
echo "To:$TO"
echo "Date:$DATE"
echo "Subject:$DATE "
echo "mail message"

echo "."

sleep 1

echo "QUIT"

2013年1月30日 星期三

Shell Script 中捉取 MySQL 資料庫中的指定記錄值

使用 -N 及 -s 參數


範例
mysql -u network -pnetwork network -e "select * from ip" -N -s

2012年9月27日 星期四

bash 遞迴範例

#!/bin/bash

a()

{
[ "$1" -eq 1 ] && return
echo $1
$0 $[ $1 - 1 ]
}

a 5

2012年8月24日 星期五

RAMDisk Rootfs 工具 RDRTOOLS

類似embedded linux 作法,安裝好系統後,透過這個工具可將系統(rootfs)放到記憶體中
目前支援 CentOS 6版本

http://rdrtools.blogspot.tw/2012/08/ram-disk-root-tool-centos-ramdisktmpfs.html

2012年8月17日 星期五

尋找已安裝執行檔位於那個rpm套件中

find_rpm.sh內容如下

#!/bin/bash
[ $# -lt 1 ] && exit
p=$(which $1) && [ $? -ne 0 ] && exit
rpms=`rpm -qa`  || exit
n=0
for i in $rpms
do
  n=$[n + 1]
  a=$(rpm -ql $i  |   grep "^$p\$")
  [ "$a" != "" ] && echo $n $i $a && break
done

使用範例
find_rpm.sh which

RPM指令
rpm -q --whatprovides /

2012年6月22日 星期五

CentOS 6.2 設定 IP Over IB

modprobe ib_ipoib
modprobe ib_umad
/etc/init.d/opensm start

ip link set ib0 up
ip addr add 192.168.6.1/24 dev ib0