Вікна є кілька способів для автоматизації завдань. Найбільш поширеним інструментом є планувальник завдань для Windows, але якщо ви за допомогою Windows, Subsystem для Linux (WSL) , Є також Хроні демон, який біжить завдання у фоновому режимі для вашого WSL установки.
Крон не запущені за замовчуванням
У Windows 10 і Windows 11, хроном поставляється в комплекті з Linux середовищами, такими як Ubuntu. Біда в тому, що WSL не починається Хроні автоматично, а це означає, що ваші автоматизовані завдання не отримують за замовчуванням виконується.
Щоб виправити це, ви могли б почати Хроні вручну кожен раз, коли ви відкриваєте командний рядок, але вручну запустивши інструмент, який, як передбачається автоматизувати завдання є своїм родом відсутніх точок.
На щастя, є простий спосіб, щоб виправити це, і це вимагає використання планувальника завдань.
Якщо ви ніколи не використовували Хроні в Linux для задач пробігу, перевірити наш попередній підручник з як планувати завдання на Linux . Для наших цілей тут, ми будемо вважати, що ви вже створили кілька хрон робочих місць у вашому WSL встановити і що вам потрібна допомога, переконавшись, що вони працюють замість няні хрон весь час.
Для цього уроку ми будемо використовувати
служба Судо
перевірити і запустити хрон, який є рекомендованим способом зупинки і запуску служб на сучасних збірках Ubuntu-найбільш популярного дистрибутива для WSL.
Крім того, зверніть увагу, що це керівництво передбачає, що у вас є права адміністратора на вашу версію WSL. Якщо ви єдиний користувач вашого комп'ютера і ви включили WsL самостійно, то у вас є права адміністратора.
Порада: це працює Windows, Subsystem для Linux на Windows 11 Теж, а не тільки на Windows 10.
Пов'язані: Як запланувати завдання на Linux: Вступ до файлів Crontab
підготовка Linux
Перше, що ми повинні зробити, це дозволити комп'ютеру запустити Хроні без пароля. При запуску служби, як Хроні, можна використовувати команду
Судно запуск послуги хрон
. Але ця команда вимагає пароль, Windows, не матиме доступ до при запуску. Спосіб обійти це відключити вимога пароля для цієї команди.
Щоб зробити це, відкрийте вікно терміналу WsL і введіть
суд visudo
. Хіт Enter на клавіатурі, ввести пароль для Linux, і знову натисніть клавішу Enter. Якщо ви використовуєте Ubuntu, це відкриває файл «sudoers», використовуючи новачок
Nano текстовий редактор командного рядка
.
Sudoers
файл для системних адміністраторів, які можуть змінити привілеї і права доступу для користувачів.
Додайте наступну команду в нижній частині файлу sudoers, а потім натисніть Ctrl + O, щоб зберегти і Ctrl + X, щоб вийти з файлу.
% Sudo ALL = NOPASSWD: старт хрон / USR / SBIN / послуги
Ця команда sudoers каже, що будь-який користувач, який має досить привілеїв, щоб використовувати команду Судо (яка повинна включати в вас) не вимагається пароль для запуску команди
Судно запуск послуги хрон
, Який запускає демон cron.
Після того як ви зберегли файл, ви можете перевірити, що команда виконує свою роботу, набравши
Судно запуск послуги хрон
, І він повинен почати Хроні без запиту пароля. Якщо це працює, давайте повернути Хроні знову, так що ми можемо перевірити, що завдання, яке ми створюємо в наступному кроці працює належним чином. Щоб зробити це, будь ласка, запустіть
Судно служба хрон зупинки
.
Set Up Cron в планувальник завдань Windows
Це перший етап нашого шляху до автоматизації хрон. Давайте перейдемо до частини 2 з планувальником завдань. Натисніть кнопку Windows, на клавіатурі, а потім шукати «Планувальник завдань». Запуск «Планувальник завдань» ярлик.
При запуску, подивіться в розділі «Дії» і виберіть «Створити просту задачу.»
Відкриється майстер Basic Task. По-перше, він збирається попросити вас назвати задачу і дати йому опис. Ви можете ввести все, що ви хочете тут. Ми назвали завдання «Хроні», і опис, «Завдання для запуску хрон при запуску системи.» Тепер, натисніть «Next».
У наступному розділі ми приступимо до справи. По-перше, Windows хоче знати, коли ми хочемо, щоб виконати завдання. Виберіть перемикач «при завантаженні комп'ютера» і натисніть кнопку «Далі».
У наступному розділі ми хочемо «запустити програму.» Цей варіант обраний за замовчуванням, тому натисніть кнопку «Далі».
Тепер ми повинні вказати програму, яку ми хочемо запустити, який WSL. Введіть друге в поле введення тексту «Програма / Script»:
C: \ Windows \ System32 \ wsl.exe
Нам також необхідно додати деякі аргументи, так як все, що ми робили досі, це почати WsL, але всередині WSL, ми повинні сказати Ubuntu для запуску хрон. Так, в поле «Додати аргументи», додайте:
Суд / USR / SBIN / служба запуск хрон
Хіт «Next» ще один раз, встановіть прапорець з написом «Відкрити діалогове вікно властивостей Коли я натисніть кнопку Готово», а потім натисніть кнопку «Готово».
Завдання створюється, але ми повинні зробити одну річ остаточне, щоб переконатися, що все працює. У новому вікні відкриється, який показує зведення задачі, яку ви створили, але це тільки набір для запуску, коли ви увійшли в систему. Нам потрібно вибрати перемикач, який говорить «Run чи користувач авторизований чи ні», а потім натисніть кнопку «OK».
Тепер, давайте перевіримо нашу задачу двома способами. По-перше, в головному вікні планувальника завдань, перейдіть, поки не побачите ваше ім'я завдання. Якщо ви використовували назву «Хроні," він повинен бути знайдений до верхньої частини списку. Клацніть правою кнопкою миші завдання і виберіть пункт «Виконати».
Потім поверніться до терміналу WSL і введіть
Статус служби хрон Суди
І він повинен сказати, що Хроні працюють. Якщо це не так, двічі перевірте, що ви ввели все правильно в попередніх кроках.
Якщо все працює належним чином в першій перевірці, прийшов час для великого випробування. Перезавантажте комп'ютер, і коли ви повернетеся, відкрити WsL термінал і запустити
Статус служби хрон Суди
, Який повинен повідомити, що Хроні тепер працюють.
Вітаємо! Ви зробили свій перший крок в більший, автоматизованому світі. З хроном працює у фоновому режимі, то cronjobs, які ви налаштуєте в WSL буде автоматично запускатися за розкладом.