(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Разворачиваем cron в Windows

Источник: habrahabr
deko

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

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


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

При сохранении задания планировщик предупредил, что для указанного пользователя нужно разрешить"Вход в качестве пакетного задания". Для этого предлагается изменить политику безопасности. Однако сделать это не удалось, так как в "домашней" версии Windows нет оснастки для управления политикой безопасности (буду благодарен за подсказку альтернативного решения).
От запутанного конфигурирования стало как-то совсем грустно и захотелось мне иметь такой же простой и понятный инструмент как cron…

Cronизация Windows


Установка cron на Windows оказалась вполне реализуемой затеей. Я не стал искать специальной версии cron для Windows (поделитесь, если кто знает), а обратился сразу к Cygwin. Кроме стандартного пакета, я выбрал:

С пакетом cron всё понятно. Пакет cygrunsrv позволяет запускать разные программы как службы. После установки Cygwin можно переходить к конфигурированию cron.

Конфигурирование службы сron в Windows


Теперь переходим к самому ответственному шагу. Запускаем "Cygwin Terminal" с правами администратора и набираем команду:
> 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]

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

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 20.08.2012 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Microsoft 365 Apps for business (corporate)
Microsoft Office 365 Персональный 32-bit/x64. 1 ПК/MAC + 1 Планшет + 1 Телефон. Все языки. Подписка на 1 год.
Microsoft 365 Business Standard (corporate)
Microsoft Office 365 Бизнес. Подписка на 1 рабочее место на 1 год
Microsoft Windows Professional 10, Электронный ключ
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Безопасность компьютерных сетей и защита информации
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Microsoft Access
CASE-технологии
СУБД Oracle "с нуля"
Новости мира 3D-ускорителей
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100