aboutsummaryrefslogtreecommitdiffstats
path: root/xenstore-viewer-zh_TW.utf8.bash
blob: 841e77f4ecdfcbd1b0e439b8f49833afdfd87a9f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
#!/bin/bash
### Name: Simple XenStore Viewer
### Version: 1.2
### Release Date: 2012-08-17

function xenstoregetstatestr () {
    case "$1" in
        1)
            echo "正在初始化"
            ;;
        2)
            echo "等待初始化"
            ;;
        3)
            echo "已初始化"
            ;;
        4)
            echo "已連接"
            ;;
        5)
            echo "正在關閉"
            ;;
        6)
            echo "已關閉"
            ;;
        *)
            echo "不明"
            ;;
    esac
}

function xenstoregetinfo () {
    case "$1" in
        m|h|'?'|'')
            echo " b 區塊裝置"
            echo " c 主控台"
            echo " n 網路介面卡"
            echo " p 虛擬 CPU"
            echo " r 記憶體"
            ;;
        b)
            vbdpath="$xenstorepath/device/vbd"
            for i in `xenstore-list $vbdpath`
            do
                echo "虛擬裝置名稱:    $i"
                echo "虛擬裝置類型:    `xenstore-read $vbdpath/$i/device-type`"
                echo "虛擬裝置狀態:    `xenstoregetstatestr $(xenstore-read $vbdpath/$i/state)`"
                vbdbackpath="`xenstore-read $vbdpath/$i/backend`"
                echo "虛擬裝置後端名稱:`xenstore-read $vbdbackpath/dev`"
                echo "虛擬裝置後端類型:`xenstore-read $vbdbackpath/type`"
                echo "虛擬裝置後端參數:`xenstore-read $vbdbackpath/params`"
                echo -n "其他資訊:        "
                case "`xenstore-read $vbdbackpath/online`" in
                    0)
                        echo -n "離線"
                        ;;
                    1)
                        echo -n "線上"
                        ;;
                    *)
                        echo -n "不明"
                        ;;
                esac
                case "`xenstore-read $vbdbackpath/removable`" in
                    0)
                        echo -n "、不可卸除"
                        ;;
                    1)
                        echo -n "、卸除式裝置"
                        ;;
                    *)
                        echo -n "、不明"
                        ;;
                esac
                case "`xenstore-read $vbdbackpath/bootable`" in
                    0)
                        echo "、不可開機"
                        ;;
                    1)
                        echo "、可開機"
                        ;;
                    *)
                        echo "、不明"
                        ;;
                esac
                echo ""
            done
            ;;
        c)
            conpath="$xenstorepath/console"
            echo "Xen Console 後端 TTY:      `xenstore-read $conpath/tty`"
            echo "Xen Console 緩衝區大小限制:`xenstore-read $conpath/limit`"
            echo "VNC 伺服器接聽於:          `xenstore-read $conpath/vnc-listen`:`xenstore-read $conpath/vnc-port`"
            echo ""
            ;;
        n)
            vifpath="$xenstorepath/device/vif"
            for i in `xenstore-list $vifpath`
            do
                echo "虛擬裝置名稱:           $i"
                echo "虛擬裝置狀態:           `xenstoregetstatestr $(xenstore-read $vifpath/$i/state)`"
                echo "虛擬網路介面卡 MAC 位址:`xenstore-read $vifpath/$i/mac`"
                vifbackpath="`xenstore-read $vifpath/$i/backend`"
                echo "橋接至:                 `xenstore-read $vifbackpath/bridge`"
                echo "用來啟動/停止的 script: `xenstore-read $vifbackpath/script`"
                echo ""
            done
            ;;
        p)
            cpupath="$xenstorepath/cpu"
            for i in `xenstore-list $cpupath`
            do
                echo "CPU $i: `xenstore-read $cpupath/$i/availability`"
            done
            ;;
        r)
            mempath="$xenstorepath/memory"
            echo "記憶體大小    :`xenstore-read $mempath/target`"
            echo "記憶體大小上限:`xenstore-read $mempath/static-max`"
            echo "視訊記憶體大小:`xenstore-read $mempath/videoram`"
            ;;
        *)
            echo "不明的指令。請輸入 m 來查看說明。"
            echo "若要離開,請送出 EOF,通常按下 Control-D 即可。"
            ;;
    esac
}

[ "`id -u`" != "0" ] && echo "這個 script 必須以 root 身份執行" && exit 40

if [ -z "$1" ]
then
    read -p "請輸入 domain ID 或 domain 名稱:" xendominput
else
    xendominput="$1"
fi

[ -z "$xendominput" ] && echo "使用預設值 doamin 0" && xendominput=0

echo "正在搜尋 domain $xendominput ......"

if xenstore-read /local/domain/$xendominput 1> /dev/null 2> /dev/null
then
    xenstorepath="/local/domain/$xendominput"
else
    for i in `xenstore-list /local/domain`
    do
        if [ "$xendominput" = "`xenstore-read /local/domain/$i/name 2> /dev/null`" ]
        then
            xenstorepath="/local/domain/$i"
            break
        fi
    done
fi

if [ -z "$xenstorepath" ]
then
    echo "找不到 domain $xendominput" && exit 42
else
    echo "XenStore 路徑是 $xenstorepath"
fi

if [ -z "$2" ]
then
    while read -p "XSView>>> " infocmdinput
    do
        xenstoregetinfo "$infocmdinput"
    done
else
    xenstoregetinfo "$2"
fi