Форум русскоязычного сообщества Ubuntu


Автор Тема: не работает crontab  (Прочитано 19521 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн svedos

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
    • ubuntuopen.com
не работает crontab
« : 16 Марта 2010, 08:44:56 »
Всем привет. У меня ubuntu 9.10, установил squid и sarg для сбора статистики, но вот проблемма: никак не работает cron хоть от пользователя хоть от рута.
т.е. через cron не работают никакие вообще команды.
например:
в консоли можно выполнить "sudo shutdown -r now" или "sudo sarg-reports today" и все сразу работает и комп перезагружается или статистика сквида генерится. НО, при добавлении заданий в крон ничего не происходит...
как пробовал:
sudo crontab -e
открывается редактор nano туда прописываю например:
* * * * * sarg-reports today      или
* * * * * shutdown -r now
не работает. пробовал писать полные пути например:
* * * * * /usr/sbin/sarg-reports today
не работает......
Пробовал все тоже и просто от пользователя
crontab -e (без sudo)
результат тот же.......
смотрел логи
вот что пишет в момент срабатывания (cron от рута)
Mar 16 08:45:01 sergey-desktop CRON[7238]: (root) CMD (shutdown -r now)
Mar 16 08:46:01 sergey-desktop CRON[7246]: (root) CMD (shutdown -r now)
Mar 16 08:47:01 sergey-desktop CRON[7253]: (root) CMD (shutdown -r now)
и т.д. ....ничего не происходит
помогите что делать???????

Пользователь решил продолжить мысль 16 Марта 2010, 06:56:46:
неужели у всех работает?????
« Последнее редактирование: 16 Марта 2010, 10:58:26 от svedos »
Linux Ubuntu-Desktop 10.10

Оффлайн vadim-nsk

  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
Re: не работает crontab
« Ответ #1 : 16 Марта 2010, 11:27:30 »
если не прописаны переменные окружения (SHELL и PATH), cron просто не найдет ваш шатдаун. либо полные пути, либо настройка окружения в которой будут выполняться команды крон.
Лучше добавить такие строчки до расписания.
Цитировать
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

Оффлайн svedos

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
    • ubuntuopen.com
Re: не работает crontab
« Ответ #2 : 16 Марта 2010, 12:08:44 »
а куда их добавить?? куда все это прописать?
Linux Ubuntu-Desktop 10.10

Оффлайн stan

  • Активист
  • *
  • Сообщений: 291
  • Kubuntu
    • Просмотр профиля
Re: не работает crontab
« Ответ #3 : 16 Марта 2010, 12:11:50 »
просто пишите полный путь к утилите  /usr/bin/comman_name например
Kubuntu

Оффлайн svedos

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
    • ubuntuopen.com
Re: не работает crontab
« Ответ #4 : 16 Марта 2010, 12:21:12 »
если можно то по подробней пожалуйста.
...я уже пробовал писать полный путь, не работает.

Linux Ubuntu-Desktop 10.10

Оффлайн vadim-nsk

  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
Re: не работает crontab
« Ответ #5 : 16 Марта 2010, 13:15:06 »
конкретно у вас не срабатывает
* * * * * sarg-reports todayMar 16 08:45:01 sergey-desktop CRON[7238]: (root) CMD (shutdown -r now)
а не
* * * * * /usr/sbin/sarg-reports todayкстати про ротацию логов забыли squid -k rotate .
Я crontab -e не пользуюсь, все скрипты расположены по папочкам в /etc/ примерно так
/etc/cron.hourly
/etc/ cron.daily
/etc/cron.weekly
/etc/cron.monthly
а в  /etc/crontab написано буквально следующее:
# /etc/crontab: system-wide crontab
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 )

ну и возьмем для примера какой-нибудь простейший скрипт из каталога  /etc/cron.daily

cat /etc/cron.daily/logrotate
#!/bin/sh

test -x /usr/sbin/logrotate || exit 0
/usr/sbin/logrotate /etc/logrotate.conf
Ну и по аналогии думаю не составит труда написать скрипт по созданию дневных отчетов и ротации сквида (можно уместить в один).
« Последнее редактирование: 16 Марта 2010, 13:19:40 от vadimka »

Оффлайн svedos

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
    • ubuntuopen.com
Re: не работает crontab
« Ответ #6 : 16 Марта 2010, 13:33:41 »
Это примерно понятно, но есть вопросы:
1. зачем нужна ротация сквида? и так все нормально работает..
2. Почему с кроном такие заморочки? почему не работает все стандартным образом через crontab -e, как написано во всех хау ту???
Linux Ubuntu-Desktop 10.10

Оффлайн vadim-nsk

  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
Re: не работает crontab
« Ответ #7 : 16 Марта 2010, 13:37:59 »
в каких таких стандартных хавту? почитайте про cron и найдите в своих записях ошибки, я же не сказал что ваш путь не верный :)

Пользователь решил продолжить мысль 16 Марта 2010, 11:40:41:
PS ответим из мана по сарг-репорту:
http://manpages.ubuntu.com/manpages/jaunty/man1/sarg-reports.1.html

Пользователь решил продолжить мысль 16 Марта 2010, 13:43:04:
:) Что весна делает с человеком, даже еще не послал в поиск и маны читать.
« Последнее редактирование: 16 Марта 2010, 13:43:04 от vadimka »

Оффлайн svedos

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
    • ubuntuopen.com
Re: не работает crontab
« Ответ #8 : 16 Марта 2010, 14:08:53 »
Заработало!!!! но через ..... (нестандартное решение)
Замучился боротся с  "crontab -e"
открыл файл /etc/crontab
и просто добавил строчку
00 *    * * *   root    sarg-reports today
и все заработало.
....... всетаки странно почему нельзя просто через "crontab -e"....
видимо особенности убунты....
Linux Ubuntu-Desktop 10.10

Оффлайн vadim-nsk

  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
Re: не работает crontab
« Ответ #9 : 16 Марта 2010, 16:45:26 »
Заработало!!!! но через ..... (нестандартное решение)
Замучился боротся с  "crontab -e"
открыл файл /etc/crontab
и просто добавил строчку
00 *    * * *   root    sarg-reports today
и все заработало.
....... всетаки странно почему нельзя просто через "crontab -e"....
видимо особенности убунты....
Ответ очевиден, я его два раза выше приводил, но man sarg-reports тоже поможет выдать его, PATH. Жалко, что вы на столько невнимательны. Особенностей нет, как и во всех дистрах man, info и readme.

Оффлайн svedos

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
    • ubuntuopen.com
Re: не работает crontab
« Ответ #10 : 16 Марта 2010, 18:11:43 »
Интересно почему тогда в сети полно how to такого плана:
http://system-administrators.info/?p=2600 где ничего про path вообще не сказано, и у людей видимо все нормально работает.
Linux Ubuntu-Desktop 10.10

Оффлайн vadim-nsk

  • Старожил
  • *
  • Сообщений: 1318
  • Жить надо так, как горит пламя!
    • Просмотр профиля
    • Linux в Новосибирске
Re: не работает crontab
« Ответ #11 : 16 Марта 2010, 18:14:59 »
Потому, что люди сначало читают man и кроме того через crontab -e это могут быть не первые периодические задания.
« Последнее редактирование: 16 Марта 2010, 18:18:31 от vadimka »

 

Страница сгенерирована за 0.064 секунд. Запросов: 23.