2012年5月30日 星期三

傳回 cut -d 最大分割筆數

bash shell function cut_dnum

傳回 cut -d 最大分割筆數,傳回值最大為 255

function cut_dnum ()
{
local __I=0
local __D=`echo "$2" | cut -c 1`
local __T
local __R

test $# -eq 3 && local __resultvar=$3 | local __resultvar=__R

while [ 1 ]
do
__I=`expr $__I + 1`
__T=`echo "$1"  | cut -d "$__D" -f -$__I`

eval $__resultvar="'$__I'"
test "$__T" = "$1" && return $__I;
done ;
}


使用方法
cut_dnum <字串> <分割字元> <結果儲存變數>

cut_dnum $PATH ':'
echo $?
cut_dnum $PATH " : " A
echo $? $A

2012年5月24日 星期四

手動mount LVM的Patition

列出所有 physical volumes

lvm pvscan

PV /dev/md5 VG vg1000 lvm2 [1.36 TB / 0 free]
Total: 1 [1.36 TB] / in use: 1 [1.36 TB] / in no VG: 0 [0 ]

使用 vgchange 在/dev下產生一個 vg1000 的目錄,並且在這個目錄下產生該有的device
vgchange -ay vg1000

找出裝置名
ls -l /dev/vg1000/

lrwxrwxrwx 1 root root 21 May 24 16:50 lv -> /dev/mapper/vg1000-lv

掛載檔案系統
mount /dev/mapper/vg1000-lv /mnt

Synology DS209內接硬碟(RAID1)改由USB外接存取

1.原NAS中硬碟改由usb外接

2.修復原 raid1
mdadm -A -R /dev/md5 /dev/sdq5

3.列出所有 physical volumes
lvm pvscan

PV /dev/md5 VG vg1000 lvm2 [1.36 TB / 0 free]
Total: 1 [1.36 TB] / in use: 1 [1.36 TB] / in no VG: 0 [0 ]

4.使用 vgchange 在/dev下產生一個 vg1000 的目錄,並且在這個目錄下產生該有的device
vgchange -ay vg1000

5.找出裝置名
ls -l /dev/vg1000/
lrwxrwxrwx 1 root root 21 May 24 16:50 lv -> /dev/mapper/vg1000-lv

6.掛載檔案系統
mount /dev/mapper/vg1000-lv /mnt