Crontab один раз в день в Ubuntu 12.04 [дубликат]

У этого вопроса уже есть ответ здесь: Как настроить работу Cron? 6 ответов

Я установил VPS с Ubuntu 12.04, и теперь я хочу запускать cronjob один раз в день.

Командная строка выглядит следующим образом:

    mono /root/Folder/Aplication.exe

Я посмотрел и осмотрелся в Интернете, но, похоже, не понял, как это сделать. Я, например, хочу запустить эту команду каждые 24 часа в полночь.

Заранее благодарю за чтение моего вопроса и, конечно, за все ответы.

1
задан 8 January 2017 в 21:52

1 ответ

Вы запускаете запланированные задания в Ubuntu (и других Linux) с помощью cron. Важно помнить о cron, что есть «таблицы пользователя cron» и «системные таблицы cron».

Если вы хотите, чтобы ваше приложение выполнялось в контексте пользователя, его относительно просто: войдите в систему как пользователь и запустите crontab -e. Вы попали в редактор, где вы вручную отредактируете таблицу cron.

Под пользовательской cron-таблицей у вас есть 6 полей:

<minute> <hour> <day-of-month> <month> <day-of-week> <command ...>

Поле разделено пробелами, кроме " command ", который продолжается до конца строки (с некоторыми оговорками). Прочитайте man 5 crontab для деталей gory.

Чтобы запускать что-то каждый день, вам может понадобиться выбрать время, а затем запрограммировать его в первые два поля, оставив все остальные поля в виде звездочки (т.е. «ничего» идет "). Таким образом, выражение

1 2 * * * mono /root/Folder/Aplication.exe

будет запускать ваше моно приложение каждый день (каждый день каждого месяца, независимо от дня недели - это 3 звездочки) в 2:01 утра (первые два поля) .

Теперь, поскольку я вижу, что вы установили приложение в /root, я предполагаю, что вы захотите запустить это приложение в качестве системного приложения, что также имеет смысл при настройке сервера в VPS в любом случае. Система crontab очень похожа на пользовательский crontab, за исключением того, что хранится в файле в каталоге /etc, и у него есть дополнительное поле, определяющее, под каким пользователем вы хотите его запустить, что, вероятно, будет root. Таким образом, выражение может выглядеть так:

1 2 * * * root mono /root/Folder/Aplication.exe

, и вы, вероятно, захотите поместить это в новый файл, который вы создадите в /etc/cron.d/ - возможно /etc/cron.d/myapp (обратите внимание, что расширение отсутствует - это специально). В разделе /etc/ есть несколько других файлов и каталогов crontab, которые могут быть действительно полезны для таких вещей, как ежедневные прогоны, такие как /etc/cron.daily - читать их на странице man-файла crontab, на которую я ссылался выше.

] Примечания

Не запускайте Ubuntu 12.04 - его супер устаревший. Лучше попробуйте 16.04 Checkout Crontab.Guru для всех ваших потребностей в использовании crontab.
1
ответ дан 23 May 2018 в 02:37
  • 1
    Вместо того, чтобы ссылаться на устаревание 12.04, я хотел бы вместо этого указать, что поддержка 12.04 заканчивается через несколько месяцев – Thomas Ward♦ 8 January 2017 в 23:09

Другие вопросы по тегам:

Похожие вопросы: