Вам также необходимо установить, cygrunsrv
чтобы вы могли настроить cron как службу Windows, а затем запустить cron-config
.
Если вы хотите, чтобы задания cron отправляли электронное письмо с любым выводом, вам также необходимо установить либо exim
или ssmtp
(перед запуском cron-config
).
Подробнее /usr/share/doc/Cygwin/cron-*.README
см.
Что касается программ без .exe
расширения, они, вероятно, представляют собой сценарии оболочки какого-либо типа. Если вы посмотрите на первую строку файла, вы увидите, какую программу вам нужно использовать для их запуска (например, « #!/bin/sh
»), так что вы, возможно, сможете выполнить их из планировщика Windows, вызвав программу оболочки (например, « C:\cygwin\bin\sh.exe -l /my/cygwin/path/to/prog
». )
can't switch user context
даже если явный запрос был сделан НЕ на использование других учетных записей. Переключение учетной записи с cron на cygwin, по-видимому, ОБЯЗАТЕЛЬНО. Вы должны сказать НЕТ бегу от себя ...cronevents
команду для просмотра событий (из журнала событий Windows). Их никогда не выбрасывают, я бы обрезал поленья каждые несколько месяцев.У вас есть два варианта:
Установите cron как службу Windows, используя cygrunsrv:
Файлы 'non .exe', вероятно, являются сценариями bash, поэтому вы можете запустить их через планировщик Windows, вызвав bash для запуска сценария, например:
источник
наконечник шляпы http://linux.subogero.com/894/cron-on-cygwin/
Запустите cygwin-setup и добавьте пакет «cron» из категории «Администратор».
Мы запустим cron как службу пользователем SYSTEM. Плохая СИСТЕМА поэтому нуждается в домашнем каталоге и оболочке. Их определит файл «/ etc / passwd».
Запуск службы:
Теперь локальные пользователи могут определять свои запланированные задачи следующим образом (crontab запустит ваш любимый редактор):
Пользователи домена : не работает. Бедный cron не может запускать запланированные задачи от имени пользователей домена на машине. Но есть другой способ: cron также запускает то, что находится в таблице cron на системном уровне в «/ etc / crontab». Так что вставьте туда свой суфф, чтобы SYSTEM сделала это от своего имени:
Напоследок несколько слов о записях crontab. Это либо настройки среды, либо запланированные команды. Как видно выше, в Cygwin лучше всего создать пригодный для использования PATH. Домашний каталог и оболочка обычно берутся из «/ etc / passwd».
Что касается столбцов запланированных команд, см. Страницу руководства.
Если определенные записи crontab не запускаются, лучший диагностический инструмент - это:
источник
Просто хотел добавить, что параметры cron, похоже, изменились. Необходимо использовать -n вместо -D.
источник
Применил инструкции из этого ответа, и это сработало. Просто чтобы указать на более
точную копию, например, ответ (поскольку процедура установки cygwin является своего рода реализацией защиты от копирования и вставки). Нажмите кнопку WinLogo, введите cmd.exe, щелкните его правой кнопкой мыши, выберите " Начать как администратор ». В командной строке:
Убедитесь, что установщик не выдает никаких ошибок в командной строке ... Если это так - у вас, вероятно, запущены какие-то двоичные файлы cygwin, или вы не являетесь администратором Windows, или какая-то странная ошибка ...
Теперь в cmd promt:
или любой другой полный путь к файлу cygrunsrv.exe и запустите cron как службу Windows в командной строке
Теперь в терминале bash запустите crontab -e
настройте запись в cron, как показано ниже:
источник
Я понял, как запустить службу Cygwin cron автоматически, когда я вошел в Windows 7. Вот что у меня сработало:
Используя Блокнот, создайте файл
C:\cygwin\bin\Cygwin_launch_crontab_service_input.txt
с содержимымno
в первой иyes
второй строке (без кавычек). Это два ваших ответа на запросыcron-config
.Создать файл
C:\cygwin\Cygwin_launch_crontab_service.bat
с содержимым:Добавьте в папку автозагрузки Windows ярлык для следующего:
Cygwin_launch_crontab_service.bat
См. Http://www.sevenforums.com/tutorials/1401-startup-programs-change.html, если вам нужна помощь по добавлению в Startup. Кстати, вы можете при желании добавить их в автозагрузку, если хотите:
Cygwin
Сервер XWin
Первый выполняет
а второй выполняет
источник
Правильный синтаксис для установки cron в cygwin в качестве службы Windows - передать -n в качестве аргумента, а не -D :
cygrunsrv --install cron --path / usr / sbin / cron --args -n
-D возвращает ошибку использования при запуске cron в cygwin:
$
$ cygrunsrv --install cron --path / usr / sbin / cron --args -D
$ cygrunsrv - запустить cron
cygrunsrv: ошибка запуска службы: QueryServiceStatus: ошибка Win32 1062:
Служба не запущена.
$ cat /var/log/cron.log
cron: unknown option - D
использование: / usr / sbin / cron [-n] [-x [ext, sch, proc, parc, load, misc, test, bit]]
$
На странице ниже есть хорошее объяснение.
Установка и настройка службы Cygwin Cron в Windows: https://www.davidjnice.com/cygwin_cron_service.html
PS Мне пришлось запустить Cygwin64 Terminal на моем ПК с Windows 10 от имени администратора, чтобы установить cron как службу Windows.
источник
источник