Назад | Перейти на главную страницу

Редактировать cron файл вручную - это плохо?

Обычно ему предлагается вводить новые задания cron через командные строки; но мне было проще (с лучшим контролем текущих задач cron) вручную редактировать (в текстовом редакторе) файл cron пользователя, например /var/spool/cron/crontabs/root.

Опасно ли редактировать файл в текстовом редакторе?

Комментарии в файле по умолчанию сбивают с толку. В первой строке говорится

# DO NOT EDIT THIS FILE - edit the master and reinstall.

Но в четвертой строке говорится

# Edit this file to introduce tasks to be run by cron.

Если вы измените пользовательский файл в crontabs, он должен работать. Однако следует учитывать два момента:

  1. Если вы ошиблись при вводе записи cron в файле, вы не будете предупреждены об использовании crontab -e команда.
  2. Вы не можете редактировать свой пользовательский файл прямо в crontabs без входа в систему как root или с помощью sudo. Вы получите ошибку отказано в разрешении.

редактировать

Еще одно замечание. Когда вы редактируете файл напрямую, вы можете получить предупреждение от текстового редактора, если вы дважды открыли файл (два пользователя имеют доступ к одному и тому же файлу). Однако список cron будет перезаписан при использовании crontab -e из двух разных сеансов оболочки одного и того же пользователя. Это еще одна разница.

Если я правильно понимаю, вы редактируете файл вручную с помощью текстового редактора, потому что вы не хотите использовать crontab -e. Я предполагаю, что это потому, что он использует vi в качестве редактора, а вы с ним не знакомы.

Вы меняете crontab -e (и другие вещи, для которых нужен редактор), чтобы использовать более знакомый редактор nano, запустив

export EDITOR=nano

перед

crontab -e

Вы можете сделать nano постоянным редактором по умолчанию, отредактировав файл ~ / .bash_profile, включив в него export EDITOR=nano в конце.

Чтобы ответить на ваш вопрос, вы не должны редактировать файл напрямую, потому что он может быть перезаписан без вашего ведома. Четвертая строка говорит то, что написано, потому что она исходит из crontab, который вы должны редактировать вручную (это будет первая строка).

export VISUAL=vi

Это правильный способ изменить редактор для crontab.