我尝试了以下命令:
rsync -v --include-from=/path/to/list.lst /home/user /path/to/backup
list.lst
例如包含
.gnupg/
.pki/
.gnome2/keyrings/
.mozilla/firefox/*.default/bookmarkbackups/
.mozilla/firefox/*.default/bookmarks.html
.mozilla/firefox/*.default/*.db
.mozilla/firefox/*.default/*.sqlite
我在所有字符串上都遇到错误:
失败:没有该文件或目录
当我使用--files-from
它时,我也遇到了错误。有人能帮我使用通配符吗?
答案1
您可以使用包含过滤器和--include-from
:使用 rsync 进行复杂的包含/排除
或者你可以使用 find 命令:
cd
rsync -v --files-from <(find gnupg/ .pki/ .gnome2/keyrings/ \
.mozilla/firefox/*.default/bookmarkbackups/ \
.mozilla/firefox/*.default/bookmarks.html .mozilla/firefox/*.default/*.db \
.mozilla/firefox/*.default/*.sqlite) \
~ /path/to/backup
答案2
我认为您可能需要添加--recursive
选项并使用--files-from
。
答案3
我认为您的文件名list.lst
必须以以下形式开头+
或-
类似:
- *.o
- foo/
+ *.exe
+ 123/456/*
答案4
确保行末/path/to/list.lst
没有空格。我不知道为什么rsync
对此如此敏感。