• 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使用哪个端口来进行传输

    username@server.ip:/home/disk1/backfiles  指定远程服务器的账户、地址,和文件夹路径

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

    1. #此配置为家中NAS服务器的 /etc/frp/frpc.ini
    2. [ssh-8]
    3. type = tcp
    4. local_ip = 127.0.0.1
    5. local_port = 33191
    6. remote_port = 33191
    7. #Rsync 要用到873接口
    8. [rsync]
    9. type= tcp
    10. local_ip=192.168.1.191
    11. localpart=873
    12. remote_port=873

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

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

    1. # 这个命令是在公司的NAS服务器上发出的,功能是将/home/bakfiles这个文件夹,备份到家中的NAS服务器的4TB硬盘中的Backups文件夹内
    2. rsync -avzP /home/bakfiles -e "ssh -i /home/key -p 33191" root@www.myfrp-name.com:/home/4TB/Backups/

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

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

    rsync -avzP  -e "ssh -i /home/key -p 33171" root@www.myfrp-name.com:/home/bakfiles /home/4TB/Backups/

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

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

    rsync -avzP  -e "ssh -i /home/keys/key -p 33171" root@www.myfrp-name.com:/home/bakfiles -e "ssh -i /home/keys/key -p 33191" root@www.myfrp-name.com:/home/4TB/Backups/

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

    4. 断点续传和速度限制

    1. ## 限速1000KB/s
    2. rsync -avzP --bwlimit=1000  /home/Sources/  -e "ssh -i /home/keys/key -p 33171" root@www.myfrp-name.com:/home/bakfiles/

    5. 从备份目录还原到源目录

    1. rsync -auvzP /home/back /home/source
    2. ## u 表示只还原最新的文件,如果source中的同名文件在备份后有修改,则还原回来时不会替换掉;如果如果source中的同名文件在备份后被删除,则还原后会出现该删除掉的文件

  • 相关阅读:
    SpringBoot集成easyexcel实现动态模板导出
    每日一题Day40-41
    研发必会-异步编程利器之CompletableFuture(上)
    使用DNS查询Web服务器IP地址
    SSF~~
    搭建Docker+SRS服务器实现推流拉流的效果
    Seata入门系列【7】Seata之TCC模式入门案例
    free marker /spring boot
    三维模型3DTile格式轻量化云端处理技术方法分析
    【JavaEE】_HTTP请求报头header
  • 原文地址:https://blog.csdn.net/lggirls/article/details/127065870