LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1294|回复: 2

如何实现ftp的增量备份,请高手指点

[复制链接]
发表于 2004-7-26 16:37:27 | 显示全部楼层 |阅读模式
如题,如何实现ftp的增量备份,请高手指点
发表于 2004-7-27 14:03:43 | 显示全部楼层
以下是我(我是一名菜鸟)写的脚本,同时请各位大侠提出意见:
#!/bin/sh
# backuphours.sh
# Backup from SOURCE to DESTIN every 10 hours script.
# Writed by tolly 2003.07.11
# 从 SOURCE 目录每隔 10 小时备份一次到 DESTIN 目录的脚本
# 并在 DESTIN 目录中按日期建立目录/时间目录
# 此脚本避免在 0:00 时日期变化时段执行
# 脚本作者:TOLLY    日期:2003.07.11

########### Source directory ############
SOURCE=/scsi2/pub

########### Destin directory ############
DESTIN=/ata1/pub

########### Log file path    ############
BACKUPLOG=/usr/home/log/backuphours.log

########### Mount to host    #############
#这里是通过NFS备份的,如果是本地的,可以略去这一步并适当修改
if [ ! -f $DESTIN/flag ]
then
    mount_nfs 192.168.1.xxx:/ata1 /ata1
fi
if [ -f $DESTIN/flag ]
then


# delete the error copy tmp directory.
# 删除上次错误备份时产生的tmp目录
if [ -d $DESTIN/tmp ]
then
    rm -Rf $DESTIN/tmp
fi

# make directory for tmp
# 建立复制的临时目录 tmp
mkdir $DESTIN/tmp

# 开始时间记录
date "+%Y-%m-%d %H:%M:%S  备份开始。" >> $BACKUPLOG 2>&1

# 主要备份命令
tar --ignore-failed-read --newer-mtime '10 hours ago' -cf - -C $SOURCE . | tar xpf - -C $DESTIN/tmp
# 上面的 10 hours ago可以改为 10 days ago之类的。

# test current date directory exist and make dir
# 建立日期目录
if [ ! -d $DESTIN/`date +%Y%m%d` ]
then
    mkdir $DESTIN/`date +%Y%m%d`
fi

# delete the same minute directory.
# 删除相同分钟数的目录
if [ -d $DESTIN/`date +%Y%m%d`/`date +%H`点`date +%M`分备份 ]
then
    rm -Rf $DESTIN/`date +%Y%m%d`/`date +%H`点`date +%M`分备份
fi
# 移动到时间目录
mv $DESTIN/tmp $DESTIN/`date +%Y%m%d`/`date +%H`点`date +%M`分备份

# 完成时间记录
date "+%Y-%m-%d %H:%M:%S  备份结束。" >> $BACKUPLOG 2>&1


这样备份的结果就是备份按日期放一个目录,每天下面按时间再细分。
发表于 2004-7-27 14:05:40 | 显示全部楼层
晕,上面的“:+%”变成:%了,要相应代换一下(就是没有加号和引号的“:+%”)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表