bash - 如何从 rsync 目标路径中删除 /Volume
问题描述
我正在尝试类似于时光机的备份,网上很多例子都不完整。我正在尝试执行相对路径 -R 但目标包含 /Volume 并将其隐藏,因此在手动取消隐藏文件夹之前我看不到备份。我也在使用 -R ,因此将创建不存在的目录。目的地是包含稀疏包的 USB 闪存驱动器。
源/卷/驱动器/文件夹目标/卷/USBBackup
我尝试放入我的 filter.txt 文件: H /Volumes/* 包含和不包含此 /Volume 并隐藏。
rsync -avHAXNR --fileflags --force-change --numeric-ids --protect-args --stats --progress --filter="._$FILTER" --exclude-from="$EXC" --link -dest="/Volume/USBBackup/$PREVDIR" "/Volume/Drive/Folder" "/Volume/USBBackup/name-timestamp/" 2> ~/Desktop/rsync-errors.txt
备份的是 /Volume/USBBackup/name-timestamp/Volume/Drive/Folder 隐藏卷。我想要的是 /Volume/USBBackup/name-timestamp/Drive/Folder 不隐藏。
解决方案
您是否考虑过在运行该任务时将工作目录更改为 /Volume?
您应该能够执行以下操作:
(cd /卷;rsync 驱动器/文件夹)
或者你可以:
OLDPWD=$(pwd)
cd /Volumes
rsync Drive/Folder /Volumes/USBBackup....
cd $OLDPWD
推荐阅读
- python - 使用 os 模块时文件不会被删除
- javascript - 如何确定 Node.js 的执行顺序?
- android - 3D 模型是否必须通过使用 ARCore 的应用程序编译?
- php - PHP 网页无法找到连接变量
- internet-explorer - 我的引导卡在 Internet Explorer 中过度拉伸
- node.js - Mongo DB 4.0 Transactions with Mongoose & NodeJs, Express
- c++ - 静态存储类 C++ 计数
- python - 如何使用 for 循环实例化类列表?
- php - Laravel 应用程序可以在本地运行,但不能在 Heroku 上远程运行
- python - 在 gedit 中打开一个文本文件