【问题标题】:Newby question: how could I write a program/script to automatically copy directories to a remote computer?新手问题:我如何编写程序/脚本来自动将目录复制到远程计算机?
【发布时间】:2009-10-13 21:49:27
【问题描述】:

首先,我非常尊重程序员和 IT 专业人士。我是新手/想成为。我正在寻求有关开发小程序/脚本的帮助,以帮助我完成下面详细介绍的任务。我不会将此作为家庭作业提交。这与工作有关,但我不是要你做我的工作。我借此机会通过执行我需要完成的任务来了解更多关于编程的知识。您可能提供的任何代码都会有所帮助,但我对核心概念、步骤以及您对如何最好地解决此任务的建议(哪些工具、语言等)非常感兴趣

这是我所拥有的: XP 机器(本地和远程) 批处理文件的一些基础知识 Visual Basic 2008 Express 的一点点经验 一点点 C++ 经验(并拥有 Code Blocks 编译器)

这是我想做的:

每个周一至周五的午夜,我都想要一台我将设置并可以访问的异地机器 (#1) 1.从休眠中唤醒 2. 通过 ftp 连接或 Internet 从办公室(将打开)的选定机器 (#2) 复制(或 xcopy)目录 (\Server\remoteBackup) 及其所有内容到异地机器 (C:\远程备份) 3. 将“successfulCopy.txt”文件放在另一台选定的机器 (#3) (\machine3\log) 上。每个“successfulCopy.txt”文件都应该检查是否存在“successfulCopy.txt”,如果存在,将新文件重命名为“successfulCopy(2).txt”或其他。 4. 回到休眠状态(在完成时或在计时器上)

这基本上是一个远程备份系统。你怎么认为?如果您以某种方式命名它们,那么您提供的任何想法都会非常有帮助,如果我有其他问题,我可以通过谷歌搜索您的答案以了解更多信息。感谢您提供的任何帮助。我想这样做是因为我想这样做,没有其他原因。

【问题讨论】:

    标签: vb.net ftp batch-file scheduled-tasks remote-backup


    【解决方案1】:

    rsync 就是为此而生的。您可以安装cygwin (How to install Cygwin with Rsync)。然后你可以启动“cron”调度程序(How to start cron in Cygwin),它应该像馅饼一样容易......不幸的是,对于馅饼的人在所有这些东西方面都有经验的馅饼的价值。好吧,如果你有兴趣,你可以做上面的,但它对新手不友好,我不得不承认。

    您可能可以使用批处理文件来完成所有工作:无需使用实际的编程语言。我会使用 7zip 之类的东西来打包目录...7zip 是命令行友好的,并且具有“更新”功能,通过允许增量“备份”可以为您节省大量时间。

    然后,一旦你有了文件,你就可以使用命令行友好的 FTP 程序(如WinSCP)将文件发送到你喜欢的地方。将这两者放在一起,您将得到一个 2 行的批处理文件,但您仍然需要唤醒机器。

    【讨论】:

      【解决方案2】:

      #1 嗯...在控制面板的“任务”部分中计划工作就可以了。

      #2 xcopy 有几个选项,例如 /S 和 /Q 等,甚至还有一个仅用于获取较新文件的选项。由于我不再有任何 Windows,因此我目前无法检查。 xcopy 支持 UNC 路径,但如果我是对的,ftp 不起作用。您可以尝试使用符号ftp://user:pass@ftp.host.com:port/folder/file.txt 写入某个位置

      #3 可以使用echo "" > successfulCopy.txt 创建文件,并且文件现有的功能/特性也应该存在于 Windows-Shell 中。

      #4 休眠可以通过调用带有特殊参数的shutdown.exe来实现。在这里,您可以通过在 cmd 窗口中输入 shutdown /? 来查看参数列表。

      这意味着 Windows .bat 文件足以完成您的工作。也许您想用 VB-Script 编写它,这需要更多的工作,但也应该这样做。

      祝你好运。

      【讨论】:

        【解决方案3】:

        过去我使用 Windows 实用程序:robocopy。但现在您可以使用 Google 云端硬盘了。

        【讨论】:

          猜你喜欢
          • 2010-11-26
          • 1970-01-01
          • 2018-02-15
          • 1970-01-01
          • 2012-07-09
          • 2018-03-12
          • 1970-01-01
          • 1970-01-01
          • 2015-08-05
          相关资源
          最近更新 更多