使用rsync的--files-from选项从Mac同步文件至外接硬盘时遭遇语法/用法错误的求助
使用rsync的--files-from选项从Mac同步文件至外接硬盘时遭遇语法/用法错误的求助
嘿,我来帮你排查下这个rsync的问题~ 从你贴出的错误信息和命令来看,主要是两个小细节导致的语法错误,咱们一步步来解决:
1. 命令缺少源基准目录,参数顺序不对
rsync的核心逻辑是「源 → 目标」,当你用--files-from指定要同步的文件列表时,必须告诉rsync这些文件的源根目录——毕竟你backup.txt里的都是绝对路径(比如/Users/carlerik/...),rsync需要知道从哪里开始找这些文件。
你原来的命令只写了目标路径,漏掉了源的基准目录(这里就是Mac的根目录/),所以rsync直接抛出了语法错误。修正后的命令应该是:
rsync -vv --files-from=backup.txt / /Volumes/Seagate\ Expansion\ Drive/2022-12-27-imac-backup/
2. 通配符需要额外选项才能被解析
注意到你backup.txt里有一行/Users/carlerik/Pictures/dronebilder*,用了通配符*来匹配多个文件。但在你用的rsync 2.6.9这个旧版本里,--files-from列表里的通配符默认不会被rsync识别,得加上--wildcards选项让它解析这些通配符:
rsync -vv --wildcards --files-from=backup.txt / /Volumes/Seagate\ Expansion\ Drive/2022-12-27-imac-backup/
额外测试建议
怕误操作的话,可以先加--dry-run选项做模拟同步,不会实际修改文件,能帮你确认命令是否正确:
rsync -vv --dry-run --wildcards --files-from=backup.txt / /Volumes/Seagate\ Expansion\ Drive/2022-12-27-imac-backup/
另外,你文件里有带特殊字符的路径(比如Øvelser.ptflow),rsync默认应该能处理,但如果遇到编码问题,你可以试试加--iconv=utf-8-mac,utf-8选项适配Mac的字符编码(不过这个版本的rsync可能支持性一般,先试试前面的修正再说)。
备注:内容来源于stack exchange,提问作者oligofren
相关产品推荐
相关产品推荐

