1. Linux-server,linux-client
服务器端配置:
安装同步工具rsync,系统会自行安装。所占用端口号为873,该服务是按需服务,需要安装xinetd。
启动xinetd,#service xinetd restart
修改配置文件,/etc/rsyncd.conf,如果没有该文件,自行创建。
#vi /etc/rsyncd.conf
Uid=root
Gid=root
Use chroot=yes
Max connections=4
Pid file=/var/run/rsyncd.pid
Lock file=/var/run/rsyncd.lock
Log file=/var/log/rsyncd.log
[nclass]
Path=/usr/local/Easiware/nclass
Comment=Backup temp
Ignore errors
Read only=res
List=no
如果需要设置密码,只是有权限的人也可执行同步操作,可修改/添加配置如下:
uid = apache #采用什么身份进行文件读取
gid = apache #同上,必须是有读取path权限的用户、组
auth users = linuxing #连接rsync服务的帐号
secrets file = /etc/rsyncd.secrets #指定存放帐号密码的位置
#vi /etc/rsyncd.secrects
linuxing:passwd #passwd为连接rsync服务的帐号
保存后,需要保证用户是root,权限最小是600
#chown root:root/etc/rsyncd.secrets
#chmod 600/etc/rsyncd.secrets
注:
保证开机自动启动:
修改/etc/xinetd.d/rsync文件,把其中的disable=yes改为disable=no
源文件权限:
Nclass及其中文件都设为777
客户端:
手动同步:
#rsync –vzrtopgu –progress –delete root@serverIP::nclass/usr/local/object
定时同步:例如每天凌晨2点同步
#cd /etc/cron.daily
#touch backup.sh
#vi backup.sh
#!bin/sh
rsync–vzrtopgu –progress –delete root@serverIP::nclass /usr/local/object
#chmod 777 backup.sh
方法一:
#vi /etc/crontab #修改定时同步的时间
00 02 * * * rootrun-parts /etc/cron.daily
方法二:
#crontab-e
00 02 * * */etc/cron.daily/backup.sh
如果rsync服务器需要密码验证,可以增加--password-file参数:
rsync–vzrtopgu –progress –delete root@serverIP::nclass /usr/local/object --password-file=/etc/test
#vi /etc/test
#指定访问密码
bakcup
#chmod600 /etc/test
如果一切都已经配置好,还是不能执行同步,请检查/etc/default/rsync文件,将其中RSYNC_ENABLE=true,这项在ubuntu中遇到过。
2. windows做为服务器端
安装软件:cwRsync_Server_2.0.10_Installer.exe
配置如linux,服务启动:我的电脑——>右击——>管理——>服务,启动rsyncserver
或:控制面板——>管理工具——>服务
3. windows做为客户端
安装客户端软件cwrsync,假设安装到d:\program files
运行cmd
C:\>d:
D:\>cdprogram files
D:\program files>cd cwrsync
D:\program files\cwrsync>cd bin
D:\program files\cwrsync\bin> rsync –vzrtopgu –progress –deleteroot@serverIP::nclass /object
定时同步:
新建nclass.bat
内容如下:rsync –vzrtopgu –progress –delete root@serverIP::nclass/object
打开控制面板/任务计划/添加任务计划,在弹出的对话框中设置时间。
注:
1.客户端日志,查看何时开始结束
Logfile=”/var/log/myrsync.log”
Echo $(date +%y%m%d)” begin” >>$logfile
#输出同步开始日期
Echo “database begin:” $(date +%H%M%S)>> $logfile
#输出【database】同步开始时间
Rsync –vzrtopgu --progress --bwlimit =900root@IP::database /backup
#执行同步操作,并限速
Echo “$? Database end and cpu begin:” $(date+%H%M%S) >> $logfile
#输出【database】同步结束时间和【cpu】同步开始时间
……
Echo $(date +%y%m%d)” end” >> $logfile
#输出同步结束时间
Echo “\n\n” >> $logfile
#空两行
2.同步上传
Rsync –av –progress /本地路径root@serverip::server-object
3. 常见错误
@error:chroot failed
Rsync error: error starting client-serverprotocol(code 5) at main.c(1504)
原因:服务器目录错误或者不存在。
Rsync:failed to connect to IP:connectrefused(111)
Rsync error:error in socket IO(code 10) atclientserver.c(124)
原因:端口被禁,防火墙开启
ubuntu下无法启动rsync只需将/etc/default/rsync中的rsync_enable=false改为rsync_enable=true