问题就在标题里。微软给出了这些说明,但是 Mac 的部分要么过时了,要么根本就没用过(而且说实话看起来还没完成)。无论我将驱动器格式化为哪种文件系统(尝试过 exFAT / APFS / APFS(区分大小写)),OneDrive 都会抱怨目标需要不可移动且不区分大小写:
其实微软已经预料到可能会出现这样的错误,并在页面最底部给出了几个额外的步骤来确保兼容性:
在 Mac 上打开 Finder 窗口,然后选择应用。
确保外部驱动器是不可弹出类型并且格式化为 APFS。学习如何。
说实话,第一步毫无意义,第二步参考了 Apple 文档,其中介绍了如何使用磁盘工具。不幸的是,此工具无法改变设备的 RMB 位或 MacOS 对外部驱动器的感知(使其成为内部驱动器),因此它并没有真正的帮助。
看起来唯一可行的选择就是将 RMB 位直接翻转到可移动硬盘驱动器中,但我想确保在实施如此剧烈的改变之前没有遗漏任何东西。
PS 我的 Mac 有macOS Monterey(12.4)跑步。
答案1
我找到了一种将可移动硬盘上的文件备份到 OneDrive 云的解决方法。
- OneDrive文件夹位于系统磁盘上的默认位置。
- 我在 OneDrive 文件夹中创建了一个文件夹“CloudBackup”
- 使用 rsync 将外部磁盘“HD_Data”上的文件夹“THISFOLDER”备份到 OneDrive 文件夹。
- 使用 Applescript 运行 shell 脚本:
属性 tUSERNAME :(系统信息)的短用户名
属性 tSOURCEFOLDER:“/Volumes/HD_Data/THISFOLDER/”
属性 tDESTFOLDER:“/Users/”&tUSERNAME&“/Library/CloudStorage/OneDrive-Personal/CloudBackup”
将 tSCRIPT 设置为“rsync -a --delete-after ”&(tSOURCEFOLDER 的引用形式)&“ ”&(tDESTFOLDER 的引用形式)
执行 shell 脚本 tSCRIPT
- 将文件夹“CloudBackup”设置为“释放空间”。这会告诉 OneDrive,上传到云后,文件夹中的所有文件都不应占用系统磁盘上的空间。这可以在 Finder 中手动完成,方法是右键单击文件夹并选择“释放空间”,或者使用脚本:
将 tSCRIPT 设置为“/Applications/OneDrive.App/Contents/MacOS/OneDrive /unpin /r ~/Library/CloudStorage/OneDrive-Personal/CloudBackup”
执行 shell 脚本 tSCRIPT
备份外部磁盘上的文件和文件夹的另一种方法是使用 rclone。在 Linux 或 Macos 上安装 rclone:
sudo -v ; 卷曲https://rclone.org/install.sh| sudo bash
运行 rclone config 从 Microsoft 获取凭据。
备份示例:
/usr/local/bin/rclone sync'/Volumes//''myremote: