我正在尝试将一个文件从服务器 X rsync 到服务器 Y。在服务器 Y 中,有一个挂载目录 /mnt/myDir,我正尝试将该文件同步到该目录。目标也是保留文件的完整路径。
我正在尝试这样做:
sudo -u www-data rsync -avz /var/www/dms/test/test.tif [email protected]:/mnt/myDir/var/www/dms/test/test.tif
但这会引发以下错误:
sending incremental file list
rsync: change_dir#3 "/mnt/myDir/var/www/dms/test" failed: No such file or directory (2)
rsync error: errors selecting input/output files, dirs (code 3) at main.c(643) [Receiver=3.0.9]
rsync: connection unexpectedly closed (241 bytes received so far) [sender]
rsync error: error in rsync protocol data stream (code 12) at io.c(226) [sender=3.1.0]
答案1
该错误是由于您尝试同步到远程端不存在的目录而引起的。
您有以下几种可能:
- 首先在目标目录上创建目录
mkdir /mnt/myDir/var/www/dms/test
(在远程端),然后发出rsync
命令 - 详细说明一下,如果您需要传输整个
/var/www
目录,则需要创建远程/mnt/myDir/var/www
目录并发出类似于sudo -u www-data rsync -avz /var/www/ [email protected]:/mnt/myDir/var/www
- 或者,你可以指示
rsync
它为你完成整个工作,使用-R
(--relative
)选项并发出一些内容。在这种情况下,请务必阅读sudo -u www-data rsync -avzR /var/www/dms/test/test.tif [email protected]:/mnt/myDir/
手册页可能-R
会产生一些意想不到的副作用。