从远程到本地的 RSYNC 排除文件夹

从远程到本地的 RSYNC 排除文件夹

如何从远程服务器下载到本地(不包括文件夹或文件)?

我曾经使用过类似的东西,但排除不起作用......

rsync -avr -P -e ssh --exclude=/path/to/exclude/* user@ipaddress:/home/path/to/copy /home/user/www

有什么建议吗?

答案1

这里的问题很可能出在excludersync 中的过滤器中的路径上。

rsync 文件列表中使用的路径是相对的到 SOURCE 路径。

如果你的目录结构是

 /home/path/to/copy
                | files_to_copy
                     | file1
                     \ file2
                \ files_to_exclude
                     | file3
                     \ file4

然后如果你发出命令

rsync -avr -e ssh user@host:/home/path/to/copy \
                 /home/user/www --exclude='files_to_exclude/*'

您将在副本中获得以下结构

 /home/user/www
             | files_to_copy
                  | file1
                  \ file2
             \ files_to_exclude

如果您不想复制该files_to_exclude目录,您可以使用以下命令:

rsync -avr -e ssh user@host:/home/path/to/copy \
                 /home/user/www --exclude='files_to_exclude'

答案2

我们使用类似的东西

filename=`date +%F`_backup
rsync --verbose --log-file=/backup_logs/"$filename" --progress --stats --compress --rsh=/usr/bin/ssh --recursive --times --perms --links --delete --exclude '*.zip' user@remoteMachine:/data/documents/ /local/data/documents/

相关内容