我想知道如果远程服务器上不存在目标文件夹,scp 是否会创建它。例如,这行得通吗?
scp -r /data/install/somefolder user@ftpserver.com:/data/install/somefolder
这里的文件夹 /data/install/somefolder
在 ftp 服务器上不存在,那么这个命令会创建它吗?
注意我已经阅读了有关 rsync 的信息,但还不确定它是如何工作的或如何使用它。
最佳答案
使用 ssh 和 scp(而不是 rsync)来完成任务:
解决方案
让我们分成两个步骤:
1。如果缺少则创建目录:
ssh user@ftpserver.com "mkdir -p /data/install/somefolder"
2。复制到它:
scp -r /data/install/somefolder user@ftpserver.com:/data/install/somefolder
把它们放在一起
server="user@ftpserver.com"
destiny="/data/install/somefolder"
src="/data/install/somefolder"
ssh "$server" "mkdir -p $destiny" && scp -r "$src" "$server:$destiny"
关于linux - 如果目标文件夹不存在,scp 会创建它吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12920947/