rsync:保护接收器上的非空目录
rsync: Protect non-empty directories on receiver
我正在尝试 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 标志消除该警告?
解决办法是在-f '+ */'
之前结合-m
和-f 'P */'
。这可以防止目录在接收方被删除,并且不会创建不必要的目录来存放发送的文件。
我正在尝试 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 标志消除该警告?
解决办法是在-f '+ */'
之前结合-m
和-f 'P */'
。这可以防止目录在接收方被删除,并且不会创建不必要的目录来存放发送的文件。