我正在将一个网站从远程服务器复制到另一个服务器,并且我有
SOURCE SERVER
/var/www/vhosts/namesiteA.com
/FolderA
/FolderB
DESTINATION SERVER
/var/www/vhosts/namesiteB.com
运行以下 bash 后:
#!/bin/bash
SOURCE="[email protected]:/var/www/vhosts/namesiteA.com/"
DESTINATION="/var/www/vhosts/namesiteB.com/"
sshpass -p "<source_server_pass>" scp -p -r "$SOURCE" "$DESTINATION"
工作正常,但我期望:
DESTINATION SERVER
/var/www/vhosts/namesiteB.com
/FolderA
/FolderB
instead I get:
/var/www/vhosts/namesiteB.com
/namesiteA.com
/FolderA
/FolderB
答案1
使用新的基于 SFTP 的协议,您需要在源目录路径上scp
添加尾随:.
SOURCE="[email protected]:/var/www/vhosts/namesiteA.com/."
不幸的是,如果您使用的是旧版本scp
,则使用旧版本scp
,和它足够新,可以通过修复来更新CVE-2018-20685,尾随点将破坏副本。看scp:错误:意外的文件名