Я 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 живет в энергонезависимой папке на диске.
источник
/var/spool
(обычно), но вы никогда не должны касаться своего фактического crontab, и вам никогда не нужно, либо - используйтеcrontab -e
вместо этого. Вероятно, у вас нет прав доступа для редактирования необработанного файла crontab./tmp
где временный файл crontab записывается в. После сохранения и выходаcrontab
изменения будут зафиксированы в другом, более подходящем каталоге в вашей системе (обычно в/var/spool/cron
, если я правильно помню). Так что не волнуйтесь, операционная система может удалить ваш / tmp, но он никогда не уберет ваши crontabs.источник
Файлы Crontab находятся в / var / spool / cron / crontabs / под своим именем пользователя или идентификатором пользователя. Так как могут возникнуть ситуации, когда расположенный здесь crontab больше не подключен к вашей учетной записи, рекомендуется сохранить копию в домашнем каталоге, например, /home/userid/.crontab, чтобы вы могли легко восстановить ее, если вам нужно к. Это также позволяет вам поставить его под контроль версий, если хотите.
Если ваш домашний каталог перемещен в другую систему, часто crontab из каталога спула не сопровождает его, если ваш системный администратор не примет это во внимание. Кроме того, / var / spool не всегда резервируется и не восстанавливается, когда необходимо выполнить повторную настройку системы.
Итак, еще раз, рекомендуется, чтобы копия вашего crontab хранилась в вашем домашнем каталоге.
Используйте ваш любимый редактор (pico, vi, emacs и т. Д.) Для редактирования ~ / .crontab, а затем используйте crontab, чтобы применить его к / var / spool / crontabs. Нравится:
Если вам нравятся псевдонимы, вы можете сделать так, чтобы они запускались.
источник