Развертывание Cron В Windows

Стандартный планировщик Windows является мощным, но я столкнулся с проблемой, которая не позволяла мне легко использовать его в домашней версии Windows. Мне пришлось установить в систему настоящий cron. Я ни капельки об этом не жалею! Как я к этому пришел, и что я из этого извлек под катом.



Пользователь без прав

Все началось с того, что я захотел запланировать задачу.

Каждую минуту нужно было выполнять простой cmd-скрипт, который готовил среду и запускал некий Python-скрипт. Так как машина, на которой выполняется задача, не является основной рабочей, то выполнять задачу приходилось даже тогда, когда пользователь не был авторизован в системе.

Для этого был выбран следующий режим:

Развертывание cron в Windows

При сохранении задания планировщик предупредил, что указанному пользователю необходимо разрешить «Войти как пакетное задание» .

Для этого предлагается изменить политику безопасности .

Однако сделать это не удалось, так как в «домашней» версии Windows нет оснастки для управления политикой безопасности ( Буду благодарен за подсказку альтернативного решения ).

Запутанная конфигурация меня очень расстроила, и мне захотелось иметь такой же простой и понятный инструмент, как cron.

Кронизация Windows

Установка cron на Windows оказалась вполне осуществимой идеей.

Я не стал искать специальную версию cron для Windows ( поделитесь пожалуйста, если кто знает ), и сразу обратился к Сигвин .

Помимо стандартного пакета я выбрал:

Развертывание cron в Windows

С cron-пакетом все понятно.

Пакет cygrunsrv позволяет запускать различные программы в качестве служб.

После установки Cygwin можно переходить к настройке cron.

Настройка службы cron в Windows

Теперь перейдем к самому важному шагу.

Запустите терминал Cygwin с правами администратора и введите команду:

  
  
  
   

> cron-config Cron is already installed as a service under account LocalSystem. Do you want to install the cron daemon as a service? (yes/no) yes Enter the value of CYGWIN for the daemon: [ ] ntsec Do you want to start the cron daemon as a service now? (yes/no) yes

Вы можете прочитать больше о ntsec Здесь .

Готовый.

Вы можете давать задания.

Если служба не запускается, попробуйте запустить ее вручную:

> net start cron

Теперь откройте crontab и запишите задачи (по умолчанию vi):

> crontab.exe -e

Загрузить задачу можно через echo:

> echo "*/5 * * * * /cygdrive/c/crons/task.bat" >> C:\cygwin\var\cron\tabs\[Username]

Теперь перезагрузите компьютер и посмотрите, как чудесно выполняются задачи без входа в систему.

Теги: #Windows #Системное администрирование #cron #cygwin

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.