使用无密码验证的 scp

使用无密码验证的 scp

无密码验证的 scp 工作正常,但如果删除源上的文件,则不会复制该文件,即目标目录不会完全替换为源目录。我可以看到新文件或修改已正确复制。

scp -r /user/local/img [email protected]:/user/local/img

答案1

scp 只是一个复制工具,所以如果您必须使用 scp,您唯一真正的选择是先清空目标目录树。

或者,您可能应该考虑使用 rsync,它将使用您现在的无密码设置在 ssh 上运行,并且具有许多优点(它可以复制删除,仅传输更改的数据,因此复制速度更快,并且可以在传输过程中压缩数据)。如果您将命令更改为此命令,您应该会得到想要的结果(尽管请先进行测试以确保它 100% 确定它能满足您的要求!):

rsync -avz --del /user/local/img [email protected]:/user/local/img

答案2

scp工作原理与标准非常相似cp- 它会复制您要求复制的内容。上面的命令表示它应该将本地文件夹复制/usr/local/img/usr/local/img远程服务器上;如果远程文件夹已经存在,那么它将复制到/usr/local/img/img

答案3

scp 与 cp 非常相似,如果源文件已被删除,scp 不会删除目标文件。如果您想保持源目录和目标目录同步,那么 rsync 是最佳选择。

rsync -avz --delete /user/local/img [email protected]:/user/local/img

你也可以通过 ssh 使用 rsync

rsync -avz -e ssh --delete /user/local/img [email protected]:/user/local/img

相关内容