Каждый час я получаю сообщение с такой ошибкой,
Subject: Cron <root@supa> root cd / && run-parts --report /etc/cron.hourly
/bin/sh: root: not found
Содержимое / etc / crontab выглядит следующим образом: либо я удаляю пользователя «root», либо нет (6-й столбец), я получаю ту же ошибку.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
11 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
В моем каталоге cron.hourly есть два файла:
$ ll /etc/cron.hourly/
total 0
lrwxrwxrwx 1 root root 25 2009-10-29 09:24 ntpsync -> /home/<user>/bin/ntpsync
lrwxrwxrwx 1 root root 28 2009-10-23 10:33 foo -> /home/<user>/bin/foo
Первый скрипт читается следующим образом:
$ cat ~/bin/ntpsync
#!/usr/bin/env bash
echo "user: $USER"
if [[ "$USER" == "root" ]] ; then
ntpdate ntp.ubuntu.com
else
sudo ntpdate ntp.ubuntu.com
fi
Даже я удаляю оба сценария в моем каталоге /etc/cron.hourly/, я все равно получаю одинаковое сообщение об ошибке каждый час. Я попытался перезапустить cron, и я все равно получаю то же сообщение об ошибке. Следующая идея: перезагрузиться, но я бы этого избежал.
$ sudo /etc/init.d/cron restart
Моя версия Ubuntu выглядит следующим образом:
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.1"
Обновление: я удалил 6-й столбцы " root "из моего файла / etc / crontab раньше, потому что, когда я искал в Интернете кого-то упомянутого, это могло бы устранить проблему. Теперь я думаю, что проблема заключалась в том, что я возился с конфигурацией crontab системы, а не с корневым.
$ sudo crontab -l
# m h dom mon dow command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Файл crontab по умолчанию из пакета cron (3.0pl1-100ubuntu2.1 это последняя версия ubuntu 8.04) выглядит так:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Вы должны просто иметь возможность принимать это и вставьте его в файл, но вы также можете убедиться, что у вас установлена последняя версия пакета. Вы можете сделать это, выполнив:
apt-get update
apt-get install cron
Обновление:
Существует два разных типа crontab - это crontab системы, который находится в /etc/crontab. Этот crontab имеет это fromat:
minute hour dayOfMonth month dayOfWeek userToRunAs restOfLineIsCommand
Другой тип - это пользователи crontab, которые можно изменить, используя crontab. Фактическая конфигурация находится в /var/spool/cron/crontabs/USERNAME и всегда выполняется как пользователь, которому это принадлежит, и тыс. Форматов этого файла:
minute hour dayOfMonth month dayOfWeek restOfLineIsCommand
Файл crontab по умолчанию из пакета cron (3.0pl1-100ubuntu2.1 это последняя версия ubuntu 8.04) выглядит так:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
Вы должны просто иметь возможность принимать это и вставьте его в файл, но вы также можете убедиться, что у вас установлена последняя версия пакета. Вы можете сделать это, выполнив:
apt-get update
apt-get install cron
Обновление:
Существует два разных типа crontab - это crontab системы, который находится в /etc/crontab. Этот crontab имеет это fromat:
minute hour dayOfMonth month dayOfWeek userToRunAs restOfLineIsCommand
Другой тип - это пользователи crontab, которые можно изменить, используя crontab. Фактическая конфигурация находится в /var/spool/cron/crontabs/USERNAME и всегда выполняется как пользователь, которому это принадлежит, и тыс. Форматов этого файла:
minute hour dayOfMonth month dayOfWeek restOfLineIsCommand
Файл crontab по умолчанию из пакета cron (3.0pl1-100ubuntu2.1 это последняя версия ubuntu 8.04) выглядит так:
SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin # mh dom mon dow пользовательская команда 17 * * * * root cd / & amp; & amp; & amp; & amp; & amp; run-parts --report /etc/cron.hourly 25 6 * * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.daily) 47 6 * * 7 тест корня -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.weekly) 52 6 1 * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.monthly)
Вы должны просто взять это и вставить в файл, но вы также можете хотите, чтобы у вас была последняя версия пакета. Вы можете сделать это, выполнив:
apt-get update apt-get install cron
Обновление:
Есть два разных типы crontab's - это crontab системы, который находится в / etc / crontab
. Этот crontab имеет это fromat:
минуты час деньOfMonth месяц деньOfWeek userToRunAs restOfLineIsCommand
Другой тип - это пользователи crontab, которые могут быть изменены с помощью кронтаб
. Фактическая конфигурация находится в / var / spool / cron / crontabs / USERNAME
и всегда выполняется как пользователь, которому это принадлежит, и тыс. Форматов этого файла:
минут час деньOfMonth месяц деньOfWeek restOfLineIsCommand
Файл crontab по умолчанию из пакета cron (3.0pl1-100ubuntu2.1 это последняя версия ubuntu 8.04) выглядит так:
SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin # mh dom mon dow пользовательская команда 17 * * * * root cd / & amp; & amp; & amp; & amp; & amp; run-parts --report /etc/cron.hourly 25 6 * * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.daily) 47 6 * * 7 тест корня -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.weekly) 52 6 1 * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.monthly)
Вы должны просто взять это и вставить в файл, но вы также можете хотите, чтобы у вас была последняя версия пакета. Вы можете сделать это, выполнив:
apt-get update apt-get install cron
Обновление:
Есть два разных типы crontab's - это crontab системы, который находится в / etc / crontab
. Этот crontab имеет это fromat:
минуты час деньOfMonth месяц деньOfWeek userToRunAs restOfLineIsCommand
Другой тип - это пользователи crontab, которые могут быть изменены с помощью кронтаб
. Фактическая конфигурация находится в / var / spool / cron / crontabs / USERNAME
и всегда выполняется как пользователь, которому это принадлежит, и тыс. Форматов этого файла:
минут час деньOfMonth месяц деньOfWeek restOfLineIsCommand
Файл crontab по умолчанию из пакета cron (3.0pl1-100ubuntu2.1 это последняя версия ubuntu 8.04) выглядит так:
SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin # mh dom mon dow пользовательская команда 17 * * * * root cd / & amp; & amp; & amp; & amp; & amp; run-parts --report /etc/cron.hourly 25 6 * * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.daily) 47 6 * * 7 тест корня -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.weekly) 52 6 1 * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.monthly)
Вы должны просто взять это и вставить в файл, но вы также можете хотите, чтобы у вас была последняя версия пакета. Вы можете сделать это, выполнив:
apt-get update apt-get install cron
Обновление:
Есть два разных типы crontab's - это crontab системы, который находится в / etc / crontab
. Этот crontab имеет это fromat:
минуты час деньOfMonth месяц деньOfWeek userToRunAs restOfLineIsCommand
Другой тип - это пользователи crontab, которые могут быть изменены с помощью кронтаб
. Фактическая конфигурация находится в / var / spool / cron / crontabs / USERNAME
и всегда выполняется как пользователь, которому это принадлежит, и тыс. Форматов этого файла:
минут час деньOfMonth месяц деньOfWeek restOfLineIsCommand
Файл crontab по умолчанию из пакета cron (3.0pl1-100ubuntu2.1 это последняя версия ubuntu 8.04) выглядит так:
SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin # mh dom mon dow пользовательская команда 17 * * * * root cd / & amp; & amp; & amp; & amp; & amp; run-parts --report /etc/cron.hourly 25 6 * * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.daily) 47 6 * * 7 тест корня -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.weekly) 52 6 1 * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.monthly)
Вы должны просто взять это и вставить в файл, но вы также можете хотите, чтобы у вас была последняя версия пакета. Вы можете сделать это, выполнив:
apt-get update apt-get install cron
Обновление:
Есть два разных типы crontab's - это crontab системы, который находится в / etc / crontab
. Этот crontab имеет это fromat:
минуты час деньOfMonth месяц деньOfWeek userToRunAs restOfLineIsCommand
Другой тип - это пользователи crontab, которые могут быть изменены с помощью кронтаб
. Фактическая конфигурация находится в / var / spool / cron / crontabs / USERNAME
и всегда выполняется как пользователь, которому это принадлежит, и тыс. Форматов этого файла:
минут час деньOfMonth месяц деньOfWeek restOfLineIsCommand
Файл crontab по умолчанию из пакета cron (3.0pl1-100ubuntu2.1 это последняя версия ubuntu 8.04) выглядит так:
SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin # mh dom mon dow пользовательская команда 17 * * * * root cd / & amp; & amp; & amp; & amp; & amp; run-parts --report /etc/cron.hourly 25 6 * * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.daily) 47 6 * * 7 тест корня -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.weekly) 52 6 1 * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.monthly)
Вы должны просто взять это и вставить в файл, но вы также можете хотите, чтобы у вас была последняя версия пакета. Вы можете сделать это, выполнив:
apt-get update apt-get install cron
Обновление:
Есть два разных типы crontab's - это crontab системы, который находится в / etc / crontab
. Этот crontab имеет это fromat:
минуты час деньOfMonth месяц деньOfWeek userToRunAs restOfLineIsCommand
Другой тип - это пользователи crontab, которые могут быть изменены с помощью кронтаб
. Фактическая конфигурация находится в / var / spool / cron / crontabs / USERNAME
и всегда выполняется как пользователь, которому это принадлежит, и тыс. Форматов этого файла:
минут час деньOfMonth месяц деньOfWeek restOfLineIsCommand
Файл crontab по умолчанию из пакета cron (3.0pl1-100ubuntu2.1 это последняя версия ubuntu 8.04) выглядит так:
SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin # mh dom mon dow пользовательская команда 17 * * * * root cd / & amp; & amp; & amp; & amp; & amp; run-parts --report /etc/cron.hourly 25 6 * * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.daily) 47 6 * * 7 тест корня -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.weekly) 52 6 1 * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.monthly)
Вы должны просто взять это и вставить в файл, но вы также можете хотите, чтобы у вас была последняя версия пакета. Вы можете сделать это, выполнив:
apt-get update apt-get install cron
Обновление:
Есть два разных типы crontab's - это crontab системы, который находится в / etc / crontab
. Этот crontab имеет это fromat:
минуты час деньOfMonth месяц деньOfWeek userToRunAs restOfLineIsCommand
Другой тип - это пользователи crontab, которые могут быть изменены с помощью кронтаб
. Фактическая конфигурация находится в / var / spool / cron / crontabs / USERNAME
и всегда выполняется как пользователь, которому это принадлежит, и тыс. Форматов этого файла:
минут час деньOfMonth месяц деньOfWeek restOfLineIsCommand
Я знаю, что вы сказали, что все еще получаете ошибки после удаления «root» в шестом столбце, но это действительно похоже на проблему.
Например, посмотрите на другие строки. Все они начинаются с «теста». Это не пользователь, это начало команды. Удаление «root» приведет к тому, что ваша команда начнется с «cd».
Тем более, что в сообщении об ошибке говорится, что он не может найти «root», который является ошибкой, которую вы получаете при попытке запустить программу, которая не существует.
Итак, я бы попробовал снова удалить это.
Ваш /etc/crontab выглядит забавным. Каждая строка должна фактически иметь пользовательский столбец, что является самой смешной частью. Например, мои сообщения:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
Кстати, обычно не рекомендуется касаться этого файла. Если вам нужно добавить более общие crontabs, используйте /etc/cron.d для этого. Вы можете попытаться восстановить конфигурацию по умолчанию для пакета cron с помощью:
$ sudo apt-get install --reinstall --yes -o DPkg::Options::=--force-confmiss -o DPkg::Options::=--force-confnew cron
и посмотреть, исправляет ли он проблему.
В игре есть две проблемы. Один (более очевидный) - это неправильная 6-я колонка в личном crontab корня. Второй тихий - это то, что когда-либо команда после почасовой линии cron в /etc/crontab не выполняется должным образом. Исправлены следующие ошибки:
Вы можете удалить файл crontab поддельного пользователя, запустив sudo crontab -r
Как только это будет завершено, вы 'll нужно добавить пользователя root в файл /etc/crontab для каждой строки после часовой строки cron - так:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
11 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
Это должно решить эти проблемы электронной почты.
Сделайте это:
# crontab -r
И Сделайте это: :
# crontab /etc/crontab
Вместо этого вручную редактирует файл / etc / crontab.
Сделайте это:
# crontab -r
И Сделайте это: :
# crontab /etc/crontab
Вместо этого вручную редактирует файл / etc / crontab.
Сделайте это:
# crontab -r
И Сделайте это: :
# crontab /etc/crontab
Вместо этого вручную редактирует файл / etc / crontab.
Сделайте это:
# crontab -r
И Сделайте это: :
# crontab /etc/crontab
Вместо этого вручную редактирует файл / etc / crontab.
Сделайте это:
# crontab -r
И Сделайте это: :
# crontab /etc/crontab
Вместо этого вручную редактирует файл / etc / crontab.
Сделайте это:
# crontab -r
И Сделайте это: :
# crontab /etc/crontab
Вместо этого вручную редактирует файл / etc / crontab.
В игре есть две проблемы. Один (более очевидный) - это неправильная 6-я колонка в личном crontab корня. Второй тихий - это то, что когда-либо команда после почасовой линии cron в /etc/crontab не выполняется должным образом. Исправлены следующие ошибки:
Вы можете удалить файл crontab поддельного пользователя, запустив sudo crontab -r
Как только это будет завершено, вы 'll нужно добавить пользователя root в файл /etc/crontab для каждой строки после часовой строки cron - так:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
11 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
Это должно решить эти проблемы электронной почты.
Я знаю, что вы сказали, что все еще получаете ошибки после удаления «root» в шестом столбце, но это действительно похоже на проблему.
Например, посмотрите на другие строки. Все они начинаются с «теста». Это не пользователь, это начало команды. Удаление «root» приведет к тому, что ваша команда начнется с «cd».
Тем более, что в сообщении об ошибке говорится, что он не может найти «root», который является ошибкой, которую вы получаете при попытке запустить программу, которая не существует.
Итак, я бы попробовал снова удалить это.
Сделайте это:
# crontab -r
И Сделайте это: :
# crontab /etc/crontab
Вместо этого вручную редактирует файл / etc / crontab.
Ваш /etc/crontab выглядит забавным. Каждая строка должна фактически иметь пользовательский столбец, что является самой смешной частью. Например, мои сообщения:
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command
17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
#
Кстати, обычно не рекомендуется касаться этого файла. Если вам нужно добавить более общие crontabs, используйте /etc/cron.d для этого. Вы можете попытаться восстановить конфигурацию по умолчанию для пакета cron с помощью:
$ sudo apt-get install --reinstall --yes -o DPkg::Options::=--force-confmiss -o DPkg::Options::=--force-confnew cron
и посмотреть, исправляет ли он проблему.
Сделайте это:
# crontab -r
И НЕ делайте этого:
# crontab / etc / crontab
Вместо этого вручную редактирует файл / etc / crontab .
Ваш / etc / crontab
выглядит смешно. Каждая строка должна фактически иметь пользовательский столбец, что является самой смешной частью. Например, мои записи:
# / etc / crontab: общесистемный crontab # В отличие от любого другого crontab вам не нужно запускать команду `crontab '# для установки новой версии, когда вы редактируете этот файл # и файлы в файле /etc/cron.d. Эти файлы также имеют поля имени пользователя, #, которые ни один из других crontabs не делает. SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin # mh dom mon dow пользовательская команда 17 * * * * root cd / & amp; & amp; run-parts --report /etc/cron.hourly 25 6 * * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.daily) 47 6 * * 7 тест корня -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.weekly) 52 6 1 * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.monthly) #
Кстати, обычно не рекомендуется касаться этого файла. Если вам нужно добавить более общие crontabs, используйте для этого /etc/cron.d
. Вы можете попробовать восстановить конфигурацию по умолчанию для пакета cron с помощью:
$ sudo apt-get install --reinstall --yes -o DPkg :: Options :: = - force-confmiss -o DPkg :: Options :: = - force-confnew cron
и посмотреть, исправляет ли он проблему.
Я знаю, что вы сказали, что все еще получаете ошибки после удаления «root» в шестом столбце, но это действительно похоже на проблему.
Например, посмотрите на другие строки. Все они начинаются с «теста». Это не пользователь, это начало команды. Удаление «root» приведет к тому, что ваша команда начнется с «cd».
Тем более, что в сообщении об ошибке говорится, что он не может найти «root», который является ошибкой, которую вы получаете при попытке запустить программу, которая не существует.
Итак, я бы попробовал снова удалить это.
В игре есть две проблемы. Один (более очевидный) - это неправильная 6-я колонка в личном crontab корня. Второй тихий - это то, что когда-либо команда после часовой линии cron в / etc / crontab
не выполняется должным образом. Исправлены следующие ошибки:
Вы можете удалить файл crontab для поддельного пользователя, запустив sudo crontab -r
Как только это будет завершено, вы 'll нужно добавить пользователя root в файл / etc / crontab
для каждой строки после часовой строки cron - так:
SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin # mh dom mon dow пользовательская команда 11 * * * * root cd / & amp; & amp; & amp; & amp; & amp; run-parts --report /etc/cron.hourly 25 6 * * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.daily) 47 6 * * 7 тест корня -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.weekly) 52 6 1 * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.monthly) #
Это должно решить эти проблемы электронной почты.
Сделайте это:
# crontab -r
И НЕ делайте этого:
# crontab / etc / crontab
Вместо этого вручную редактирует файл / etc / crontab .
Ваш / etc / crontab
выглядит смешно. Каждая строка должна фактически иметь пользовательский столбец, что является самой смешной частью. Например, мои записи:
# / etc / crontab: общесистемный crontab # В отличие от любого другого crontab вам не нужно запускать команду `crontab '# для установки новой версии, когда вы редактируете этот файл # и файлы в файле /etc/cron.d. Эти файлы также имеют поля имени пользователя, #, которые ни один из других crontabs не делает. SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin # mh dom mon dow пользовательская команда 17 * * * * root cd / & amp; & amp; run-parts --report /etc/cron.hourly 25 6 * * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.daily) 47 6 * * 7 тест корня -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.weekly) 52 6 1 * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.monthly) #
Кстати, обычно не рекомендуется касаться этого файла. Если вам нужно добавить более общие crontabs, используйте для этого /etc/cron.d
. Вы можете попробовать восстановить конфигурацию по умолчанию для пакета cron с помощью:
$ sudo apt-get install --reinstall --yes -o DPkg :: Options :: = - force-confmiss -o DPkg :: Options :: = - force-confnew cron
и посмотреть, исправляет ли он проблему.
Я знаю, что вы сказали, что все еще получаете ошибки после удаления «root» в шестом столбце, но это действительно похоже на проблему.
Например, посмотрите на другие строки. Все они начинаются с «теста». Это не пользователь, это начало команды. Удаление «root» приведет к тому, что ваша команда начнется с «cd».
Тем более, что в сообщении об ошибке говорится, что он не может найти «root», который является ошибкой, которую вы получаете при попытке запустить программу, которая не существует.
Итак, я бы попробовал снова удалить это.
В игре есть две проблемы. Один (более очевидный) - это неправильная 6-я колонка в личном crontab корня. Второй тихий - это то, что когда-либо команда после часовой линии cron в / etc / crontab
не выполняется должным образом. Исправлены следующие ошибки:
Вы можете удалить файл crontab для поддельного пользователя, запустив sudo crontab -r
Как только это будет завершено, вы 'll нужно добавить пользователя root в файл / etc / crontab
для каждой строки после часовой строки cron - так:
SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin # mh dom mon dow пользовательская команда 11 * * * * root cd / & amp; & amp; & amp; & amp; & amp; run-parts --report /etc/cron.hourly 25 6 * * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.daily) 47 6 * * 7 тест корня -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.weekly) 52 6 1 * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.monthly) #
Это должно решить эти проблемы электронной почты.
Ваш / etc / crontab
выглядит смешно. Каждая строка должна фактически иметь пользовательский столбец, что является самой смешной частью. Например, мои записи:
# / etc / crontab: общесистемный crontab # В отличие от любого другого crontab вам не нужно запускать команду `crontab '# для установки новой версии, когда вы редактируете этот файл # и файлы в файле /etc/cron.d. Эти файлы также имеют поля имени пользователя, #, которые ни один из других crontabs не делает. SHELL = / bin / sh PATH = / usr / local / sbin: / usr / local / bin: / sbin: / bin: / usr / sbin: / usr / bin # mh dom mon dow пользовательская команда 17 * * * * root cd / & amp; & amp; run-parts --report /etc/cron.hourly 25 6 * * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.daily) 47 6 * * 7 тест корня -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.weekly) 52 6 1 * * Корневой тест -x / usr / sbin / anacron || (cd / & amp; & amp; run-parts --report /etc/cron.monthly) #
Кстати, обычно не рекомендуется касаться этого файла. Если вам нужно добавить более общие crontabs, используйте для этого /etc/cron.d
. Вы можете попробовать восстановить конфигурацию по умолчанию для пакета cron с помощью:
$ sudo apt-get install --reinstall --yes -o DPkg :: Options :: = - force-confmiss -o DPkg :: Options :: = - force-confnew cron
и посмотреть, исправляет ли он проблему.