2
假设您将文件夹f_1
从本地机器复制到目标机器m_1
并将其作为mf_1
复制到/tmp
目录中。net :: scp复制/覆盖文件夹
console:
[[email protected]_1 tmp] ls -a | grep mf_1 # => doesn't exist
irb:
options = {recursive: true}
Net::SCP.upload!(host, user, '~/f_1', '/tmp/mf_1', options)
console:
[[email protected]_1 tmp] ls -a | grep mf_1 # => folder exists, everything is fine
# but then, if you try to overwrite the existing folder...
irb:
Net::SCP.upload!(host, user, '~/f_1', '/tmp/mf_1', options)
console:
[[email protected]_1 tmp] ls -a | grep mf_1 # => folder exists
[[email protected]_1 tmp] cd mf_1
[[email protected]_1 m_f1] ls # => f_1 => /tmp/mf_1/f_1
所以,与其mf_1
不被覆盖夹复制的/tmp/mf_1
内,造成/tmp/mf_1/f_1
。
的问题是非常简单的,如何保留行为,因此它是一致的,并呼吁
Net::SCP.upload!(host, user, '~/f_1', '/tmp/mf_1', options)
连续两次将采取同样的方式既当文件夹是否存在不?
您应该考虑使用SFTP而不是SCP如果你能。 – Kenster
@Kenster,你能举个例子吗? – ted