Вопрос или проблема
Установка crontab
Я новичок в Linux и получаю следующую ошибку при запуске команды crontab -e
.
SHELL=/bin/bash
PATH=/usr/bin:/bin:/usr/local/bin
MAILTO=root
0*****ls -la $(find .) | sed -e 's/..csv/#####.csv/g' > /home/ec2-user/companyA/SharedFolders/filteredAudit.csv
ошибка:
crontab: установка нового crontab
"/tmp/crontab.nn8ujc":4: неправильная минута
ошибки в файле crontab, установка невозможна.
Ответ или решение
Ваш вопрос о проблеме с установкой crontab
говорит о том, что у вас есть ошибка в формате задания расписания.
Ошибка, которую вы видите, такая: bad minute
, что означает, что в поле минут в файле crontab есть некорректное значение. Строка задания, которую вы прописали, выглядит так:
0*****ls -la $(find .) | sed -e 's/..csv/#####.csv/g' > /home/ec2-user/companyA/SharedFolders/filteredAudit.csv
Сначала рассмотрим проблемы в этой строке:
-
Некорректный формат времени: В строке
0*****
перед командойls
вообще нет пробелов между значениями, что делает строку некорректной. Формат значения дляcrontab
должен быть таким:* * * * * команда
где каждое
*
обозначает: минуты, часы, дни месяца, месяцы и дни недели. Для задания, которое будет выполняться каждый час на 0 минуте, правильный формат будет:0 * * * * команда
- Ошибка в команде: Команда, которую вы пытаетесь запустить, возможно, требует немного доработки. Обратите внимание, что команда в crontab должна быть написана в одном формате без перевода строки.
С учетом вышесказанного, исправленная строка для вашего crontab может выглядеть следующим образом:
0 * * * * ls -la $(find .) | sed -e 's/..csv/#####.csv/g' > /home/ec2-user/companyA/SharedFolders/filteredAudit.csv
Установка crontab
-
Чтобы отредактировать crontab, выполните команду:
crontab -e
-
В открывшемся редакторе (обычно это nano или vim) замените содержимое на:
SHELL=/bin/bash PATH=/usr/bin:/bin:/usr/local/bin MAILTO=root 0 * * * * ls -la $(find .) | sed -e 's/..csv/#####.csv/g' > /home/ec2-user/companyA/SharedFolders/filteredAudit.csv
- Сохраните изменения и выйдите из редактора.
Проверка crontab
Чтобы убедиться, что задания crontab установлены правильно, вы можете выполнить команду:
crontab -l
Эта команда покажет вам текущие задания cron, которые вы настроили.
Теперь ваш crontab должен быть установлен без ошибок, и команда будет выполняться каждый час на нулевой минуте.