Windows
如何觸發 Windows 和 Unix 之間的跨平台作業
我有一個在 Windows 和 Unix 上具有組件的應用程序。我需要執行在兩個環境中啟動任務/作業的通宵作業。
這些需要排序,所以我不能簡單地使用 Cron / Task Scheduler。
對於每個作業,在 Windows 或 Unix 上都會有一個控制腳本,但該腳本需要在其他環境中啟動作業並檢測它們何時完成以及成功/失敗程式碼。
過去,我在 samba 共享上使用“標誌文件”實現了這一點。這可行,但需要在接收端進行“輪詢”行為,我認為這不是最佳的。
如果可能的話,我寧願不必在腳本中嵌入使用者憑據。
最後,我在 Windows 中執行控制程序,並在 Unix 中使用 PLINK 執行命令。使用 PLINK,我能夠擷取 Unix 程序生成的控制台輸出和退出程式碼,並在 Windows 中處理它們。
我設置了基於公鑰的“無密碼”身份驗證。PLINK 文件中提供了有關設置的指南。
如果您可以擺脫使用 SSH,我建議您在 Windows 機器上安裝 FreeSSHD 並以這種方式執行程序。FreeSSHD 不會複製 BASH shell,但它會給你一個 windows shell。