美文网首页
如何将群晖上的数据同步到Linux服务器

如何将群晖上的数据同步到Linux服务器

作者: 亻火子 | 来源:发表于2021-08-19 10:21 被阅读0次

    因工作需要及一些不好解释的原因,要把NSA上的一堆文件同步到Linux服务器上,大概40G左右,约310K个文件,文件每天都还在增加中,我首先想到的就是用lsyncd+rsync,结果网上找了半天也不知道怎么将lsyncd装到群晖上。最后想到用docker来做,容器里就可以安装lsyncd,相信还有其它好办法,只是没有时间给我去折腾了,还是就用docker了,下边记录一下笔记,万一那天又要用到好参考。

    我是直接到镜像仓库,找出来第一个,最后更新两个月前,下载100K+,没多想直接选用

    镜像仓库
    通过ssh连接上NSA,进入docker目录
    切换到root用户并进入docker目录
    新建配置文件目录/volume1/docker/lsyncd/config
    vi /volume1/docker/lsyncd/config/lsyncd.lua
    settings {
      logfile    = "/tmp/lsyncd.log",
      statusFile = "/tmp/lsyncd.status",
      maxDelays = 100,
      maxProcesses = 1,
      statusInterval = 5
    }
    
    sync {
      default.rsyncssh,
      -- 源文件目录
      source = "/wwwroot",
      -- 目标服务器
      host="120.xxx.xxx.xxx",
      -- 目标服务同步文件目录
      targetdir="/wwwroot",
      -- 源机文件删除同步删除服务器文件
      delete = true,
      -- 排除目录
      exclude = {
        '.**',
        'temp/**',
        'cache/**',
        'logs/**'
      },
      delay = 15,
      rsync = {
        archive = true,
        compress = true,
        verbose  = false,
        -- 不同步文件权限
        perms = false,
        owner = false,
        group = false,
        rsh = "/usr/bin/ssh -l root -p 22 -i /config/.ssh/id_rsa -o StrictHostKeyChecking=no"
      }
    }
    
    

    新建私钥文件目录/volume1/docker/lsyncd/config/.ssh
    添加私钥文件/volume1/docker/lsyncd/config/.ssh/id_rsa,直接从目标服务器复制过来。
    修改私钥文件权限chmod 600 /volume1/docker/lsyncd/config/.ssh/id_rsa
    修改操作系统的打开文件数量限制,默认8192,cat /proc/sys/fs/inotify/max_user_watches
    echo 524288 >> /proc/sys/fs/inotify/max_user_watches
    vi /etc/sysctl.conf,添加fs.inotify.max_user_watches=524288,系统重启后不会回到8192。

    拉取镜像docker pull theorangeone/lsyncd

    进入DSM,再进入Docker套件,选择theorangeone/lsyncd镜像启动创建容器


    创建容器
    添加配置文件目录

    应用->下一步->完成

    相关文章

      网友评论

          本文标题:如何将群晖上的数据同步到Linux服务器

          本文链接:https://www.haomeiwen.com/subject/mzeibltx.html