【问题标题】:scp, inconsistency for file structure preservationscp,文件结构保存不一致
【发布时间】:2016-11-13 06:57:12
【问题描述】:
  • 我的任务:从多台服务器收集日志文件。
  • 服务器文件结构:“/remote/path/dir/sub-dirs/files.log”,其中 在所有服务器上都是一样的。 (所有服务器都有相同的集合 “子目录”,可能会缺席,当然还有“files.log”名称 不同)
  • 本地文件结构:“/local/path/logs”
  • 复制后我想拥有 "/local/path/logs/dir/sub-dirs/files.log"
  • 方法(在服务器循环中):scp -r $SERVERS:/remote/path/dir /local/path/logs
  • 问题:由于我不明白的原因,第一个 scp 命令 忽略“dir”文件夹,我得到“/local/path/logs/sub-dirs/files.log” 但是遵循 scp 命令给了我我想要的 "/local/path/logs/dir/sub-dirs/files.log"
  • 为什么会发生这种情况,我应该如何解决/解决它?

谢谢!

【问题讨论】:

    标签: bash scp directory-structure


    【解决方案1】:

    为什么会发生这种情况 [...]

    在命令scp -r path/to/source dest:

    • 如果dest 不存在,将创建dest 目录,并将path/to/source/* 复制到其中。例如,如果您有 path/to/source/X,则将创建 dest/X
    • 如果dest 是一个目录,那么dest/source 将被创建,path/to/source/* 将被复制到其中。例如,如果您有 path/to/source/X,则将创建 dest/source/X

    [...] 我应该如何修复/绕过它?

    提前创建dest,例如:

    mkdir -p /local/path/logs
    scp -r $SERVERS:/remote/path/dir /local/path/logs
    

    【讨论】:

    • 感谢您帮助一个菜鸟,Janos。问题现已解决。
    猜你喜欢
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 2015-08-28
    • 2022-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多