作者:张华 发表于:2015-12-28
版权声明:能够随意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本版权声明
( http://blog.csdn.net/quqi99 )
急需使用rsync在家里的多台机器上同步相片。
sudo apt-get install rsync
sudo update-rc.d -f rsync remove
sudo update-rc.d rsync start 20 2 3 4 5 . stop 20 0 1 6 .
sudo update-rc.d rsync enable
hua@node1:~$ sudo sysv-rc-conf --list rsync
rsync 0:off 1:off 2:on 3:on 4:on 5:on 6:off
这时候就能够在一台机器上同步文件夹了(rsync server执行在qnap上,统一在qnap上改动,rsync client定时执行下列命令就可以让客户端的文件夹与服务端同步,以服务端为准):
rsync -avzur --progress --delete /bak/tmp/qnap/ /qnap/
rsync -avzur --progress --delete --password-file=/etc/rsync.secret /bak/tmp/qnap/ /qnap/
在多台机器上同步文件夹:
rsync -rave "ssh -p 22 -l hua" -avzur --progress --delete 192.168.99.124:/qnap/ /qnap/
等价于:rsync -avzur --progress --delete hua@192.168.99.124:/qnap/ /qnap/
也能够配置使用::qnap使用下列配置文件/etc/rsyncd.conf中的[qnap]模块:
sudo rsync -avrzP hua@192.168.99.124::qnap qnap
hua@node1:~$ sudo rsync --list-only hua@192.168.99.124::
++++++++++++++++++++++++++++++++++++++++++++++
Welcome to use quqi rsync services!
++++++++++++++++++++++++++++++++++++++++++++++
qnap This is qnap backup data
配置[qnap]模块的过程例如以下:
sudo touch /etc/rsyncd.conf
sudo touch /etc/rsyncd.motd
hua@node1:~$ sudo cat /etc/rsyncd.motd
++++++++++++++++++++++++++++++++++++++++++++++
Welcome to use quqi rsync services!
++++++++++++++++++++++++++++++++++++++++++++++
sudo touch /etc/rsyncd.secrets
hua@node1:~$ sudo cat /etc/rsyncd.secrets
hua:Passw0rd
sudo chmod 600 /etc/rsyncd.secrets
sudo chown root:root /etc/rsyncd.secrets
hua@node1:~$ sudo cat /etc/default/rsync |grep 'RSYNC_ENABLE'
RSYNC_ENABLE=true
sudo /etc/init.d/rsync restart
sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT
vi /etc/rsyncd.conf
pid file = /var/run/rsyncd.pid
port = 873
address = 192.168.99.124
#usermod -g root hua
uid = hua
gid = root
use chroot = yes
read only = yes
hosts allow=192.168.99.0/255.255.255.0 10.0.1.0/255.255.255.0
hosts deny=*
max connections = 5
motd file = /etc/rsyncd.motd
log file = /var/log/rsync.log
#transfer logging = yes
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
[qnap]
path = /qnap
list=yes # 能够使用rsync --list-only hua@192.168.99.124::命令列出文件夹
ignore errors
auth users = hua,root
secrets file = /etc/rsyncd.secrets
comment = This is qnap backup data
exclude = tmp/ test/
最后。我实际上是这样处理的,我有一个qnap,一个台式机。一个笔记本,对于一些相片啥的想多存储几份别一个机器哪天坏了丢了。
1, 由于iscsi上一个bug。一个client对qnap上的iscsi server写了之后,没法实时更新在还有一个client上(必须先umount再mount一下才行)。 而且qnap的iscsi採用一个大的虚拟文件存储的,这都不是我想要的。所以最后仅仅使用了qnap上的nfs将相片存储了一份。
2, 台式机由于IP固定开机自己主动mount (sudo mount -t nfs -o vers=3 192.168.99.122:/Public /bak/qnap), 另外直接复制了一份到/bak/qnap_local文件夹防止rsync操作失误毁坏数据。
3, 笔记本由于常常外出IP不固定。外出时使用/bak/qnap_local文件夹的内容,在家须要同步时手工同步:
sudo mount -t nfs -o vers=3 192.168.99.122:/Public /bak/qnap
cd ~ && rsync -avzurP --exclude 'doc' --exclude 'photo' --exclude 'media' --progress --delete /bak/qnap/ /bak/qnap_local
4, 平时在家办公统一从台式机上写/bak/qnap文件夹将数据直接写到qnap上。手机等移动设备通过qnap ftp訪问数据。