群晖 NAS rsync 远程文件同步

news2024/11/25 4:40:20

客户机是外网的 Windows 11,服务器是群晖。
客户机上安装 WSL Alpine Linux 来运行 rsync 进行文件下载。Alpine 相对比 Ubuntu、Debian,要小巧轻量,占用存储空间少,启动速度也很快。

一、安装 WSL Alpine Linux

在 Windows 中,打开 cmd 或 PowerShell,输入安装指令:

wsl --install --no-distribution

加参数 --no-distribution 阻止安装默认的 Linux 发行包(Ubuntu)

参考:https://learn.microsoft.com/en-us/windows/wsl/install

打开 Microsoft Store,搜索 alpine

二、挂载外部 Windows 路径

默认 Linux 子系统会自动挂载各个盘符。但有个分区,在 Windows 11 中是挂载在目录下,没有分配盘符。通过目录无法访问,需要另外挂载。

通过编辑 /etc/fstab 文件,可以自动挂载,不用每次调用 mount 命令。
在 /etc/fstab 中添加:

C:/UserProfiles/Workspace     /mnt/w  drvfs   uid=1000,gid=1000,metadata,umask=22,fmask=111 0 0

参考:
https://blog.csdn.net/thinszx/article/details/128515061
https://learn.microsoft.com/en-us/windows/wsl/wsl-config

不过,经测试,Alpine 中,启动时,加载 fstab 出错,通过 dmesg 查看输出,提示 c:/userprofiles/workspace 这个目录找不到。

但在 ubuntu wsl 中,却可以顺利挂载。
最终,还是在 Alpine 启动完成后,用 mount 命令来完成挂载。

mount -t drvfs -o metadata,uid=1000,gid=1000,fmask=113,dmask=002 C:/UserProfiles/Workspace /mnt/w

mount 命令中,参数 metadata 非常重要,不然 fatfs/ntfs 的文件,无法设置 mod,使用 chmod 755 ./ 命令,设置不起作用,目录访问权限不会被更改。

三、在 Alpine Linux 中安装 rsync

使用 ssh 方式连接服务器,需要一起安装 openssh

apk update
apk add rsync
apk add openssh

rsync 有两种连接方式,一个是 ssh,默认端口 22;一个是 rsync,默认端口是 873

四、运行 rsync

参考:https://zhuanlan.zhihu.com/p/659314811

rsync -avpe 'ssh -p 22' user@remoteAddress:/volume1/myArchive/share /mnt/w/rsync

如果要求本地成为服务器的镜像,不要有多出来的文件,需要加 --delete 参数,删除比服务器多的文件。参考:https://www.cnblogs.com/kevingrace/p/5766139.html

rsync -avpe 'ssh -p 22' --delete user@remoteAddress:/volume1/myArchive/share /mnt/w/rsync

五、脚本自动运行

#!/bin/ash
mount -t drvfs -o uid=1000,gid=1000,umask=022,metadata C:/UserProfiles/Workspace/rsync /mnt/w

#su pos -c /home/pos/rsync.sh
su pos -c expect <<-EOF
set timeout 30;
spawn rsync -avpe "ssh -p 3322" --delete user@<myserver>:/volume1/myfiles/share /mnt/w/
expect {
  "*yes/no" { send "yes\r"; exp_continue }
  "*password:" { send "o3q8hsMr\\\$y:33\r" }
}
expect eof
EOF

umount /mnt/w

由于 mount 需要 root 权限,因此入口用户是 root,而 rsync 则由 su 命令转为普通用户来执行。

脚本中使用了 expect 来自动输入密码,需要通过 apk add expect 安装。
在发送密码的字符串中,存在特殊字符 "$",需要转义,直接用 "\$" 还不能完成转义,需要二次转义,对 "\" 也要转义。
"\\\$",其中 "\\" 最终为 "\","\$" 为 "$",也就是将 "\\\$" 转成 "\$",这里就转义两次,不然输出的字符不是预期的结果。

为什么要转义多次,是因为命令被多次传递。一个命令嵌套一个命令,就会导致这种情况。

六、在 Windows 中调用 WSL 脚本

wsl -u root -d alphin -e /root/sync.sh

七、在windows 中设置计划任务

在 Windows 计划任务中创建定时任务

set ws=wscript.CreateObject("wscript.shell")
ws.run "wsl -u root -d Alpine -e /root/rsync.sh", 0

参考:https://zhuanlan.zhihu.com/p/612755941

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1604831.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

scala---基础核心知识(变量定义,数据类型,流程控制,方法定义,函数定义)

一、什么是scala Scala 是一种多范式的编程语言&#xff0c;其设计初衷是要集成面向对象编程和函数式编程的各种特性。Scala运行于Java平台&#xff08;Java虚拟机&#xff09;&#xff0c;并兼容现有的Java程序。 二、为什么要学习scala 1、优雅 2、速度快 3、能融合到hado…

ADOP-400G光模块问题发布会

前沿光学&#xff08;ADOP&#xff09;400G光模块为客户提供各种超高密度的400G以太网连接方案&#xff0c;广泛应用于数据中心、企业网和服务提供商。 &#x1f4e3;&#x1f4e3;以下一些问题是我们新一代400G光模块常能遇见问题&#xff0c;所以我们决定在这里开一场小小的…

ubuntu22安装宝塔面板

方法一&#xff1a;运行安装宝塔命令 wget -O install.sh https://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh ed8484bec 安装成功后&#xff0c;需到服务器管理后台的安全组中配置新规则&#xff0c;放行宝塔面板的端口&#xff08;以阿…

基于SSM和vue的机票订购管理系统

&#x1f449;文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于SSM和vue的机票订购管理系统2拥有两种角色 管理员&#xff1a;用户管理、机票管理、订票管理、公告管理、广告管理、系统管理、添加机票等 用户&#xff1a;登录注册、订票、查看公…

论文复现《SplaTAM: Splat, Track Map 3D Gaussians for Dense RGB-D SLAM》

前言 SplaTAM算法是首个开源的基于RGB-D数据&#xff0c;生成高质量密集3D重建的SLAM技术。 通过结合3DGS技术和SLAM框架&#xff0c;在保持高效性的同时&#xff0c;提供精确的相机定位和场景重建。 代码仓库&#xff1a;spla-tam/SplaTAM: SplaTAM: Splat, Track & Map 3…

MySQL表级锁——技术深度+1

引言 本文是对MySQL表级锁的学习&#xff0c;MySQL一直停留在会用的阶段&#xff0c;需要弄清楚锁和事务的原理并DEBUG查看。 PS:本文涉及到的表结构均可从https://github.com/WeiXiao-Hyy/blog中获取&#xff0c;欢迎Star&#xff01; MySQL表级锁 MySQL中表级锁主要有表锁…

【简单介绍下PostCSS】

&#x1f3a5;博主&#xff1a;程序员不想YY啊 &#x1f4ab;CSDN优质创作者&#xff0c;CSDN实力新星&#xff0c;CSDN博客专家 &#x1f917;点赞&#x1f388;收藏⭐再看&#x1f4ab;养成习惯 ✨希望本文对您有所裨益&#xff0c;如有不足之处&#xff0c;欢迎在评论区提出…

如何实现在 Windows 上运行 Linux 程序?

在Windows 上运行Linux程序是可以通过以下几种方法实现: 1.使用 Windows Subsystem for Linux (WSL): WSL是微软提供的功能&#xff0c;可以在Windows 10上运行一个完整的Linux系统。用户可以在Microsoft Store中安装所需的 在开始前我有一些资料&#xff0c;是我根据网友给的…

SQL --索引

索引 INDEX 伪列 伪装起来的列&#xff0c;不容易被看见&#xff0c;要特意查询才能看见 ROWNUM&#xff1a; 是对查询结果自动生成的一组连续的自然数序号。 SELECT emp.*,ROWNUM FROM emp例题&#xff1a;查询emp表中&#xff0c;前三个员工 SELECT * FROM * from emp w…

Midjourney 实现角色一致性的新方法

AI 绘画的奇妙之处&#xff0c;实乃令人叹为观止&#xff01;就像大千世界中&#xff0c;寻不见两片完全相同的树叶一般&#xff0c;AI 绘画亦复如是。同一提示之词&#xff0c;竟能催生出千变万化的图像&#xff0c;使得AI所绘之作&#xff0c;宛如自然之物般独特&#xff0c;…

将百度网盘中数据集直接下载到服务器上

步骤&#xff1a; 1:下载安装bypy pip install bypybypy&#xff0c;是一个使用 python 编写的命令行百度网盘客户端 2:初始化 bypy info将这个链接复制到浏览器中打开 复制授权码&#xff0c;粘贴到服务器命令&#xff0c;回车 等待一会&#xff0c;会显示你云盘空间大小信…

【小白学机器学习14】确定零假设h0的技巧:先根据错误的严重程度确定第1类错误α,再确定零假设h0

目录 1 前言: 如何确定H0的逻辑思路 1.1 推导的原理 2 假设检验的2类错误 2.1 什么叫2类错误 2.2 这两类错误的计算公式 2.2.1 计算公式 2.2.2 第1类错误和第2类错误的特点 3 如何设计H0的一些例子和思考 3.1 很多书上的原则1&#xff1a;备择假设通常才是研究者最想证…

多高的学历才能轻松找到工作?这个热点有点扯吧~

先来唠唠 昨天刷脉脉的时候&#xff0c;热榜第一的内容吸引了我&#xff1a;多高的学历才能轻松找到工作&#xff1f; 现在这行情&#xff0c;不管多高得学历都很难说能轻松找到工作吧~ 评论区也有不少小伙伴发表自己的见解&#xff0c;比如&#xff1a; 学历固然是非常重要…

2D动画制作软件Moho Pro14 mac注册激活版

Moho Pro 14 for mac 是一款专业的2D动画制作软件。它具有强大的功能和工具&#xff0c;适用于动画制作师、插画师和设计师。 Moho Pro14 mac注册激活版下载 Moho Pro 14提供了丰富的动画功能&#xff0c;包括骨骼动画、形状插值、帧逐帧动画等。您可以使用骨骼工具来创建复杂的…

中缀表达式求值

题目 请写一个整数计算器&#xff0c;支持加减乘三种运算和括号。 示例1 输入&#xff1a;“12” 返回值&#xff1a;3示例2 输入&#xff1a;“(2*(3-4))*5” 返回值&#xff1a;-10示例3 输入&#xff1a;“32*3*4-1” 返回值&#xff1a;26 思路 经典的中缀表达式求值。…

Ubuntu 20.04.06 PCL C++学习记录(二十六)

[TOC]PCL中点云配准模块的学习 学习背景 参考书籍&#xff1a;《点云库PCL从入门到精通》以及官方代码PCL官方代码链接,&#xff0c;PCL版本为1.10.0&#xff0c;CMake版本为3.16&#xff0c;可用点云下载地址 学习内容 在代码中使用ICP迭代最近点算法&#xff0c;程序随机…

游戏前摇后摇Q闪E闪QE闪QA等操作

备注&#xff1a;未经博主允许禁止转载 个人笔记&#xff08;整理不易&#xff0c;有帮助&#xff0c;收藏点赞评论&#xff0c;爱你们&#xff01;&#xff01;&#xff01;你的支持是我写作的动力&#xff09; 笔记目录&#xff1a;学习笔记目录_pytest和unittest、airtest_w…

负荷预测 | Matlab基于TCN-LSTM-Attention单变量时间序列多步预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.负荷预测 | Matlab基于TCN-LSTM-Attention单变量时间序列多步预测&#xff1b; 2.单变量时间序列数据集&#xff0c;采用前12个时刻预测未来96个时刻的数据&#xff1b; 3.excel数据方便替换&#xff0c;运行环境ma…

请陪伴Kimi和GPT成长

经验的闪光汤圆 但是我想要写实的 你有吗&#xff1f; 岁数大了&#xff0c;希望如何学习新知识呢&#xff1f;又觉得自己哪些能力亟需补强呢&#xff1f; 看论文自然得用Kimi&#xff0c;主要是肝不动了&#xff0c;眼睛也顶不住了。 正好昨天跟专业人士学会了用工作流的办法跟…

buuctf之ciscn_2019_c_1

ciscn_2019_c_1 一、查看属性二、静态分析三、动态分析四、思路五、exp 一、查看属性 首先还是必要的查看属性环节&#xff1a; 可以知道该文件是一个x86架构下的64位小端ELF文件&#xff0c;开启了栈不可执行&#xff08;NX&#xff09; 执行一下&#xff0c;先有一个选择&…