免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 5998 | 回复: 6

使用rsync备份自动化备份数据(rsync提交) [复制链接]

论坛徽章:
0
发表于 2008-10-11 12:14 |显示全部楼层
使用rsync备份自动化备份数据
By:梁利文(Leif) 2008-10-11 Email:liangliwe # gmail.com

1.rsync使用deamon非rsync走ssh通道模式,实现快速自动化将备份数据推给备份服务器
2.备份数据使用单独的用户组(如backup)进行存取
3.备份端机器将rsync存取权限的密码写入/etc/rsync.pass文件 以便实现使用shell备份过程中的自动化
4.备份数据以data命令生成的时间作为备份周期
5.备份日志每备份一次,根据日期和机器名生成一个日志 格式为hostname20081011.log
6.使用email将每天备份日志发送给备份管理员,以确定备份是否成功
7.安全 使用iptables 做端口防问控制 访问rsync使用的端口873,例如只允问同一IDC的内网网段10.0.0.0/24
        则执行:
        iptables -A INPUT -p tcp -s ! 10.0.0.0/24 --dport 873 -j DROP
        增加ip防问则执行(注意使用-I的参数把规则加在最前面:
        iptables -I INPUT -p tcp -s xxx.xxx.xxx.xxx --dport 873 -j ACCEPT
       
备份服务器端配置(rsync  deamon)
/etc/rsync.conf文件内容
uid = backup
gid = backup
use chroot = no         
     
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log   

[game3]
path = /opt/backup/game3
comment = game3
ignore errors           
read only = false
list = no
auth users =backup
secrets file = /etc/rsync.pass

执行如下shell
mkdir -p /opt/backup/game3
groupadd backup
useradd -s /sbin/nologin -M -g backup backup
chown -R backup:backup /opt/backup
echo "backup:backup" >/etc/rsync.pass ###用户名和密码都是backup
chmod 600 /etc/rsync.pass
iptables -A INPUT -p tcp -s ! 192.168.10.0/24 --dport 873 -j DROP ###访问控制

/usr/bin/rsync -4 --daemon --config=/etc/rsync.conf --port=873  ###启动rsync
把/usr/bin/rsync -4 --daemon --config=/etc/rsync.conf --port=873加在/etc/rc.local中实现随机启动
查看rsync是否启动
ps -ef |grep rsync 是否有进程
telnet localhost 873是否有响应
至此rsync 备份服务器配置OK

需要备份的机器上的安排:
例如我需要将/usr/local/apache 备份保留 一周
shell脚本/usr/local/bin/backup.sh如下
#!/bin/bash
#/usr/local/bin/backup.sh
#By:Leif Updated:2008-10-11 E-mail&MSN:liangliwn at gmail.com

DATE=`date +%w`
LOGDATE=`date +%Y%m%d`
EMAIL=`/usr/local/bin/email`  #Linux 发送email程序 http://www.cleancode.org/projects/email
ADMIN=xxx@xxx ###备份管理员email地址
RSYNC=`which rsync`
HOST=`hostname`
LOG=/opt/rsynclog/$HOST$LOGDATE.log
DIR1=/usr/local/apache
PASS="--password-file=/etc/rsync.pass"
BM=xxx.xxx.xxx.xxx ###备份服务器IP

hostname >>$LOG ###将主机名写入日志
date >>$LOG   ###写入备份开始时间
$RSYNC -avpz $DIR1 $EXCLUDE $PASS --port=873 backup@$BM::game3/$DATE/ >>$LOG
date >>$LOG ###写入备份结束时间
$EMAIL -s "backuplog" $ADMIN < $LOG

exit 0
再执行
chmod +x /usr/local/bin/backup.sh
echo "backup" >/etc/rsync.pass
chmod 600 /etc/rsync.pass
让备份shell 每晚1点执行
crontab -e
加入
1 1 * * * /usr/local/bin/backup.sh

说明:
1.多个机器的备份可以在备份服务器的/etc/rsync.conf加入
[server1]
path = /opt/backup/server1
comment = server1
ignore errors           
read only = false
list = no
auth users =backup
secrets file = /etc/rsync.pass
并创建/opt/backup/server1目录,并使用chown -R backup:backup /opt/backup/server1改属主为backup
2.如备份多个目录,在/usr/local/bin/backup.sh增加即可

至此全文完

[ 本帖最后由 leaf1981 于 2008-10-11 12:16 编辑 ]

论坛徽章:
4
白银圣斗士
日期:2015-11-24 10:40:40技术图书徽章
日期:2015-11-26 13:47:47平安夜徽章
日期:2015-12-26 00:06:30技术图书徽章
日期:2016-07-19 13:54:03
发表于 2008-10-11 13:01 |显示全部楼层
好文,有空实际操作下,谢谢叶子的分享

论坛徽章:
0
发表于 2008-10-16 18:08 |显示全部楼层
功能完善的rsync,配置简单,使用方便。

论坛徽章:
0
发表于 2008-10-17 15:15 |显示全部楼层

谢谢兄弟。。我收了!!!

论坛徽章:
0
发表于 2009-02-24 09:39 |显示全部楼层
很好,很强大啊。我试试看

论坛徽章:
0
发表于 2009-02-25 11:58 |显示全部楼层
不错,不过大家要注意【增量备份】,我每天上百G的图片都是通过rsync来备份。

论坛徽章:
1
2015-2016NBA季后赛纪念章
日期:2016-06-28 17:44:17
发表于 2009-02-25 23:24 |显示全部楼层
不错,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP