Как запускать кроссплатформенные задания между Windows и Unix
У меня есть приложение, которое имеет компоненты на Windows и Unix. Мне нужно запускать ночные задания, которые запускают задания / задания в обеих средах.
Они должны быть упорядочены, поэтому я не могу просто использовать Cron / Task Scheduler.
Для каждого задания будет существовать управляющий сценарий в Windows или Unix, но этот сценарий должен будет инициировать задания в другой среде и определять, когда они завершены, и код успеха / сбоя.
В прошлом я добивался этого, используя "файлы флагов" на общем ресурсе samba. Это сработало, но требовало поведения "опроса" на принимающей стороне, которое я не считаю оптимальным.
Я бы предпочел не включать учетные данные пользователя в сценарий, если это возможно.
2 ответа
В конце я запустил процесс управления в Windows и использовал PLINK для выполнения команд в Unix. Используя PLINK, я смог захватить коды вывода и выхода консоли, сгенерированные процессом Unix, и обработать их в Windows.
Я установил аутентификацию "без пароля" на основе открытого ключа. Руководство по настройке находится в документации PLINK.
Если вы можете обойтись без использования SSH, я бы предложил установить FreeSSHD на компьютер с Windows и выполнить процессы таким образом. FreeSSHD не копирует оболочку BASH, но дает оболочку Windows.