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

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

这些需要sorting,所以我不能简单地使用Cron / Task Scheduler。

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

在过去,我使用samba共享上的“标记文件”实现了这一点。 这工作,但要求在接收端“轮询”的行为,我不认为最佳。

如果可能的话,我不希望在脚本中embedded用户凭据。

如果你可以逃避使用SSH,我会build议在Windows机器上安装FreeSSHD并以这种方式执行进程。 FreeSSHD不会复制BASH shell,但它会给你一个Windowsshell。

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

我设置了基于公钥的“无密码”身份validation。 关于设置的指导在PLINK文档中。