Выполнить команду в определенное время в cygwin

Выполнить команду в определенное время в cygwin

Я пишу скрипт bash (.sh) для cygwin. Хочу запустить определенную команду в определенное время.

Я попробовал следующее:

echo "test" | at 19:00

но я получаю следующую ошибку:

The AT command has been deprecated. Please use schtasks.exe instead.

Могу ли я использовать для этого только запланированную задачу в Windows?

решение1

Команда atиз Unix недоступна в Cygwin. Cygwin традиционно использовал atкоманду из Windows, но она устарела в пользу schtasks.exe.

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

(Вы можете использовать cronего и установить на определенную дату и время... но он будет повторяться каждый год, если вы не удалите задачу из crontab.) ;-)

решение2

Вместо этого вы можете добавить задание cron.

Войдите в систему как пользователь, от имени которого вы хотите выполнить bash-скрипт.

Выполнить crontab -eкоманду.

Теперь предположим, что если вы хотите запускать bash-скрипт ежедневно точно в 19:00, то вам нужно добавить такую ​​строку:

00 19 * * * /path/to/bash/script

Примечание: для этого пользователя должен быть установлен исполняемый бит.

Связанный контент