Должен ли я сохранить файл crontab в / tmp?

Я ssh на сервер и хочу добавить некоторые ежедневные задания (особенно для обновления билетов 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 -e открывает файл в / tmp вместо фактического crontab, чтобы он мог проверить ваш новый crontab за ошибки и предотвратить переписывание вашего фактического crontab с этими ошибками. Если ошибок нет, ваш фактический crontab будет обновлен. Если crontab -e просто написал прямо к вашему фактическому crontab, тогда вы рискуете, что все ваши cronjobs не смогут работать из-за ошибки синтаксиса в вашем новом crontab.

sudoedit , visudo , vipw и т. д. действуют по тому же принципу.

Не беспокойтесь, ваш фактический crontab живет в энергонезависимом месте на диске.

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

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

Если домашний каталог перемещается в другую систему, часто crontab из каталога спула не сопровождает его, если ваш системный администратор не учитывает это. Также нет / var / spool всегда резервное копирование или восстановление, когда необходимо переделать систему.

Поэтому снова рекомендуется, чтобы копия вашего crontab хранилась под вашим домашним каталогом.

Используйте свой любимый редактор (pico, vi, emacs и т. Д.) Для редактирования ~ / .crontab, а затем используйте crontab, чтобы применить его к / var / spool / crontabs. Как это:

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

Если вам нравятся псевдонимы, вы можете заставить их работать.