
Я пишу скрипт 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
Примечание: для этого пользователя должен быть установлен исполняемый бит.