Linux 使用 rsync 迁移服务器数据
Debian 安装 rsync
#直接执行
apt-get install rsync
#若出现错误提示
#Package 'rsync' has no installation candidate
#执行
apt-get update
apt-get upgrade
#再次执行
apt-get install rsync
Centos
yum install rsync
主服务器 A
迁移至服务器 B
A 和 B 均安装 rsync
以下在 A 服务器配置:
rsync 服务端安装完成之后是没有生成rsync.conf文件的,需要手动创建rsyncd.conf
vim /etc/rsyncd.conf
按照需求填入以下内容
log file = /var/log/rsyncd.log
pidfile = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
secrets file = /etc/rsyncd.secrets
hosts allow = B 的 IP
[wwwroot]
path = /www/wwwroot
comment = sync etc from server
uid = root
gid = root
port = 873
ignore errors
use chroot = no
read only = yes
list = no
dont comperss = *.gz *.bz2 *.tgz *.zip *.rar *.z
max connections = 200
timeout = 600
auth users = backuser
配置同步的用户名和密码
vim /etc/rsyncd.secrets
在rsyncd.secrets文件里配置一行即可
backuser:123456
重要,必须赋予 /etc/rsyncd.secrets 600 权限
chmod 600 /etc/rsyncd.secrets
在 B 客户端同样创建用户名和密码文件并执行权限
vim /etc/rsyncd.secrets
#写入密码
123456
#赋权
chmod 600 /etc/rsyncd.secrets
配置完成以后在 A 服务器运行 rsync
rsync --daemon
#注意,每次修改 rsyncd.conf 都要重启 rsync
#如果无法重启可以杀死 rsync 的进程id
在 B 客户端进行传输
rsync -avzP backuser@A的IP::wwwroot /www/wwwroot/ --password-file=/etc/rsyncd.secrets