首页 > ubuntu高手 > ubuntu配置rsync实现2台服务器数据同步功能

ubuntu配置rsync实现2台服务器数据同步功能

2018年5月29日 发表评论 阅读评论

先阅读:http://www.zhanghongliang.com/article/1416

源自服务器ip:192.168.1.100
备份服务器ip:192.168.1.101

源服务器需要备份的目录:/www/webroot
备份到备份服务器目录:/www/webroot/backup

============源自服务器配置=============

1.ubuntu 14.04默认已安装rsync,rsync服务默认不是启动的,开启rsync服务

sudo vim /etc/default/rsync
RSYNC_ENABLE=true #false改true

2.修改配置文件(配置文件/etc/rsync.conf默认不存在,需要手动创建;)

sudo cp -r /usr/share/doc/rsync/examples/rsyncd.conf /etc/rsyncd.conf
sudo vim /etc/rsyncd.conf

内容替换成下面内容,并改变相关参数

# sample rsyncd.conf configuration file

# GLOBAL OPTIONS

#motd file=/etc/motd
#log file=/var/log/rsyncd #根据需要是否开启
# for pid file, do not use /var/run/rsync.pid if
# you are going to run rsync out of the init.d script.
pid file=/var/run/rsyncd.pid
syslog facility=daemon
#socket options=

# MODULE OPTIONS

[my_rsync_bk] #名字可以任意命名,只要和备份服务器中的sh脚本中的rsync命令中的名称一致(请注意:可以复制多个次片段,更改其中的path和host allow,从而实现不同目录不同时间段进行复制,不同时间段由备份服务器sh脚本执行)

comment = public archive
path = /www/webroot #源服务器中要备份的路径(注意,如果这里面有文件是软连接的话是无法同步的)
use chroot = no #是否限定在该目录下,默认为true,当有软连接时,需要改为fasle,如果为true就限定为模块默认目录
# max connections=10 #单次最大连接数
lock file = /var/lock/rsyncd
# the default for read only is yes…
read only = yes #是否只读,源服务器建议设置为yes
list = yes
uid = root #以哪个用户的身份来传输
gid = root #以哪个组的身份来传输
# exclude =
# exclude from =
# include =
# include from =
auth users = user_rsync #rsync连接时的用户名,要和客户端rsync的命令一致
secrets file = /etc/rsyncd.secrets #需要使用的密码文件位置
strict modes = yes
hosts allow = 192.168.1.101 #运行的客户端ip
# hosts deny =
ignore errors = yes
ignore nonreadable = yes
transfer logging = yes
log format = %t: host %h (%a) %o %f (%l bytes). Total %b bytes.
timeout = 600 #超时时间,秒
refuse options = checksum dry-run
dont compress = *.gz *.tgz *.zip *.z *.rpm *.deb *.iso *.bz2 *.tbz *.rar *.gzip

3.创建一个密码文件

sudo vim /etc/rsyncd.secrets
内容:user_rsync:123 #用户名:密码
sudo chmod 0600 /etc/rsyncd.secrets
sudo service rsync restart

============备份服务器配置=============

sudo vim /etc/default/rsync
RSYNC_ENABLE=true #false改true

sudo service rsync restart

配置定时任务:
sudo vim /etc/crontab
*/1 * * * * root /home/qibang/auto_rsync.sh #每分钟执行这个程序

配置密码文件
sudo vim /etc/rsync.pwd
内容:123 #与服务端密码要一致
sudo chmod 0600 /etc/rsync.pwd

auto_rsync.sh内容:

#!/bin/bash
ROOT_UID=0
E_NOTROOT=67
if [ “$UID” -ne “$ROOT_UID” ]
then
echo “Must be root to run this script”
exit $E_NOTROT
fi

rsync -a –password-file=/etc/rsync.pwd user_rsync@192.168.1.100::my_rsync_bk /www/webroot/backup
rsync -a –delete –password-file=/etc/rsync.pwd user_rsync@192.168.1.100::my_rsync_bk /www/webroot/backup

sh权限:
sudo chmod +x auto_rsync.sh

sudo service cron restart

说明:如果需要rsync限速,可以增加参数–bwlimit=1024(1024可以理解为1M/s=8MBit/s,如果我设置为1024*3,那就是传统机房中说的24MBit/s左右)

具体遇到问题可以在实践中调试:文本

分类: ubuntu高手 标签: , ,
  1. 本文目前尚无任何评论.
您必须在 登录 后才能发布评论.
css.php