1

Доброго времени суток.
Нужна помощь в разъяснении почему на сервере 12,04 с включенным рутом команда записанная в крон не выполняется от рута. пример неработающей команды
#crontab -e
потом вписываем строку
10 10 * * * reboot
или
10 10 * * * shutdown -r now
или
10 10 * * * shutdown.sh
предварительно в папке /usr/local/bin создан файл shutdown.sh с содержимым наподобие:
#!/bin/bash
reboot.

интересно что при запуске вручную вышеуказаных комманд, все благополучно происходит.

2

вам крон письма шлет?
что там написано?

"Фирма Майкрософт не собирается поддерживать протокол TCP/IP в своих OS" 1993 (c) Билл Гейтс
"Мы изобрели новый протокол передачи данных, мы назвали его TCP/IP" 1995 (c) Билл Гейтс

3 (09.08.2012 16:28:09 отредактировано tr0jan4ik)

moshell пишет:

вам крон письма шлет?
что там написано?

Скорее всего не шлет. Как это исправить?

4

Лучше прописывать полные пути к командам.
Покажите ваш /etc/crontab и вывод команд

which reboot
which halt
which shutdown.sh
Был, был и весь вышел...

5

Lupo Alberto пишет:

Лучше прописывать полные пути к командам.
Покажите ваш /etc/crontab и вывод команд

which reboot
which halt
which shutdown.sh
# /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 )
#
which reboot
/sbin/reboot

which halt
/sbin/halt

which shutdown.sh
/usr/local/bin/shutdown.sh

Спасибо! С полными путями сработало! Но проблема не решилась, так как на самом деле мне нужно перезагружать не весь сервер а выполять команду

/etc/init.d/nfs-server-kernel restart

вручную от рута она опять же таки выполняется, а через крон пишет

 * Stopping NFS kernel daemon
   ...fail!
 * Exporting directories for NFS kernel daemon...
   ...done.
 * Starting NFS kernel daemon

 * Not starting: portmapper is not running

хелп:)

6

portmapper естественно запущен! складываетя впечатление что крон действительно не от рута выполняется. простая перезагрузка сервера конечно решает проблему, но это не "трулинукс вей".

если не работает через юзерский крон то сделайте через системный:

добавьте в /etc/crontab:
10 10 * * * root reboot

8

Харитон пишет:

если не работает через юзерский крон то сделайте через системный:
добавьте в /etc/crontab:
10 10 * * * root reboot

Да, в системном все работает. У меня серв на Debian выключается по расписанию.

30 23 * * *      root      shutdown -h now

9

Харитон пишет:

сли не работает через юзерский крон то сделайте через системный:

Nigelist пишет:

Да, в системном все работает. У меня серв на Debian выключается по расписанию.

У ТС несколько иная задача

tr0jan4ik пишет:

Но проблема не решилась, так как на самом деле мне нужно перезагружать не весь сервер а выполять команду

/etc/init.d/nfs-server-kernel restart
Был, был и весь вышел...

10

Конфиги задач крона, которые ты хочешь что бы запускались от рута, надо поместить сюда:
/var/spool/cron/crontabs/root

P.S. Сорри, я сейчас немножко "навеселе", детальнее не могу обьяснить.
Поищи в гугле более подробную инструкцию, как-то так:
http://www.google.com.ua/#q=linux+/var/ … mp;bih=801
P.P.S. у меня Ubuntu.