AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / computer / 问题 / 1725233
Accepted
crumblycloth
crumblycloth
Asked: 2022-06-08 11:47:15 +0800 CST2022-06-08 11:47:15 +0800 CST 2022-06-08 11:47:15 +0800 CST

如何使用 samba 共享将文件从 Windows 传输到 Linux 服务器?

  • 772

我在工作中面临噩梦。一位负责我将在下面描述的事情的同事把这个责任交给了我,现在已经离开了组织。我没有做这些事情的经验。请原谅我缺乏知识和冗长的问题-我不确定要包含/遗漏哪些信息。

背景

我们从第三方获取一些数据,这些数据被发送到 postgres 服务器,然后被带入 linux 服务器,其中一些 shell 脚本进行一些转换。然后组合数据集,然后将其发送到我们使用的数据分析工具。该过程使用 cron 自动执行。

但是,每年,我们都需要手动更新 linux 服务器上的一些元数据 csv 文件[这些文件与使用 shell 脚本的 3rd 方数据相结合]。

文件夹结构:

下面是 linux 服务器文件夹结构的样子 [使用 PuTTY 访问]:

  • 另一个项目
  • 另一个项目
  • 我的项目
  • 另一个项目

〜/我的项目>

  • shell_scripts
  • 采购文件
  • 元文件
  • 组合文件

~/meta_files>

  • 2019.csv
  • 2020.csv
  • 2021.csv

我需要做什么

我需要做的是在 meta_files 文件夹中添加一个名为2022.csv的文件。我的本地系统上有该文件。在我同事的移交文件中,他只是说“使用 samba 共享将文件复制到 linux”。我找到了 samba 共享位置并将其设置在我的 Windows 资源管理器中。它的地址如下所示:\\smb.comp.com\prod。这里有各种各样的文件夹。

我怀疑我必须将2022.csv文件放在 samba 共享中的某个位置,然后使用 PuTTY 在 linux 服务器上运行命令。但是,我不知道把它放在哪里以及运行什么命令。

对于这么长的问题和过多的描述,我再次道歉。任何有关如何将 2022.csv 文件放到 linux 上的帮助将不胜感激。如果需要任何其他信息,请告诉我。非常感谢。

linux putty
  • 1 1 个回答
  • 474 Views

1 个回答

  • Voted
  1. Best Answer
    user1686
    2022-06-08T11:58:06+08:002022-06-08T11:58:06+08:00

    如果您已经在使用 SSH 访问 Linux 服务器,则可以反过来——通过 SFTP 连接到 Linux 服务器以直接上传文件。通常,所有接受 SSH 的服务器也接受 SFTP 连接。

    • PuTTY 带有pscpandpsftp命令(可以使用您现有的 SSH 密钥和一切)。

      C:\> pscp 2022.csv user@yourserver:~/my_project/meta_files/2022.csv
      
    • 最近的 Windows 版本带有内置的 OpenSSH,带有scp和sftp命令。它们的用法类似于 pscp/psftp。

    • WinSCP 是一个很好的图形化 SFTP 客户端,但也有一个批处理 CLI 模式 ( winscp.com) 和一个用于自动化的 .NET 程序集。

    • 对于手动 GUI 使用,我认为 Bitvise 也有 SFTP。FileZilla 也可以。

    但是,如果 Linux 服务器必须从 SMB 共享中提取文件 – 将它放在任何您想要的位置,然后使用 Linux SMB 客户端来访问它。有几个,例如:

    • smbclient来自 Samba的命令。适合一次性工作,但不适合自动化:

      $ smbclient //smb.comp.com/prod -U someuser
      smbclient> get 2022.csv
      
    • 内核级smb3和cifs挂载。自动化的好选择,但首次设置需要 Linux 系统上的 root 权限。

      $ sudo mount -t smb3 //smb.comp.com/prod /mnt/thesmbserver [options...]
      $ cp -av /mnt/thesmbserver/2022.csv ~/my_project/meta_files/
      $ sudo umount /mnt/thesmbserver
      

      (如果 SMB 共享不支持 SMB3,请使用旧cifs类型。)

    • 使用“python-smbprotocol”模块的自定义 Python 脚本。适合自动化:

      import os
      import shutil
      import smbclient
      import time
      
      thisyear = time.strftime("%Y")
      remote = r"\\smb.comp.com\prod\%s.csv" % thisyear
      local = os.path.expanduser("~/my_project/meta_files/%s.csv" % thisyear)
      
      with smbclient.open_file(remote, "rb") as remote_fh:
          with open(local, "wb") as local_fh:
              shutil.copyfileobj(remote_fh, local_fh)
      

    (我们有几个 Linux cronjobs 使用 python-smbprotocol 将文件复制到Windows 服务器,然后使用 python-pypsrp 在这些 Windows 系统上远程运行命令。)

    • 1

相关问题

  • 如何让我的 Linux 机器看起来像是在运行 Windows?

  • 对于 cp 或 mv,是否有等同于 cd - 的东西?

  • 以 root 身份运行 docker 容器

  • 如何在域和 Linux 活动目录中启用指纹传感器

  • 如何在CentOS 7 中将Ctrl+C 永久更改为Ctrl+K?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何减少“vmmem”进程的消耗?

    • 11 个回答
  • Marko Smith

    从 Microsoft Stream 下载视频

    • 4 个回答
  • Marko Smith

    Google Chrome DevTools 无法解析 SourceMap:chrome-extension

    • 6 个回答
  • Marko Smith

    Windows 照片查看器因为内存不足而无法运行?

    • 5 个回答
  • Marko Smith

    支持结束后如何激活 WindowsXP?

    • 6 个回答
  • Marko Smith

    远程桌面间歇性冻结

    • 7 个回答
  • Marko Smith

    子网掩码 /32 是什么意思?

    • 6 个回答
  • Marko Smith

    鼠标指针在 Windows 中按下的箭头键上移动?

    • 1 个回答
  • Marko Smith

    VirtualBox 无法以 VERR_NEM_VM_CREATE_FAILED 启动

    • 8 个回答
  • Marko Smith

    应用程序不会出现在 MacBook 的摄像头和麦克风隐私设置中

    • 5 个回答
  • Martin Hope
    Saaru Lindestøkke 为什么使用 Python 的 tar 库时 tar.xz 文件比 macOS tar 小 15 倍? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh 如何减少“vmmem”进程的消耗? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Windows 10 搜索未加载,显示空白窗口 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 为什么通过电缆(同轴电缆)的千兆位/秒 Internet 连接不能像光纤一样提供对称速度? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    andre_ss6 远程桌面间歇性冻结 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney 为什么在 URL 后面加一个点会删除登录信息? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension 鼠标指针在 Windows 中按下的箭头键上移动? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca 我所有的 Firefox 附加组件突然被禁用了,我该如何重新启用它们? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK 是否可以使用文本创建二维码? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 更改 git init 默认分支名称 2019-04-01 06:16:56 +0800 CST

热门标签

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve