1.1在两台centos之间使用。可以使用yum install rsync -y 下载。
环境简介:
node1:192.168.1.1 为rsync的server
node2:192.168.1.2 为rsync的client
server的配置文件:
[root@localhost ~]# vim /etc/rsyncd.conf
pid file = /var/run/rsyncd.pid
port = 873
uid = root
gid = root
use chroot = no
read only = no
max connections = 5
log file = /var/log/rsync.log
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[test]
path = /home/test (注意此处后面不能加 / )
list=yes
ignore errors
comment = test
secrets file =/etc/rsyncd/rsyncd.pas
read only = no
server端的认证文件/etc/rsyncd/rsyncd.pas :
rsynctest:123456
并且需要chmo6 600 /etc/rsyncd/rsyncd.pas
client端的密码文件/etc/rsyncd/rsyncd.pas :
123456
并且需要chmo6 600 /etc/rsyncd/rsyncd.pas
1.2 备份
推送文件到server端
client:
推送send:既把client的文件send到server
/usr/bin/rsync -avzP --delete --progress --password-file=/etc/rsyncd/rsyncd.pas /home/test/ rsynctest@192.168.1.1::test
拉文件到client
拉received:既把server的文件拉到client
/usr/bin/rsync -avzP --delete --progress --password-file=/etc/rsyncd/rsyncd.pas rsynctest@192.168.1.1::test /home/test/
注意:/home/test/目录最后需要加/
1.3另需要cron每天早上一点同步
[root@209-9-53-205 ~]# vim /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
# For details see man 4 crontabs
# Example of job definition:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
0 1 * * * root /usr/bin/rsync -avzP --delete --progress --password-file=/etc/rsyncd/rsyncd.pas rsynctest@192.168.1.1::brb /home/test/
2.window 以及centos间同步文件
2.1server端为centos,下载也为yum install -y rsync,client为window先看sever端的配置文件:
vim /etc/rsyncd.conf
pid file = /var/run/rsyncd.pid
port = 873
uid = root
gid = root
use chroot = no
read only = no
max connections = 5
log file = /var/log/rsync.log
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[test]
path = /home/test
read only = false
write only = false
list=yes
ignore errors
comment = test
secrets file =/etc/rsyncd/rsyncd.pas
incoming chmod = Du=rwx,Dog=rx,Fu=rwx,Fgo=rx (会强制把同步以后的目录权限改为755)
/etc/rsyncd/rsyncd.pas同上,需要 user:password,以及chmod 600
2.2 windows端
F:\cwrsync\rsync.exe --delete -rvz --progress --exclude-from=/cygdrive/f/cwRsync/exclude.txt --password-file=/cygdrive/f/cwRsync/rsyncd.pas.txt /cygdrive/f/test/ newoauser@192.168.1.1::test
F:\cwrsync\rsync.exe 为rsync路径,如果没有将rysnc加入系统路径,则需要写全路径。
/cygdrive/f 指的是f盘
rsync.exe 若加参数-a ,会将window的属组属主上传为sever端,影响权限问题。
rsyncd.pas.txt 将server端设置的password写入
exclude.txt 将需要排除的文件以及文件夹写入
exit (/cygdrive/f/test/ 目录下的exit目录,都是相对路径)
ab* (/cygdrive/f/test/ 目录下以ab开头的文件)
转载于:https://blog.51cto.com/jimchen/1974666