我有一个文件夹列表,其中一些是 git 存储库。为了备份它,我尝试了以下rsync
命令:
LANG=EN_us.UTF-8 rsync -ravdhHP --delete --files-from=rsyncFolders.txt --ignore="node_modules" --ignore="vendor" --include .git --exclude-from="$(if [ `git ls-tree -d --name-only master SRC | wc -l` -eq 1 ]; then git -C SRC ls-files --exclude-standard -oi --directory > .git/ignores.tmp && echo .git/ignores.tmp; fi)" --exclude node_modules --exclude vendor . "/media/pcmagas/79B56D48414DEE1B/pcmagas"
我有一个文件夹要备份在一个名为的文件上rsyncFolders.txt
,并具有以下内容:
folder_a
folder_b
somefile_txt
code
在该code
文件夹中存在一些.git
存储库,并且其中有很多junk
文件和文件夹,以便我想避免将其保存到我的备份中。所以我的备份逻辑如下:
- 如果文件夹是
.git
存储库,则不要保留.gitignore
d 文件 - 如果没有,则忽略任何
*.class
文件,以防存在一些 java 文件。 (一些已经被玩过的示例代码片段) - 任何情况下都不要备份任何 php 或 javascript
node_modules
项目。vendor
当我运行上面的命令时,出现以下错误:
fatal: Not a git repository (or any of the parent directories): .git
rsync: --ignore=node_modules: unknown option
rsync error: syntax or usage error (code 1) at main.c(1572) [client=3.1.1]
你知道怎么做吗?