Чи виконується завдання, заплановане на crontab, навіть коли я виходжу?


12

Я додаю якусь роботу у файл crontab на сервері.

  • Коли я вийду з роботи, і сервер все ще ввімкнеться, чи все ще буде виконуватися завдання?

  • Чи має значення я створити екран або tmux сеанс і запустити в ньому якусь оболонку та від'єднати її перед виходом?

Відповіді:


22

cronце процес, який розглядає заплановані завдання, незалежно від того, увійшли ви чи ні. Не потрібно проводити сеанс на екрані чи tmux, оскільки демон cron буде виконувати заплановані завдання в окремих оболонках.

Див man cronі man crontabдля деталей.


Коли я вийду з системи, який користувач буде запускати та володіти роботою, запланованою в crontab? Якщо це не я, чи може це спричинити певну потенційну проблему?
Тім

1
Це залежить від того, який кронтаб ви редагували. Якщо ви редагуєте crontab користувача, записи виконуються як цей користувач. Якщо ви редагували файл / etc / crontab, користувач часто визначається між інтервалом та командою, наприклад: "17 * * * * root cd / && run-parts --report /etc/cron.hourly". Крім того, це також залежить від платформи, яку ви використовуєте. Ubuntu використовує інший крон, ніж, наприклад, Solaris
Ламберт

Я використовую ubuntu. Що таке "crontab користувача"? У "crontab користувача" я можу також вказати, який користувач буде виконувати заплановану роботу?
Тім

1
Відповідно до man crontabUbuntu, файл crontab користувача знаходиться в /var/spool/cron/crontabs. Але будьте обережні, керівництво також говорить, що ці файли не призначені для прямого редагування. Ви повинні використовувати crontab -eз контексту користувача або crontab -e -u usernameз кореневим користувачем, щоб редагувати crontab користувача.
Ламберт

1
слід зауважити, що користувачі crontabs часто вимагають, щоб домашня папка цього користувача була змонтована для виконання корисної роботи. це може бути проблемою, якщо користувачі зашифрували домашні папки, розшифровані під час входу (наприклад, із програмами encryptfs). зашифровані будинки рідше зустрічаються у серверних сценаріях.
init_js
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.