如何在 Windows 和 Unix 之间触发跨平台作业

如何在 Windows 和 Unix 之间触发跨平台作业

我有一个在 Windows 和 Unix 上有组件的应用程序。我需要运行夜间作业,在两个环境中启动任务/作业。

这些需要按顺序排列,所以我不能简单地使用 Cron/任务计划程序。

对于每项作业,在 Windows 或 Unix 上都会有一个控制脚本,但该脚本需要在其他环境上启动作业并检测它们何时完成以及成功/失败代码。

过去,我曾使用 samba 共享上的“标志文件”来实现这一点。这种方法可行,但需要接收端的“轮询”行为,我认为这不是最佳选择。

如果可能的话,我宁愿不要在脚本中嵌入用户凭据。

答案1

如果您可以使用 SSH,我建议您在 Windows 机器上安装 FreeSSHD 并以此方式执行进程。FreeSSHD 不会复制 BASH shell,但它会为您提供 Windows shell。

答案2

最后,我在 Windows 中运行控制进程,并使用 PLINK 在 Unix 中执行命令。使用 PLINK,我能够捕获 Unix 进程生成的控制台输出和退出代码,并在 Windows 中处理它们。

我设置了基于公钥的“无密码”身份验证。有关设置的指南请参阅 PLINK 文档。

相关内容