Rsync 与frp搭建远程备份服务和基本命令行操作示例

起因:家中NAS大升级,网络更换为了千兆光纤,硬件升级为了J6412,硬盘更改为了512GSSD+4TB机械硬盘。尽管公司有备份的服务器,但还是担心万一损失,因此做个远程备份。

0. rsync的命令行讲解

rsync -avzP  源文件夹  目标文件夹

要将raync玩出花样,重点就在于如何设置 源文件夹  和  目标文件夹。这两个项目,只能有一个是远程目标。

也就是,要在本地服务器,将本地文件夹备份到远程服务器,则配置 “目标文件夹”的主机名和登录密钥,端口,文件夹路径就可以了。

如果,要在本地主机,将远程服务器的文件夹拉取-备份到本地,则需要配置“源文件夹”的主机名和登录密钥,端口,文件夹路径就可以了。

针对 源文件夹/目标文件夹 的设定参数包括:

-e "ssh -i /home/key -p 44322"      指定通过私有key和指定的端口44322登录ssh连接主机

--exclude=no.back    在备份过程中,排除指定的文件夹和文件。这里是相对路径,也就是要备份的文件夹内的文件夹和文件的路径, 不是绝对路径。也可写成 --exclude 'no.back'

--port=998                                         指定rsync使用哪个端口来进行传输

[email protected]:/home/disk1/backfiles  指定远程服务器的账户、地址,和文件夹路径

1. frp服务器的搭建和配置请搜索我的其他文章,这里仅涉及SSH和Rsync相关的部分

#此配置为家中NAS服务器的 /etc/frp/frpc.ini
[ssh-8]
type = tcp
local_ip = 127.0.0.1
local_port = 33191
remote_port = 33191

#Rsync 要用到873接口
[rsync]
type= tcp
local_ip=192.168.1.191
localpart=873
remote_port=873

可以看到,我的frps 服务器,已经连接到第8个 ssh服务了,就这,每个月300G的流量还是用不完。

2. rsync备份本地到远程服务器的命令

# 这个命令是在公司的NAS服务器上发出的,功能是将/home/bakfiles这个文件夹,备份到家中的NAS服务器的4TB硬盘中的Backups文件夹内
rsync -avzP  /home/bakfiles -e "ssh -i /home/key -p 33191" [email protected]:/home/4TB/Backups/

注意,其中的 【 -e  "ssh -i /home/key -p 33191"】是为了通过frp登录家中NAS的

2.2 在家中NAS服务器上,将公司资料拉取到本地

rsync -avzP  -e "ssh -i /home/key -p 33171" [email protected]:/home/bakfiles /home/4TB/Backups/

注:公司服务器的ssh采用的是33171端口。 

3.在第三方系统上,远程登录NAS1服务器,将内容备份到NSA2服务器

rsync -avzP  -e "ssh -i /home/keys/key -p 33171" [email protected]:/home/bakfiles -e "ssh -i /home/keys/key -p 33191" [email protected]:/home/4TB/Backups/

注意,备份失败,提示是“源和目标不能都是远程的”

猜你喜欢

转载自blog.csdn.net/lggirls/article/details/127065870