免费注册 查看新帖 |

Chinaunix

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

[SCO UNIX] SCO关于自动备份的两个问题? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-07-06 14:41 |只看该作者 |倒序浏览
系统为SCO 5.0.6
1.如何保留1周的数据,自动删除过期的备份文件?
2.如何自动exp到磁带机?命令?

论坛徽章:
0
2 [报告]
发表于 2004-07-08 14:40 |只看该作者

SCO关于自动备份的两个问题?

怎么没人理?

论坛徽章:
0
3 [报告]
发表于 2004-07-08 19:55 |只看该作者

SCO关于自动备份的两个问题?

强烈关注中。。。。。。

论坛徽章:
1
IT运维版块每日发帖之星
日期:2016-03-04 06:20:00
4 [报告]
发表于 2004-07-08 23:01 |只看该作者

SCO关于自动备份的两个问题?

数据假设放在  /usr/data 目录中
备份放在  /usr/back 目录中
可以用下列脚本实现
week=`date +%w`
cd /usr/back
if [ ! -d $week ]; then
  mkdir $week
fi
cd $week
cp /usr/data/* .

=========
具体实现可以参考我们的备份数据脚本。(放在crontab)里面,定时每日执行。 参看附件 autoback.sh
=====================================

  1. #!/bin/sh
  2. #
  3. # 对公、储蓄数据日终备份 用于系统自动定时处理
  4. # /u/01, /u/02, ... /u/8208598 /u/8205103...
  5. # spender, 2003/7/13
  6. #

  7. LOGFILE=/u/databack.log
  8. DiskBackPath=/u
  9. TarDevice=/dev/rct0

  10. writelog()
  11. {
  12.         Msg=$*
  13.         ymd=`date +"20%y/%m/%d %H:%M:%S"`
  14.         echo "$ymd| ${Msg}">;>;$LOGFILE
  15.         return 0
  16. }

  17. BSistoday()
  18. {
  19.         sh=$1
  20.         tmd=`date +"%b %d"`
  21.         [ -r /usr/$sh/main-f/fmi ] || {
  22.                 writelog "Warning: BS $sh no data, skip..."
  23.                 return 1
  24.         }
  25.         fmd=`l /usr/$sh/main-f/fmi|awk '{print $6,$7}'`
  26.         [ "$tmd" = "$fmd" ] || {
  27.                 writelog "Warning: BS $sh data not update, skip..."
  28.                 return 1
  29.         }
  30.         return 0
  31. }
  32. CXistoday()
  33. {
  34.         sh=$*
  35.         tmd=`date +"%b %d"`
  36.         [ -r /usr/chuxu/$sh/afsj.dat ] || {
  37.                 writelog "Warning: Chuxu $sh no data, skip..."
  38.                 return 1
  39.         }
  40.         fmd=`l /usr/chuxu/$sh/afsj.dat|awk '{print $6,$7}'`
  41.         [ "$tmd" = "$fmd" ] || {
  42.                 writelog "Warning: Chuxu $sh data not update, skip..."
  43.                 return 1
  44.         }
  45.         return 0
  46. }       
  47. BackupCX()
  48. {
  49.         sh=$1
  50.         msg="Chuxu backup $sh ..."
  51.         Date=`date +"%m%d"`
  52.         lsh=`expr substr $sh 5 3`
  53.         tarfile="cx${lsh}_${Date}.tar"

  54.         cd $DiskBackPath/cxrzbf
  55.         [ -d $sh ] || mkdir $sh
  56.         rm -rf ./$sh/*
  57.         [ -f "$tarfile.gz" ] && rm "$tarfile.gz"
  58.         cp -R /usr/chuxu/$sh/* ./$sh
  59.         tar cf $tarfile ./$sh
  60.         gzip $tarfile
  61.         msg="$msg Done!"
  62.         writelog "$msg"
  63.         return 0
  64. }
  65. BackupBS()
  66. {
  67.         sh=$1
  68.         cd $DiskBackPath/bsrzbf
  69.         msg="BS backup $sh ..."
  70.         Date=`date +"%m%d"`
  71.         tarfile="bs${sh}_${Date}.tar"

  72.         [ -d $sh ] || mkdir $sh
  73.         rm -f /u/bsrzbf/$sh/*
  74.         [ -f "$tarfile.gz" ] && rm "$tarfile.gz"
  75.         cp /usr/$sh/main-f/*   ./$sh
  76.         cp /usr/$sh/work-f/*   ./$sh
  77.         cp /usr/$sh/append-f/* ./$sh
  78.         cp /usr/$sh/tmp/*      ./$sh
  79.         cp /usr/$sh/small-f/*  ./$sh
  80.         tar cf $tarfile ./$sh
  81.         gzip $tarfile
  82.         msg="$msg Done!"
  83.         writelog "$msg"
  84.         return 0
  85. }

  86. echo "Backup today data [bs & chuxu]...\c">;&2
  87. trap '' 0 1 2 3 9 10 15

  88. [ -d $DiskBackPath/bsrzbf ] || mkdir $DiskBackPath/bsrzbf
  89. [ -d $DiskBackPath/cxrzbf ] || mkdir $DiskBackPath/cxrzbf

  90. writelog "============== Backup Begin ============================"
  91. # 备份数据
  92. cd /u
  93. ls | while read fn rest
  94. do
  95.         [ -f $fn ] && continue
  96.         [ `expr $fn : '^[0-9]*' ` -eq 2 ] && {
  97.                 BSistoday $fn && ( BackupBS $fn )
  98.         }
  99. done
  100. cd /usr/chuxu
  101. ls | while read fn rest
  102. do
  103.         [ -f $fn ] && continue
  104.         [ `expr $fn : '^[0-9]*' ` -eq 7 ] && ( CXistoday $fn && ( BackupCX $fn ) )
  105.        
  106. done

  107. ################# Tar to Disk ###########################
  108. tar cf $TarDevice $DiskBackPath/bsrzbf/*.tar.gz $DiskBackPath/cxrzbf/*.tar.gz 1>;/dev/null 2>;/dev/null
  109. if [ $? -eq 0 ]; then
  110.         writelog "Write data to tape, Ok!"
  111. else
  112.         writelog "Error: \007write data to tape failed !!!"
  113. fi
  114. writelog "-------------- End of Backup ---------------------------\n"
  115. echo "Done!">;&2
复制代码

论坛徽章:
0
5 [报告]
发表于 2004-07-12 14:39 |只看该作者

SCO关于自动备份的两个问题?

收藏!谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP