Linux环境下的备份

类别:软件工程 点击:0 评论:0 推荐:
空间使用 Most Least Less than Full
  备份速度 Slowest Fastest Faster than Full
  恢复速度 Fastest Slowest Faster than Incremental

  差分备份可能会备份增量备份忽略的数据,但是差分备份恢复速度要比增量快,因为它仅仅需要上一次完全备份和最近的一次差分备份;而增量备份则需要从上次完全备份及以来的每一次增量备份。

  为了使用者写方法进行备份,需要使用tar命令的-N或--newer选项,后面跟一个时间,时间应该是通常的日历格式(例如:03/12/199 = March 12th, 1999)。

  tar -cvf /dev/st0 --newer 03/12/1999 /

  该命令将备份系统中所有在March 12th, 1999及其以后被修改的文件。
我下面提供了一个简单的脚本文件来作为一个同时实现完全和差分备份的自动化模型。在使用该脚本以前,请注意检查脚本头定义的环境变量以满足自己的需要。

#!/bin/sh
  #
  #######################################
  #
  # TAR backup script to cover daily and weekly backups on one tape.
  # Generic UNIX version - edit variables as required
  #
  # For this to work, it MUST be started on a Monday!
  #
  # Copyright (c) 1999, Tim Jones
  # Permission granted for use/modification
  #
  # Tim Jones/Linux Magazine provide this shell script with no warranty
  # (implied or otherwise)
  #
  ########################################

  DOW=`date +%w`
  DATE=`date +%D`
  DAY=`date +%A`
  DEVICE="MY REWIND TAPE" # Rewinding tape drive
  NDEVICE="MY NO_REWIND TAPE" # non-rewinding tape drive
  REWIND="mt -f $DEVICE rewind"
  EOD="mt -f $NDEVICE eod"
  FSF="mt -f $NDEVICE fsf"
  MAILLIST="root" # list of users to receive backup notice

  if [ $DOW = "6" ]
  then
  # This is Saturday, so append and write the whole system!
  $EOD
  echo $DATE > /tmp/.LASTFULL
  tar -cvvf $NDEVICE / >/tmp/backup.txt
  $REWIND
  $FSF 5
  tar -dvf $NDEVICE >> /tmp/backup.txt
  $REWIND
  cp /tmp/.LASTFULL /etc/.LASTFULL
  else
  # this is not Saturday
  case $DOW in
  0)
  # it's Sunday - nothing to do
  exit 0
  ;;
  1)
  # Monday, Let the tape rewind for the difference verification
  echo $DATE > /tmp/.LASTINC
  tar -cvvf $DEVICE --newer `cat /etc/.LASTFULL` / >/tmp/backup.txt
  cp /tmp/.LASTINC /etc/.LASTINC
  ;;
  *)
  # Other Days, must rewind manually and Inspect, -i
  $EOD
  echo $DATE >/tmp/.LASTINC
  tar -cvvf $NDEVICE --newer `cat /etc/.LASTINC` / >/tmp/backup
  $REWIND
  $FSF `expr $DOW - 1`
  echo "************ Verifying ${DAY}'s backup" >> /tmp/backup.txt
  tar --dvf $NDEVICE >> /tmp/backup.txt
  cp /tmp/.LASTINC /etc/.LASTINC
  $REWIND
  esac
  fi
  mail $MAILLIST < /tmp/backup.txt
  rm -f /tmp/backup.txt
  # END OF SCRIPT

本文地址:http://com.8s8s.com/it/it33466.htm