【问题标题】:Bat/Shell file copy to Unix/WindowsBat/Shell 文件复制到 Unix/Windows
【发布时间】:2011-03-02 08:27:09
【问题描述】:

我的任务是编写一个脚本来完成一些任务,其中之一是将一些文件从本地机器复制到服务器目录。 现在这不完全是我的专业领域,所以我想知道是否有人可以给我一些建议/指点。

他们给了我以下要求: 1) 相同的脚本需要能够复制到 Windows 和 Unix 机器 2)不应修改任何文件(例如.rhost) 3) 用于 Windows 机器的 Bat 文件,用于 Unix 机器的 Shell 脚本

如果我从命令行读取目标机器是否是 Windows/Unix 都没有关系,所以 if/else 是可能的。

但我不知道如何在不必修改 rhost 文件的情况下开始使用它,因此欢迎任何输入。

【问题讨论】:

  • 服务器运行的是什么操作系统?你可以在上面安装任何软件吗?你可以在客户端上安装任何软件吗? (还有,.rhosts?亲爱的 $deity,人们还在使用它吗?)
  • 服务器如何“连接”到您的本地计算机? FTP? Windows 共享? HTTP?运动鞋网?
  • “服务器”上的操作系统(也许目标更合适):Unix、Linux(Suse) 或 Windows XP。和“连接”:相同的内部网络。只要我遵循这些指示,我将如何做。

标签: windows shell unix scripting batch-file


【解决方案1】:

只要它是内部网络(= 除了安全假设)我会在服务器端设置一个 FTP 服务器并在客户端使用ncftp 连接到服务器。

【讨论】:

  • 会是一个不错的解决方案,但在每台开发人员机器上设置 FTP 服务器可能是个问题。
  • @Jack 恕我直言,如果不在开发人员机器上做任何事情,它就无法工作,因为每台机器通常都受到外部访问的保护。你到底想做什么?您要复制什么样的文件?
  • 复制一些 jar 文件,可能需要查看将 scp 命令添加到 windows 的应用程序。我认为这是最有可能被允许的。
  • Jar 文件?您想更新 Java 应用程序吗?那么 Java webstart 怎么样?
【解决方案2】:

您可以使用scpsftp(用于文件传输的SSH 工具)之类的东西吗?它们是跨平台的,但您需要在传输目的地设置密钥和 SSH 服务器。

【讨论】:

  • 问题是它也应该在本地开发者机器上工作,所以设置SSH服务器似乎不可行。
  • @Jack:你不知道在 Linux 系统上设置 SSH 是多么容易。
  • 这很容易,但我和一些非常懒惰的人一起工作,他们已经抱怨必须改变一件事。
【解决方案3】:

从任何到任何:

  • CIFS,又称 Windows 文件共享。内置于 Windows;在 Linux 上需要 samba 服务器或 smbclient 客户端。易于配置。
  • FTP - Windows 带有一个可编写脚本的ftp 工具,Linux 上也有类似的工具。但是,对于单文件上传,curl 更容易使用。
  • WebDAV:可以像 CIFS 共享一样从 Windows 访问,并且两种操作系统都存在服务器软件(带有 mod_dav 的 Apache2)。

从任何到 Linux:

  • SFTP,通过 SSH 协议运行。 PuTTY SSH 客户端带有两个 SFTP 客户端,psftppscp。在 Linux 上,通常会默认安装服务器(OpenSSH)。

    (存在 Windows SSH 服务器,但是...我不喜欢它们。我什至不知道为什么。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-12-13
    • 2014-06-12
    • 2013-07-19
    • 2015-07-17
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多