我正在尝试rsync
我的项目文件夹到服务器,其中包括各种源代码等。
rsync "$GOPATH/src/" -rm \
-f '+ */' \
-f '+ *.go' \
-f '+ *.s' \
-f '+ *.html' \
-f '+ *.js' \
-f '+ *.css' \
-f '+ fonts/*' \
-f 'P */' \
-f '- *' \
myserver:its/gopath/src/
我想删除多余的代码,并尽可能避免在接收器上创建目录。但是,通过提供-m
,--prune-empty-directories
选项,我会收到有关接收器上的目录不为空的警告。
*deleting github.com/anacrolix/jitter/.git/hooks/
cannot delete non-empty directory: github.com/anacrolix/jitter/.git
cannot delete non-empty directory: bitbucket.org/anacrolix/go-utils/bin
*deleting bitbucket.org/anacrolix/go-utils/bin/
如何避免尝试删除这些目录,或通过rsync标志压制该警告?
答案 0 :(得分:0)
解决方案是在 -m
之前合并-f 'P */'
和-f '+ */'
。这样可以保护目录不被接收方删除,并且不会创建不必要的目录以容纳发送的文件。