Я установил VPS с Ubuntu 12.04, и теперь я хочу запускать cronjob один раз в день.
Командная строка выглядит следующим образом:
mono /root/Folder/Aplication.exe
Я посмотрел и осмотрелся в Интернете, но, похоже, не понял, как это сделать. Я, например, хочу запустить эту команду каждые 24 часа в полночь.
Заранее благодарю за чтение моего вопроса и, конечно, за все ответы.
Вы запускаете запланированные задания в 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.