rsync同步文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rsync同步文件相关的知识,希望对你有一定的参考价值。
一.服务端(需要被同步文件的主机)
1. 安装rsync
yum install -y rsync
2. 配置,新增配置文件/etc/rsyncd.conf
[global]
uid = root
gid = root
use chroot = no
max connections = 10
list = yes
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
hosts allow = 192.168.217.130 //白名单,允许同步的机器IP地址
[data] //数据目录别名,同步时需要用到
path = /usr/local/src //别名对应的同步目录
ignore errors
read only = yes
auth users = vicxiang //同步时用到的用户名
secrets file = /etc/sery.pass //同步时用到的账号密码配置文件
3. 配置,新增配置文件/etc/sery.pass
vicxiang:123456
修改文件权限
chmod 600 /etc/sery.pass
4. 启动rsync服务
rsync --daemon --config=/etc/rsyncd.conf
5. 防火墙设置,端口需要开放tcp 873
二.客户端(文件同步到的目的机器)
1. 配置密码文件/etc/sery_client.pass
123456
修改文件权限
chmod 600 /etc/sery_client.pass
2. 同步命令
rsync -avr -P vicxiang@192.168.217.128::data /usr/local/src/ --password-file=/etc/sery_client.pass
其中vicxiang是同步时使用的用户名;
192.168.217.128是服务端IP;
data是服务端配置的数据目录别名;
/usr/local/src/是同步到本机的目录;
/etc/sery_client.pass是配置密码文件
三.配合crontab定时同步
编写脚本rsync.sh
log_file=rsync.log
function sync(){
ip=${1}
path=${2}
t=date +%Y%m%d-%H%M%S
echo "${t} start to sync data from ${ip}..." >> ${log_file}
rsync -avr -P vicxiang@${ip}::data ${path} --password-file=/etc/sery_client.pass
echo "done" >> ${log_file}
}
sync ip path
以上是关于rsync同步文件的主要内容,如果未能解决你的问题,请参考以下文章