MSYS2 环境搭建 && rsync 使用

发布时间 2023-05-08 01:48:25作者: 一剑九州寒

前言

最近家中部署了 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 手册中查看。

参考&引用