免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 898 | 回复: 0
打印 上一主题 下一主题

磁带备份脚本 看不懂,请解析 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-16 15:22 |只看该作者 |倒序浏览
一个磁带换磁带脚本

  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
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP