- 论坛徽章:
- 0
|
一个磁带换磁带脚本
1 #!/bin/sh
2 #
3
4 # --------- Change Tape
5 # export uTapeDevice="$TapeDevice"
6 # export uTapeChanger="$TapeChanger"
7 # export uLoadedTape="$LoadedTape"
8 # export uNextTape="$NextTapeNo"
9 # TapCmd="tar -c -M -F $ChangeTape -f $TapeDevice $bkdir "
10 TR="0"
11 TD="/dev/nst0"
12 TC="/dev/sg8"
13 LT="0"
14 NT="0"
15 ET="0"
16 TF="/dev/shm/ucmess"
17
18 function GetArg()
19 {
20 case "$1" in
21 "TR")
22 TR="$2"
23 ;;
24 "TD")
25 TD="$2"
26 ;;
27 "TC")
28 TC="$2"
29 ;;
30 "LT")
31 LT="$2"
32 ;;
33 "NT")
34 NT="$2"
35 ;;
36 "TF")
37 TF="$2"
38 ;;
39 "ET")
40 ET="$2"
41 ;;
42 *)
43 echo "ERROR --- ARG"
44 esac
45 }
46
47 function GetValue()
48 {
49 uctmf="$uCTMF"
50 while read str ; do GetArg $str ; done < $uctmf
51
52 if [ "$LT" -le "$NT" ]; then
53 NT=`expr $LT + 1`
54 fi
55 }
56
57 function SetValue()
58 {
59 # mv $uctmf $uctmf.`date +%Y%m%d%H%S`
60 rm -f $uctmf
61 echo "TR $TR" >> $uctmf
62 echo "TD $TD" >> $uctmf
63 echo "TC $TC" >> $uctmf
64 echo "LT $LT" >> $uctmf
65 echo "NT $NT" >> $uctmf
66 echo "TF $TF" >> $uctmf
67 echo "ET $ET" >> $uctmf
68 }
69
70 GetValue
71
72
73 TapCmd="mtx -f $TC unload $LT $TR"
74 Res=`$TapCmd`
75 Ret="$?"
76 echo "$Ret USE $LT $TapCmd [uTm:`date +%m%d%H%M`] UC" >> $TF
77
78 if [ "$NT" -gt "$ET" ]; then
79 exit 1
80 fi
81
82 Ret="1"
83
84 while [ "$Ret" = "1" ]; do
85 # ---- wait 30 sec
86 sleep 30
87 TapCmd="mtx -f $TC load $NT $TR"
88 Res=`$TapCmd`
89 Ret="$?"
90
91 LT="$NT"
92 NT="`expr $NT + 1`"
93 if [ "$Ret" = "0" ]; then
94 echo "$Ret USE $LT $TapCmd [uTm:`date +%m%d%H%M`] UC" >> $TF
95 else
96 echo "$Ret USE $LT $TapCmd ERROR,Try Load $LT [uTm:`date +%m%d%H%M`]again UC" >> $TF
97 sleep 30
98 TapCmd="mtx -f $TC load $LT $TR"
99 Res=`$TapCmd`
100 Ret="$?"
101 if [ "$Ret" = "0" ]; then
102 echo "$Ret USE $LT $TapCmd [uTm:`date +%m%d%H%M`] 2 ok UC" >> $TF
103 else
104 echo "$Ret USE $LT $TapCmd ERROR 2 , Try Load $NT " >> $TF
105
106 if [ "$NT" -gt "$ET" ]; then
107 exit 2
108 fi
109
110 Ret="1"
111 fi
112
113 fi
114 done
115
116 if [ "$LT" -ge "$ET" ]; then
117 exit 3
118 fi
119
120 TapCmd="mt -f $TD rewind"
121 Res=`$TapCmd`
122 Ret="$?"
123
124 echo "$Ret USE $LT $TapCmd [uTm:`date +%m%d%H%M`]" >> $TF
125
126 SetValue
127
128 exit 0
129
|
|