Назад | Перейти на главную страницу

Как запускать кроссплатформенные задания между Windows и Unix

У меня есть приложение, в котором есть компоненты для Windows и Unix. Мне нужно запускать ночные задания, которые запускают задачи / задания в обеих средах.

Их нужно упорядочить, поэтому я не могу просто использовать Cron / Task Scheduler.

Для каждого задания будет управляющий сценарий либо в Windows, либо в Unix, но этот сценарий должен будет инициировать задания в другой среде и определять, когда они завершены, и код успеха / отказа.

Раньше я добивался этого, используя «файлы флагов» на общей папке samba. Это сработало, но потребовало «опросного» поведения на принимающей стороне, которое я не считаю оптимальным.

Я бы предпочел не встраивать учетные данные пользователя в скрипт, если это возможно.

Если вы можете обойтись без использования SSH, я бы посоветовал установить FreeSSHD на машине Windows и выполнять процессы таким образом. FreeSSHD не копирует оболочку BASH, но предоставляет оболочку Windows.

В конце концов, я запустил процесс управления в Windows и использовал PLINK для выполнения команд в Unix. Используя PLINK, я смог захватить вывод консоли и коды выхода, сгенерированные процессом Unix, и обработать их в Windows.

Я установил аутентификацию на основе открытого ключа без пароля. Руководство по настройке находится в документации PLINK.