Рейтинг:0

crontab возвращает ошибку использования: разрешена только одна операция

флаг ru

У меня есть два компьютера с Ubuntu 18.04 LTS. Они были созданы из одного и того же базового образа Linux. Недавно я обнаружил, что в одном из двух ящиков я не могу использовать crontab для просмотра или редактирования таблиц cron отдельных пользователей.

ServerB выдает эту ошибку как любой пользователь, включая root:

$ кронтаб -л
crontab: ошибка использования: разрешена только одна операция
использование: файл crontab [-u user]
        crontab [-u пользователь] [-i] {-e | -л | -р }
                (операция по умолчанию — замена согласно 1003.2)
        -e (редактировать пользовательский crontab)
        -l (вывести список пользовательских crontab)
        -r (удалить пользовательский crontab)
        -i (запрашивать перед удалением пользовательского crontab)

Я сначала подумал, что запущенный процесс может заблокировать cron, но проблема осталась после полной перезагрузки сервера.

Изучение этого в Интернете указывает только на то, что некоторые администраторы решили перекомпилировать crontab, чтобы убрать флаг «удалить». Здесь такого НЕ было.Эта команда crontab поставляется с операционной системой и идентична команде на рабочем сервере.

В чате тоже нет сообщений /var/журнал/системный журнал или в /var/журнал/cron.log чтобы показать, почему это может не сработать. кронтаб -е или же кронтаб -л оба возвращают ошибку выше.

Это /usr/bin/crontab как с рабочего, так и с проблемного сервера. Идентичные даты и размеры.

-rwxr-sr-x 1 root crontab 39352 16 ноября 2017 г. /usr/bin/crontab
-rwxr-sr-x 1 root crontab 39352 16 ноября 2017 г. /usr/bin/crontab

$ diff -s crontab.serverA crontab.serverB
Файлы crontab.serverA и crontab.serverB идентичны

Наконец, разрешения и права собственности идентичны на обоих серверах для /var/spool/cron путь и файлы.

Я мог бы просто добавить любые записи в файл /etc/crontab для выбранного пользователя, но просто пытаюсь понять, почему эта ошибка появляется в первую очередь. Есть ли какой-то файл блокировки, оставленный где-то, который может вызвать это?

флаг hr
У вас есть псевдоним `crontab`? что говорит `тип crontab`?
S. Nixon avatar
флаг ru
Вот оно. Спасибо, стальной водитель. Я даже не думал искать такое.
Рейтинг:1
флаг ru

Благодаря @steeldriver за комментарий о просмотре настроек псевдонима я смог обнаружить, что кто-то добавил эту строку в /etc/profile:

псевдоним crontab='crontab -l'

Некоторым из наших операторов нравится создавать ярлыки (например, псевдоним df='df -h'), и это определенно было для меня новым, поскольку мы никогда раньше не использовали этот псевдоним. Конечно же, удаление псевдонима решило проблему. Я также подтвердил, что если вы дважды повторяете один и тот же флаг, это вызывает сообщение об ошибке и отображение использования.

$ кронтаб -л -л
crontab: ошибка использования: разрешена только одна операция
использование: файл crontab [-u user]
        crontab [-u пользователь] [-i] {-e | -л | -р }
                (операция по умолчанию — замена согласно 1003.2)
        -e (редактировать пользовательский crontab)
        -l (вывести список пользовательских crontab)
        -r (удалить пользовательский crontab)
        -i (запрашивать перед удалением пользовательского crontab)

Спасибо за совет, где искать странное поведение.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.