Чи потрібно зберегти файл crontab в / tmp?


11

Я сшу на сервер і хочу додати кілька щоденних завдань (зокрема, щоб поновити квитки на Kerberos, навіть коли я виходжу з системи і все ще хочу, щоб мої програми на екрані або tmux продовжували працювати) до cron. Тому я запускаю crontab -eі додаю наступне,

00 00 * * * kinit -R
00 12 * * * kinit -R

Коли я зберігаю його, мене редактор запитує:

File Name to Write: /tmp/crontab.HMpG7V 

Хіба це не те, що файли в /tmpможна видалити ОС? Особливо після виходу з сервера?

Де я зберігатиму файл crontab? Чи можу я зберегти файл crontab в $ HOME або в кращому просторі?


Чи можу я зберегти файл crontab під $ HOME? Для чого мені потрібна символьна посилання?
Тім

Відповіді:


15

crontab -eвідкриває файл у / tmp замість фактичного crontab, щоб він міг перевірити ваш новий crontab на помилки та не допустити перезапис вашої фактичної crontab на ці помилки. Якщо помилок немає, то ваш фактичний літопис буде оновлений. Якщо ви crontab -eпросто написали прямо на свій фактичний crontab, тоді ви ризикуєте не виконати всі ваші кронштейни через синтаксичну помилку у вашому новому Crontab.

sudoedit, visudo, vipwІ т.д. працюють за тим же принципом.

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


де з часом зберігається мій файл crontab? Якщо я вийду із сервера, що буде з моїм файлом crontab? (Я не адміністратор і не маю кореневого доступу до сервера)
Тім

1
ваш фактичний кронтаб проживає десь у /var/spool(як правило), але ви ніколи не слід торкатися власного кронтабу і ніколи не потрібно - використовувати crontab -eзамість цього. Ви, мабуть, не маєте потрібного рівня доступу для редагування необробленого файлу crontab.
jayhendren

якщо ви вийдете з системи, з вашим літочином нічого не відбудеться. він не живе в / tmp.
jayhendren

(1) Чи файл crontab для окремого користувача або для всіх користувачів? (2) Як я можу перевірити, чи працює моя редагування у файлі crontab?
Тім

crontabs на кожного користувача. щоб перевірити, чи працює ваш cronjob, ви можете перевірити журнали cron. зазвичай в /var/log/cron.log, але це можуть бути й інші місця.
jayhendren

5

/tmpде записаний тимчасовий файл crontab. Після збереження та виходу з нього crontabвнесе зміни до іншого, більш відповідного каталогу у вашій системі (як правило, за адресою /var/spool/cron, якщо я пам'ятаю правильно). Тож, не хвилюйтесь, операційна система може видалити / tmp, але це ніколи не забере ваші кронт-вкладки.


1

Файли Crontab містяться в / var / spool / cron / crontabs / під своїм ім'ям користувача або ідентифікатором користувача. Оскільки можуть виникнути ситуації, коли розташований тут crontab більше не підключений до вашого облікового запису входу, рекомендується зберегти його копію в домашній каталог, скажімо, /home/userid/.crontab, щоб ви могли легко відновити її, якщо вам потрібно до. Це також дозволяє вам поставити його під контроль редагування, якщо хочете.

Якщо ваш домашній каталог переміщений до іншої системи, часто його не супроводжує кроronна таблиця із каталогу котушок, якщо ваш системний адміністратор не враховує це. Також / var / spool завжди не створюється резервна копія чи відновлення, коли систему потрібно переробляти.

Тому знову рекомендується, щоб копія вашого crontab зберігалася під домашнім каталогом.

Використовуйте улюблений редактор (pico, vi, emacs тощо) для редагування ~ / .crontab, а потім скористайтеся crontab, щоб застосувати його до / var / spool / crontabs. Подобається це:

% pico ~/.crontab; crontab ~/.crontab

Якщо вам подобаються псевдоніми, ви можете змусити його запустити замість цього.


1
Чи потрібно щось робити, щоб файл crontab в моєму будинку заміняв файли crontab в іншому місці?
Тім

Просто запустіть "crontab ~ / .crontab", і ви застосуєте його до одного в / var / spool / cron / crontabs. Використовуйте pico, emacs або vi для редагування ~ / .crontab перед рукою, щоб вносити будь-які зміни.
JonathanS

Це фактично не відповідає на питання.
ніхто

@AndrewMedico: Основним питанням здавалося: "Де я зберігатиму файл crontab? Чи можна зберегти файл crontab у $ HOME або в кращому просторі?" Або ви посилаєтесь на питання Тіма в коментарі тут?
JonathanS
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.