9/25/2011

讓 shell 幫你轉換 2, 8, 16 進位至10進位

 

測試過 bash 及 ksh 均有此功能。

# 2進位轉10進位
$ echo "Convert 2 to 10: $((2#11111111))"
Convert 2 to 10: 255

# 8進位轉10進位
$ echo "Convert 8 to 10: $((8#377))"    
Convert 8 to 10: 255

# 16進位轉10進位
$ echo "Convert 16 to 10: $((16#ff))"
Convert 16 to 10: 255

 

參考資料

linux Shell script - 16進位轉10進位, 8進位轉10進位,2進位轉10進位

 


AIX版的Linux watch指令...(監控指令的輸出狀態)

 

標題有些繞舌...不過不影響我們的主題需求...

Linux上有個好用的指令叫做watch,

能夠持續的監控指令的輸出狀態,讓系統管理員能夠隨時嘗握狀況。

比方說我們想要監控 netstat -ant 的輸出狀況,隨時觀查連線狀態的變化。

則可以使用

# watch -d -n 1 ‘netstat –ant'

-n 表示每一秒更新一次輸出。
-d 表示將有變更的部份以高亮標示(Highlight)

輸出如下圖

image

很方便對吧!!

可惜...在IBM AIX上沒有這個好東西...( AIX上的watch指令是別的奇怪用途..)

不過別擔心! 因為這種問題在網路上早就一堆解答了...

這篇只是把他們整理一下,方便日後查找而已 ;-)

AIX 上的 watch 指令替代方案

其實也不難! 就是寫個迴圈來一直進行~

root@aix # cat watch.sh
#!/bin/ksh
#
# $1 = 監控的間隔時間,以秒為單位.
# $2 = 請將所有要輸入的指令以雙引號(")或單引號(')包起來.
#

# Exit the watch.sh use Ctrl + C
#

while true
do
  clear
  echo "Interval $1 sec, Command: $2"
  eval $2
  sleep $1
done
root@aix # #以下比方說要執行監控ls -l /home/user | grep .profile,每秒更新一次.
root@aix #
root@aix # ./watch.sh 1 "ls -l /home/user | egrep '.profile'"

 

 

參考資料如下:

Linux watch command on AIX?

Monitoring logs and command output


9/12/2011

製作 AIX rootvg 的 mirror

 

以下適用於 AIX 4.3.3, AIX 5.1, AIX 5.2 及 AIX 5.3。

  1. 確認有空的硬碟可以做 mirror (假設是 hdisk1)
    1. cfgmgr
    2. lsdev -Cc disk
  2. 加入 hdisk1 至 rootvg 使用 "extendvg rootvg hdisk1"
  3. 輸入 "mirrorvg rootvg" 來執行 mirror
  4. 把VG Quorum關閉chvg -Qn rootvg
  5. 修改開機清單如下 (其實 AIX 也會提示你做)
    1. 先看現在的開機順序 bootlist –o –m normal
    2. 修改順序 bootlist –m normal hdisk0 hdisk1
  6. 執行 bosboot 對 hdisk0, hdisk1 建立開機檔案
    1. bosboot -a
  7. 重新開機。 (聽說5300-07後不必重新開機)

參考資料:

Howto mirror an AIX rootvg


tar 指令備份小技巧

 

tar 可以透過 pipe line 做一些特別的備份方式。

像是使用

[root@/tmp]# tar -cvf - /etc | tar -xvf -
這邊以|(pipe line)為分隔說明兩部份,
前半部的參數是
c 建立被 tar 的資料。
v verbose 的意思,就是會顯示 tar 了什麼。
f 這個參數後要接 tar 完後的檔名,比方說 tar –cvf backup.tar 要tar的來源
- 這符號是表示標準輸入或標準輸出,要看使用的位置,這邊的例子是標準輸出
因此前半部就是叫 tar 指令將 /etc 內的所有資料,tar 到 – (標準輸出)內。
後半部的參數是
x 解開被 tar 的資料。
v verbose 的意思,就是會顯示 tar 了什麼。
f 這個參數後要接 tar 完後的檔名,比方說 tar –xvf backup.tar 解tar的目地
- 這符號是表示標準輸入或標準輸出,要看使用的位置,這邊的例子是標準輸入
所以後半部就是讓 tar 指令將 – (標準輸入,將前半部的標準輸入拿來用),
內的資料解 tar 到目前所在的目錄(因為我們沒在最後”解tar的目的”中輸入參數)。
 
或者是
# (cd source-Folder ;tar -cf - .)|(cd target-Folder ; tar -xBpf –)