无法让 rsync 在 rsync 路径参数中接受 `mkdir -p` (--parents)?
Cannot get rsync to accept `mkdir -p` (--parents) in rsync-path argument?
我在 rsync - create all missing parent directories? :
这样的帖子里看到过
rsync -aq --rsync-path='mkdir -p /tmp/imaginary/ && rsync' file user@remote:/tmp/imaginary/
我想 - 太好了,让我试试看:
$ rsync -aP --remove-source-files --rsync-path="mkdir -p /home/pi/ARCHIVE/2020/01/24 && rsync" a1.test a1.json a1.pdf /home/pi/ARCHIVE/2020/01/24/
sending incremental file list
rsync: mkdir "/home/pi/ARCHIVE/2020/01/24" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(675) [Receiver=3.1.2]
嗯,当然 mkdir "/home/pi/ARCHIVE/2020/01/24" failed
- 但我没有发布 mkdir
,我发布了 mkdir -p
!
那么为什么rsync忽略了这个呢?我应该为它设置任何其他设置吗?或者 rsync-path 可以严格用于 ssh 连接(这里不是这种情况)?
--rsync-path
仅适用于远程机器:
--rsync-path=PROGRAM specify the rsync to run on remote machine
这是因为您在进行本地复制时不需要调用 rsync
的第二个实例。复制将简单地由您 运行 的过程完成。
由于技术上是 you 在目标机器上调用 rsync,因此 you 应该添加 mkdir .. &&
rsync
前面:
mkdir -p /home/pi/ARCHIVE/2020/01/24 &&
rsync -aP --remove-source-files a1.test a1.json a1.pdf /home/pi/ARCHIVE/2020/01/24/
我在 rsync - create all missing parent directories? :
这样的帖子里看到过rsync -aq --rsync-path='mkdir -p /tmp/imaginary/ && rsync' file user@remote:/tmp/imaginary/
我想 - 太好了,让我试试看:
$ rsync -aP --remove-source-files --rsync-path="mkdir -p /home/pi/ARCHIVE/2020/01/24 && rsync" a1.test a1.json a1.pdf /home/pi/ARCHIVE/2020/01/24/
sending incremental file list
rsync: mkdir "/home/pi/ARCHIVE/2020/01/24" failed: No such file or directory (2)
rsync error: error in file IO (code 11) at main.c(675) [Receiver=3.1.2]
嗯,当然 mkdir "/home/pi/ARCHIVE/2020/01/24" failed
- 但我没有发布 mkdir
,我发布了 mkdir -p
!
那么为什么rsync忽略了这个呢?我应该为它设置任何其他设置吗?或者 rsync-path 可以严格用于 ssh 连接(这里不是这种情况)?
--rsync-path
仅适用于远程机器:
--rsync-path=PROGRAM specify the rsync to run on remote machine
这是因为您在进行本地复制时不需要调用 rsync
的第二个实例。复制将简单地由您 运行 的过程完成。
由于技术上是 you 在目标机器上调用 rsync,因此 you 应该添加 mkdir .. &&
rsync
前面:
mkdir -p /home/pi/ARCHIVE/2020/01/24 &&
rsync -aP --remove-source-files a1.test a1.json a1.pdf /home/pi/ARCHIVE/2020/01/24/