查看“双机备份”的源代码
←
双机备份
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
==pdumpfs== *linux最好用的备份软件,结合crontab实现每日定时增量备份 ==rdiff-backup== rdiff-backup使用简介 #备份到远程主机 #:rdiff-backup /some/local-dir hostname.net::/whatever/remote-dir #恢复数据到最新 #:rdiff-backup -r now host.net::/remote-dir/file local-dir/file #恢复到数据到10天以前 #:rdiff-backup -r 10D host.net::/remote-dir/file /tmp/file #查看5天以前的目录树 #:rdiff-backup --list-at-time 5D out-dir/subdir #查看目录和文件的修改记录 #:rdiff-backup --list-increments out-dir/file,显示文件的修改记录 #:rdiff-backup --list-changed-since 5D out-dir/subdir,显示5天以来目录的修改记录 #清除 20 次备份会话之前的备份[3] #:rdiff-backup --remove-older-than 20B bak/ #删除两周备份: #:rdiff-backup --remove-older-than 2W --force /media/backup/home_backup/ ==[[rsync]]== *双机备份:用rsync备份数据库nbw1和论坛数据库vbb_db到备份服务器目标目录,生成以当前备份日期和时间命名的目录 date='date +%F-%H-%M' rsync -za -e ssh --delete --progress /usr/local/mysql/data/nbw1 root@backserverIP:/DESTdir/$date rsync -za -e ssh --delete --progress /usr/local/mysql/data/vbb_db root@backserverIP:/DESTdir/$date *双机备份:用rsync异地同步备份htdocs目录,这样只拷贝不一样的内容并删除目标目录冗余内容 rsync -za -e ssh --delete --progress /usr/local/apache/htdocs root@DESTserverIP:/DESTdir *本地备份:用rsync备份数据库nbw1和论坛数据库vbb_db到本机备份目录,生成以当前备份日期和时间命名的目录 rsync -ruv --delete --progress /usr/local/mysql/data/nbw1 /DESTdir/$date rsync -ruv --delete --progress /usr/local/mysql/data/vbb_db /DESTdir/$date *本地备份:用rsync本地同步备份htdocs目录,这样只拷贝不一样的内容并删除目标目录冗余内容 rsync -ruv --delete --progress /usr/local/apache/htdocs /localbackdir ===rsync 实现增量备份=== *备份要求: 所有的数据统一放到一个根目录下,主备份用每个备份点名字命名,增量备份目录为 increment,每个备份点的增量备份数据,全部放到这个目录下面,目录为当前日期,格式为 2007-08-11_11-22 :文件目录树如下: /var/backup/ 备份根目录 |---www/ 备份点1的主目录,这个目录里面的数据是备份完成后最新的 |---increment/ 增量备份根目录 |--- www/ 备份点1的差异/修改备份数据 |--- 2009-12-04_10-22 从最开始备份到08月11日10点22分,所修改的数据 |--- 2009-12-05_11-22 从10点22分到11点22分,所修改过的数据 *准备工作: :创建备份根目录: mkdir /var/backup,其他的目录备份时会自动被创建 # echo "secret" > /etc/rsyncd.conf :注意,这里不同于server端,这里只写密码即可 # chmod 600 /etc/rsyncd.conf '''脚本''' :# vi /etc/rc.d/init.d/rsync.sh #!/bin/bash unset verb progress for i in $*; do [ "$i" = "verb" ] && verb=v [ "$i" = "progress" ] && progress="--progress" done RSYNC_SERVER=192.168.10.3 #rsync server IP AUTH_USER=backup BAKROOT=/var/backup/ INC_DIR=increment NOW=`date +%Y-%m-%d_%H:%M` [ ! -e $BAKROOT ] && mkdir -p $BAKROOT PASSWD_FILE=/etc/rsyncd.conf PASSWD_PERM=`ls -l $PASSWD_FILE|awk '{print $1}'` if [ "$PASSWD_PERM" != "-rw-------" ]; then echo -e "\nWARNING: permission of passwd file changed to 0600 \n"; chmod 0600 $PASSWD_FILE fi LOGFILE=/var/log/rsync/rsyncbak.log EXCLUDES=/var/log/rsync/exclude_file [ ! -e $EXCLUDES ] && touch $EXCLUDES BACKUP_MODULES="www" #如需备份多个目录,在“”内添加server端的模块名,用空格隔开 OPTIONS="--force --ignore-errors --delete --delete-excluded \ --exclude-from=$EXCLUDES $progress \ --password-file=$PASSWD_FILE --backup" rm -f /var/log/rsync/log.* log_id=0 for bakdir in $BACKUP_MODULES; do log_id=`expr $log_id + 1` SUBOPTS="--backup-dir=$BAKROOT/$INC_DIR/$BACKUP_MODULES/$NOW -az${verb}" rsync $OPTIONS $SUBOPTS $AUTH_USER@$RSYNC_SERVER::$bakdir \ $BAKROOT/$bakdir | tee /var/log/rsync/log.$log_id done ### 合并临时日志到备份日志中 cat /var/log/rsync/log.* >> $LOGFILE rm -f /var/log/rsync/log.* ##### end of rsync.sh :# chmod a+x /etc/rc.d/init.d/rsync.sh *开始备份 # /etc/rc.d/init.d/rsync.sh verb progress
返回至“
双机备份
”。
导航菜单
个人工具
登录
命名空间
页面
讨论
大陆简体
已展开
已折叠
查看
阅读
查看源代码
查看历史
更多
已展开
已折叠
搜索
导航
首页
社群首页
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息