新手问题:如何自动将文件复制到远程计算机?

新手问题:如何自动将文件复制到远程计算机?

首先,我对程序员和 IT 专业人士怀有最大的敬意。我是新手/想成为新手的人。我正在寻找帮助来开发一个小程序/脚本,以帮助我完成下面详述的任务。我并不是把这当作家庭作业来提交。这与工作有关,但我并没有要求你做我的工作。我把这当作一个机会,通过完成我需要完成的任务来学习更多关于编程的知识。你提供的任何代码都会有所帮助,但我对核心概念、步骤以及你关于如何最好地完成这项任务的建议非常感兴趣(使用哪些工具、语言等)

这是我所拥有的:XP 机器(本地和远程)

  • 批处理文件的一些基础知识
  • 有一点使用 Visual Basic 2008 Express 的经验
  • 有一点 C++ 经验(并且有 Code Blocks 编译器)
  • 具备相当的 XP 工作知识

这是我想要做的:

每周一至周五的午夜,我需要一台异地机器(#1),我可以设置它并可以访问它

  1. 从休眠状态唤醒
  2. 通过 ftp 连接或互联网将办公室(将处于开启状态)中选定的计算机(#2)的目录(\Server\remoteBackup)及其所有内容复制(或 xcopy)到异地计算机(C:\remoteBackup)
  3. 将“successfulCopy.txt”文件放在另一台选定的机器 (#3) (\machine3\log) 上。每个“successfulCopy.txt”文件都应检查是否存在“successfulCopy.txt”,如果存在,则将新文件重命名为“successfulCopy(2).txt”或其他名称。
  4. 重新进入休眠状态(完成或定时)

这基本上是一个远程备份系统。你的想法是什么?如果你能以一种让我可以在 Google 上搜索答案的方式列出你提供的任何想法,那么这些想法将非常有帮助。如果你能提供任何帮助,我将不胜感激。我想这样做是因为我想这样做,没有其他原因。

答案1

无法帮助您解决休眠方面的问题,但对于复制文件,请查看scp基于密钥的登录。

为了保留成功复制文件的旧版本,您应该能够使用ssh在远程端运行命令来执行此操作。

您可能还想研究一下 cygwin;它将为您提供帮助ssh,并可bash能使您更轻松地完成您想做的事情。

答案2

我写了一篇长文,我发誓我已经发布了它,但是……嗯。

您将需要进行某种归档:它将使您的生活变得轻松很多。我推荐 7zip;它是一款免费的 zip 实用程序,具有强大的命令行界面。编写一行 7zip 命令来归档和压缩整个目录树非常容易,并且它还支持归档的“更新”选项,因此它不必每次都打包每个文件,而只需更新已更改的文件即可……这应该可以节省大量时间。

获得存档后,您需要将其发送到某个地方。我推荐 WinSCP;它是一个免费的 FTP/SFTP 客户端,具有良好的命令行/脚本支持。那里的脚本界面非常强大。

将这两者结合起来,您就可以编写一个简单的 DOS 批处理文件来运行必要的命令。快速、简单、有效。

尽量避免重新发明轮子的诱惑。这是一个很好的教训。有些人已经花了很多时间组装你可以使用的零件。

答案3

这并非您所要求的,但我只想使用众多可用的文件复制程序之一。我自己使用 Second Copy。

答案4

  1. 唤醒现场机器 - 在该机器上安排一项任务(任何任务)以将其唤醒。更多信息请访问 -https://web.archive.org/web/1/http://articles.techrepublic%2ecom%2ecom/5100-10878_11-6073491.html

  2. 需要在源 (mput)/目标 (mget) 机器上创建 FTP 脚本,并使用计划任务调用。您可以在线找到 FTP 脚本的示例。事实上,您也可以安排 FTP GUI 客户端来执行此操作,方法是将作业保存在其中。

  3. 可以使用上述脚本/ftp gui 客户端完成

  4. 您可以安排“shutdown.exe -h”或“psshutdown.exe -h”来执行此操作。

为了方便起见,将以上所有内容包含在通过单个计划任务触发的批处理文件中。

hth 的

相关内容