按照夜间计划将文件从 Windows 发送到 Unix

按照夜间计划将文件从 Windows 发送到 Unix

假设我在 Windows 服务器上有一个公共目录,例如:\\servername\location\common。白天,任何用户都可以来此向该 Windows 目录添加/删除文件。

我该如何设置夜间计划(总是晚上 9 点)来将该目录中的所有文件传输到预定义路径(不会改变)的 Unix 服务器?

我不太担心隐藏密码,因为每个人都知道。

  • 是否有一些著名的脚本可以做到这一点?
  • 如果没有的话,有谁能给我一些关于如何实现这一点的建议吗?

我对.bat 文件和 shell 有一些了解。

答案1

这可以使用 Windows 任务和 WinSCP 来完成。

首先,安装 WinSCPhttp://winscp.net/eng/index.php 安装完成后,单击新建,然后输入服务器的信息。如果您使用密钥,请找到密钥文件,否则请输入密码。单击保存。在出现的对话框中,如果您不使用密钥文件,请务必选中“保存密码”。记住您选择的配置文件名称。

接下来创建一个文件,config.txt在与安装 WinSCP 相同的位置在文件中插入以下内容,将 ** 替换为您特定内容。

option batch on
option confirm off
open *NAME OF PROFILE* synchronize local -mirror *Local path: \\servername\location\common* *Remote Path*
exit

Windows Key + R

然后输入taskschd.msc /s并单击“确定”。在打开的窗口右侧,选择“Create Task...输入名称:” Folder Auto Upload(或任何适合您的名称)

单击Triggers选项卡,然后单击New选择Daily单选按钮将列出一个时间,将时间调整为您希望上传的时间。单击OK

单击Actions选项卡,New在程序/脚本字段中输入 WinSCP.exe 的位置(或浏览到安装它的位置并选择它。),在添加参数(可选):字段中输入,/console /script=config.txt然后单击再次OK单击OK,您就全部设置好了。

答案2

我要么使用“AlwaySync”之类的免费软件通过 SFTP/SSH 发送文件。要么在远程系统上设置 ISCSI/SMB 共享,然后以此方式备份。要么安装 Cygwin,并设置 rsync 以在 cron 上备份到 Linux 服务器。

这些仅仅是让您的大脑活跃起来的概念!

答案3

您可以安装 putty,并使用 pscp 执行计划任务。如果安全性不是首要考虑因素,您可以使用 Windows 上的内置 ftp 客户端执行相同操作。

就我而言,我使用 putty 和 pscpgow unix 工具的分布

基本文件传输将是整个目录,类似于'pscp -pw password -r“path/to/source/”[电子邮件保护]:/path/to/destination/' - 这种方法存在一些问题,例如密码以纯文本形式显示

使用 pagent 会是一个更好的方法 -你必须进行设置,并且我相信用 -agent 替换 -pw 密码。

如果你想走 rsync 路线增量复制可能是一个不错的选择,它确实进行了计划的增量备份

答案4

您可以在 Windows 上共享文件夹和文件。在 Linux 上安装 Samba,挂载文件夹并在 Linux 上运行 cron 作业以将文件传输到需要的地方

相关内容