MSYS2 环境搭建 && rsync 使用
前言
最近家中部署了 NAS ,但是数据只保存在 NAS 中总感觉不是很安全,所以希望有备份的手段,将 NAS 上的数据备份到移动硬盘中冷备份。
由于 Windows 下没找到开源好用的文件同步软件,微软之前维护的 SyncToy 似乎也不再维护,那么只能使用 Linux 环境下的 rsync
比较好了。
考虑到在使用 Git for Windows 时可以运行一些 bash 脚本和 Linux 命令,所以笔者尝试是否可以在 Git for Windows 中搭建 rsync
环境,笔者尝试成功了,但是发现一旦 Git 升级或者重装,环境也需要重新搭建,故放弃此方案。
最终笔者使用 MSYS2 环境,Git for Windows 的运行环境就是基于 MSYS2。
MSYS2 安装
安装
前往 MSYS2 官网下载安装包安装即可,如果遇到 Disabled 4 keys. ==> Updating trust database...
卡主的情况,断网稍等片刻即可安装成功。
Windows Terminal 配置
Windows Terminal 里加上如下配置即可,guid
是随机生成的。
{
"commandline": "D:/Develop/msys64/msys2_shell.cmd -defterm -no-start -use-full-path -here -mingw64",
"guid" : "{f319d32a-e777-4b93-ad5b-499d586db3ff}",
"hidden": false,
"icon": "D:/Develop/msys64/msys2.ico",
"name" : "MSYS2",
"startingDirectory" : "%USERPROFILE%"
}
rsync
安装
安装
其实这里比较简单,一行命令搞定
pacman -S rysnc
使用
https://share.bito.co/static/share?aid=92205e9e-6ec5-4aa7-aa26-ec17d72b9d4c
https://share.bito.co/static/share?aid=5acfcb64-290e-4019-9181-b2d88807abd5
rsync -avn --progress /path/to/source/folder/ /path/to/target/folder/
rsync
是一款常用的文件同步工具,它有很多参数可以进行自定义,以下是一些常用的参数:
-a
:归档模式,表示以递归方式、保留所有文件属性(如权限、日期时间戳等)、保留符号链接、保持文件的所有者和组的身份(如果可能)、递归复制目录。一般情况下使用 -a 参数就可以满足大部分同步需求。-r
:递归复制目录。-v
:详细模式,输出操作过程中的详细信息。-z
:压缩数据传输。-n
:模拟运行,显示将要进行的操作,但不会真正执行。--delete
:在同步目标目录之前删除目标目录中不存在于源目录中的文件。--exclude
:排除指定的文件、目录及其子目录不进行同步,可以使用通配符指定要排除的内容。--include
:仅同步指定的文件、目录及其子目录,可以使用通配符指定要包含的内容。--progress
:显示同步进度。--bwlimit
:限制带宽占用,以 KB/s 为单位指定限制带宽的值。--dry-run
:测试运行,不进行实际的文件同步操作。
这些参数的具体用法和含义可以在rsync
命令的man
手册中查看。
复制本地文件和文件夹
要将一个本地文件夹的内容复制到另一个本地文件夹,以替换目标文件夹中的文件,我们使用:rsync -avP source_folder/ destination_folder/
。
注意,我在 source_folder
末尾添加了一个斜杠,这样做会阻止创建新文件夹,如果不添加斜杠,则会在目标文件夹中创建一个名为 source
文件夹的新文件夹。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix