Що таке Windows версія cron? [зачинено]


278

Пошук Google з'явився програмне забезпечення , яке виконує ті ж функції , як хрон, але нічого , вбудований в Windows.

Я працюю під керуванням Windows XP Professional, але поради щодо будь-якої версії Windows комусь можуть бути корисними.

Чи існує також спосіб викликати цю функцію (яка заснована на відповідях називається Планувальником завдань) програмно або через командний рядок?


5
Яка функція cronвам потрібна, щоб планувальник завдань не надав?
Кріс Єстер-Янг

2
Cron надсилає електронну пошту stdout та stderr користувачеві - як це зробити в Scheduler Task?
user3450049

@ user3450049: Ви все одно можете додати завдання в розділ "Дії" для надсилання журналів поштою. Ви можете використовувати з Telnet o Sendmail відповідно до вашої зручності. Див stackoverflow.com/questions/18652001/send-mail-via-cmd-console
0zkr PM

Відповіді:


294

Для оригінального запитання про Windows XP (та Windows 7): Планувальник завдань Windows

Для використання командного рядка можна скласти графік за допомогою команди AT .

Для новіших версій ОС Microsoft Windows Server 2012 / Windows 8 подивіться утиліту командного рядка schtasks .
Якщо ви використовуєте PowerShell, командлети з плановими завданнями в Windows PowerShell створені для сценаріїв.


12
У Windows 10 at.exeзастаріле і не запускається. schtasks.exeє складним у використанні (наприклад, не працюватиме без прав адміністратора) та помиляється (наприклад, /Zкомутатор).
Властиміл Овчачик

що з Windows 7?
Тарік

@Tarik Windows 7 також підтримуватиме планувальник завдань.
Кріс Кумлер

У моїх вікнах 7 смд є AT та schtasks. Чи є різниця / уподобання? Чому обоє?
jiggunjer

7
Планувальник завдань - це такий сміттєвий вогонь шматка програмного забезпечення. Щоразу, коли я відкриваю її, є 50/50 шансів, що вона знизить частоту кадрів для всього комп’ютера до 3 кадрів в секунду, намагаючись завантажити таблицю з
Метт М.


10

Команда 'at'.

"Команди AT програмують команди та програми, які запускаються на комп'ютері у визначений час та дату. Служба" Розклад "повинна бути запущена для використання команди AT."


знецінено, використовуйте schtasks.exe.
керамат

10

Використовуйте Планувальник завдань Windows для планування завдань за часом та датами.


10

pycron - це близька відповідність для Windows. Наступні записи підтримуються:

1    Minute (0-59)
2    Hour (2-24)
3    Day of month (1-31)
4    Month (1-12, Jan, Feb, etc)
5    Day of week (0-6) 0 = Sunday, 1 = Monday etc or Sun, Mon, etc)
6    User that the command will run as
7    Command to execute

1
Це не інструменти на замовлення. Як я бачу, він перевіряє, чи відповідає поточний час вашим налаштуванням.
Мітріль

Це просто парсер, він не виконує завдання.
Kubuntuer82

8

Чи існує також спосіб викликати цю функцію (яка заснована на відповідях називається Планувальником завдань) програмно [...]?

API планувальника завдань на MSDN.


7

Найближчим еквівалентом є заплановані завдання Windows (Панель управління -> Заплановані завдання), хоча вони далекі від крону.

Найбільша відмінність (для мене) полягає в тому, що вони вимагають входу користувача у вікно Windows та облікового запису користувача (з паролем і всіма), що робить кошмар, якщо ваша локальна політика безпеки періодично потребує змін пароля. Я також думаю, що він менш гнучкий, ніж cron, що стосується встановлення інтервалів для запуску елементів.


2
Хоча cron безумовно перевершує завдання Windows, ви можете фактично використовувати обліковий запис "SYSTEM" на комп'ютерах, який не потребує пароля та має повні дозволи на локальному комп'ютері. Хоча це, очевидно, має проблеми, якщо ви використовуєте зовнішні ресурси (наприклад, спільний диск, для якого потрібні кредити домену).
Стів Бауман

@SteveBauman Ключовим словом є МІСНІ РЕСУРСИ, можливо, Windows має найкращий планувальник завдань, але якщо це завдання може працювати лише на локальних ресурсах, це на 100% марно, якщо вам потрібно зробити щось просто, як скопіювати резервну копію на локальний ПК за розкладом .
krowe2



6

Якщо ви віддаєте перевагу хороший ol 'cron, CRONw - це шлях.

Supported systems

* Windows 2000 (any version)    works
* Windows XP (SP 2)             works
* Windows Server 2003           works
* Windows NT 4 (SP 6)           should work but not tested
* Windows 3.11, Windows 95,
  Windows 98, Windows ME,
  Windows XP beneath SP2        not supported by design

1
Я спробував це, і коли я, нарешті, встановив його і спробував протестувати, все, що я отримав, було це повідомлення: We were asked to go - so I'm out finally...Будь-яка команда, яку я намагався, надіслав мені це повідомлення. WTF? Цей проект вже не активний або в чому сенс цього повідомлення ?? СПАСИБО
Метафаніель

1
@Metafaniel, у мене не було системи Windows близько 4 або 5 років, тому я насправді не йшов в ногу. Гугл та відповідь веде мене лише до цієї сторінки, і я не бачу нічого на їхньому сайті про вимкнення. Дивлячись на джерело repo sourceforge , схоже, воно не змінилося за декаду, тому мені цікаво, чи може бути якийсь конфлікт у вашій локальній системі? Враховуючи те, що минуло від останнього оновлення, я б точно сказав, що він більше не активний, хоча це дійсно дивна відповідь.
енобрев

1
@Metafaniel Я також завантажив і схопив кодову базу цього повідомлення і нічого не знайшов. Удачі з’ясовуючи, що відбувається!
Енобрев

1
@Metafaniel Як згадується у публікації, для Windows поза XP SP2 він не підтримується.
LoMaPh


2

Окрім планувальника завдань Windows, у вас також є "at" у Windows. Я не впевнений, чим він відрізняється від планувальника завдань, крім того, що він має інтерфейс командного рядка.



1
  1. Ви можете використовувати API Scheduled-Tasks в PowerShell разом із файлом config.json для введення параметрів. Я думаю, мінімальне обмеження - 5 хвилин. Зразок навчального посібника для створення дуже основних завдань із розкладу через API

  2. Ви також можете використовувати schtasks.exe через cmd. Я міг бачити обмеження хвилинного модифікатора на 1 хвилину при виконанні schtasks.exe / Create / ?. У будь-якому випадку AT зараз застаріло.

введіть тут опис зображення

У будь-якому разі я працюю над інструментом, який повинен вести себе як CRON. Я оновлю тут, якщо це буде успішним.


1

Ознайомтеся з чудовою програмою Cronical на веб- сайті https://github.com/mgefvert/Cronical

Це програма .NET, яка зчитує текстовий файл з унікс-подібними лініями cron . Дуже зручно у використанні. Він надсилатиме електронні листи, якщо stdout так само, як Unix Cron. Він навіть підтримує функціонування службового бігуна.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.