Linux环境下的备份

王朝system·作者佚名  2006-01-09
宽屏版  字体: |||超大  

空间使用 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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有