Linux培训
达内IT学院

400-996-5531

Linux rsync目录文件同步

  • 发布:佚名
  • 来源:网络
  • 时间:2015-07-24 17:59

rysnc是一个数据镜像及备份工具,具有可使本地和远程两台主机的文件,目录之间,快速同步镜像,远程数据备份等功能。在同步过程中,rsync是根据自己独特的算法,只同步有变化的文件,甚至在一个文件里只同步有变化的部分,所以可以实现快速的同步数据的功能。

第一种:依赖ssh服务同步目录

rsync -aSvH /home/N22/test1/* /home/N22/test2/

参数解释:

a 等同于 -rlptgoD 归档模式,就是保持文件所有属性、权限不变

S 有效的处理零散文件

v verbose模式

H 保持hard links

上面这个表示 将本机的/home/N22/test1/目录下所有的文件,同步到/home/N22/test2/目录下。这种方式我只能同步新增和更新,不能同步删除,不知道原因,修改为

rsync -aSvH –delete /home/N22/test1/* /home/N22/test2/

时,虽然添加了delete仍然不能同步删除的文件。

和其它服务器同步时,需要账户和密码:rsync -aSvH /home/* root@192.168.1.1:/home/

第二种:服务器和客户端

经过测试,这种服务器和客户端的配置能完美解决删除文件和目录的同步功能。

服务器端配置:

1、rysnc一般是通过xinetd进行启动的。

修改/etc/xinetd.d/rsync,只修改一个地方

# default: off

# description: The rsync server is a good addition to am ftp server, as it \

# allows crc checksumming etc.

service rsync

{

disable = yes 修改为disable = no

socket_type = stream

wait = no

user = root

server = /usr/bin/rsync

server_args = –daemon

log_on_failure += USERID

}

2、接下来编辑配置文件

[root@mailsvr ~] # vi /etc/rsyncd.conf

uid = nobody

gid = nobody

use chroot = no

max connections = 4

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsyncd.lock

log file = /var/log/rsyncd.log

[web]

path = /opt/web

ignore errors

read only = true

list = false

hosts allow = 192.168.0.5 # 允许的IP地址

hosts deny = 0.0.0.0/32 # 禁止的IP 地址

auth users = backup # 认证用户名,此例是 backup

secrets file = /etc/backup.pass #认证用户的密码文件

3、编辑服务器的密码文件 /etc/backup.pass

vi /etc/backup.pass

backup:123456

4、然后设置权限chmod 400 /etc/backup.pass

客户端配置

1. 编辑rsync连接时的密码文件 /etc/rsync_client.pass

vi /etc/rsync_client.pass

123456 # 只需要配置连接时使用的密码即可,必须与A服务器上定义的密码相同.

2. chmod 600 /etc/rsync_client.pass

3. 使用 rsync 命令连接服务器,实现文件同步

rsync -vzrtopg –progress –delete –password-file=/etc/rsync_client.pass backup@192.168.1.2::web /opt/test

4. 使用 –execlude= 排除不需要同步的文件后缀名

rsync -vzrtopg –progress –delete –password-file=/etc/rsync_client.pass –exclude=”*.tmp” backup@192.168.1.2::web /home/test

5. 使用 –execlude-from= 排除不需要同步的目录

rsync -vzrtopg –progress –delete –password-file=/etc/rsync_client.pass –exclude-from=/opt/pcdir backup@192.168.1.2::web /home/test

6、定时同步

#vi rsyncd.sh

rsync -aSvH –delete –password-file=/home/N22/rsync_client.pass backup@192.168.1.252::web /home/N22/test2/

#crontab -e

01 04 * * * /etc/rsyncd.sh

每天凌晨4点01分执行

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:如何让你的 Docker 镜像更小
下一篇:Nginx实战系列之功能篇----后端节点健康检查

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省