|
本帖最后由 toomee 于 2024-3-13 01:19 编辑
在网上翻了两天,终于搞通了rsync的基本用法,在局域网,内外网均测试通过,特写出来,供和我一样的小白,照葫芦画瓢:
要在两台设备间同步文件夹,复制资料,rsync提供了很多很灵活的参数,
适合局域网,配合zerotier,也适合办公室和家里这样的内外网之间传输,备份文件,非常方便。
我在移动和电信两个网之间备份1g的文件,大概3分钟即可,大大出乎意料。
一、首先,把存储设备当服务器,需要在服务端配置:
服务端的配置文件: /etc/rsyncd.conf
#用户id,用root比较方便,也可以自己改其他的名字
uid = root
#组id
gid = root
#no,不允许用户跳出到其他目录
use chroot = no
#虚拟超级用户,以普通用户身份执行rooy用户能执行的操作
fake super = yes
#最大连接数,默认4
max connections = 6
#进程文件
pid file = /var/run/rsyncd.pid
#日志文件,查看执行情况
log file = /var/log/rsyncd.log
#连接超时
timeout = 300
#默认端口873
port = 873
#关闭只读
read only = false
#自定义得模块名称,在rsync命令中,传递该参数
[yb3_bk]
#欢迎词
comment = "Welcome to youbo3 DATA backup"
#指定要备份到哪个文件夹
path = /mnt/sda1/yb3
#虚拟一个用户的名字,rsync命令需要传递该参数
auth users = wang
#该虚拟的用户的密码,存储在哪个文件
secrets file = /etc/rsync.passwd
#忽略io错误
ignore errors
二 继续在服务端的创建,虚拟用户wang的密码文件:
echo "wang:1234" >>/etc/rsync.passwd
#该文件必须指明权属,否则报错:
chown root:root /etc/rsync.passwd
#该文件必须设定权限:
chmod 600 /etc/rsync.passwd
三 创建用户,用root,该步骤略去。
四,在服务端,创建备份目录,也就是配置文件中的那个目录:
mkdir -pv /mnt/sda1/yb3
#必须对该文件夹,设立权属:
chown -R root.root /mnt/sda1/yb3
如果配置文件中,设定为root,无需设立权属
五 启动服务端的服务:
rsync --daemon --config=/etc/rsyncd.conf
六 、转到客户端的设备,创建密码文件:
echo “1234" >/etc/rsync.passwd
注意: 只需设定密码,如果设定用户名字,会报错。这点容易误解。(openwrt版本18)
#该文件必须指明权属,否则报错:
chown root:root /etc/rsync.passwd
#该文件必须设定权限:
chmod 600 /etc/rsync.passwd
六, 大功告成,在客户端输入:
rsync -av --password-file=/etc/rsync.passwd /mnt/sda1/需要上传的资料.rar wang@192.168.6.13::yb3_bk
#命令中,客户端密码文件, 服务端配置文件中指定的虚拟用户名,服务端的ip,模块名字
七,在定时任务中,指定启动时间,即可实现定时备份传输文件了,注意,
在执行rsync命令前,最好有再次设定密码文件权限的语句。不然会提示错误。例如:
chmod 600 /etc/rsync.passwd
|
|