LINUX.ORG.RU
решено ФорумAdmin

[FreeBSD] #mpd4 -kb не работает из rc.local ЧЯДНТ !?

 


0

1

Подключаюсь с FreeBSD 8.2-RELEASE к интернет по VPN.
Проблема в следующем:
Если зайти через SSH и РУЧКАМИ написать команду mpd4 -kb всё работает замечательно. т.е. Подключаетcя интернет.

если же в /etc/rc.local прописать
mpd4 -kb
при перезагрузке интренетом и не пахнет.

В процессе поиска решения написал скрипт:


[root@bsd ~/scripts]# cat restart.sh
#!/bin/sh

RECON=«yes»

for host in «ya.ru» «yandex.ru» «google.com» «google.ru»
do
if (ping -c 3 ${host} >/dev/null 2>&1)
then
RECON=«no»
fi
done

if [ «$RECON» = «yes» ]
then
mpd4 -kb
fi
[root@bsd ~/scripts]#


вставил его в крон:


[root@bsd ~/scripts]# tail -n 2 /etc/crontab
#
*/5 * * * * root /root/scripts/restart.sh


Никакого эффекта.


Пробовал запускать так:
mpd4 -kb&
та же самая история

Что я делаю не так?


===
p.s. Какой командой можно завершить выполнение sh скрипта вручную?





Последнее исправление: UNIXway (всего исправлений: 2)

Ответ на: комментарий от UNIXway

Смотря как. Можно слипом и kill -s SIGTERM '$mypid'
ХЗ, как там лучше тебе.

amorpher ★★★★★
()
Ответ на: комментарий от alikhantara

если запустить ручками из командной строки (./test.sh) - работает.

[root@bsd /home/and291]# cat /root/scripts/test.sh
#!/bin/bash
a=`mpd4 -kb`
echo «$a»


если через rc.local или через скрипт - нет :)

UNIXway
() автор топика
Ответ на: комментарий от UNIXway

local_enable=«YES» есть в rc.conf? Вообще же все это повыпиливали и запилили каталог для пользовательских скриптов запуска, не?

AptGet ★★★
()
Ответ на: комментарий от AptGet

Какая разница, у него же и из крона не пашет...

Davyd ★★
()
Ответ на: комментарий от AptGet

Добавил

local_enable="YES"
Проверил, не помогло.
Очень странно: Выполняю руками команду date:
[root@bsd ~/scripts]# date
суббота, 13 августа 2011 г. 09:54:44 (UTC)
Выполняю из крона и вывожу в файл, вижу:
Sat Aug 13 09:50:00 UTC 2011
===
«Каталог для пользовательских скриптов запуска»?? Не, не слышал. Дайте ссылку.

UNIXway
() автор топика
Ответ на: комментарий от GotF

Что-то я не вкурил зачем, но:

[root@bsd ~/scripts]# echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/games:/usr/local/sbin:/usr/local/bin:/home/and291/bin

UNIXway
() автор топика
Ответ на: комментарий от UNIXway

Выполняю из крона и вывожу в файл, вижу:

locale?

man login.conf(5)

iZEN ★★★★★
()
Ответ на: комментарий от UNIXway

> завершить выполнение скрипта из самого скрипта
exit циферка

tn1
()

Пример запуска toonel.net в качестве демона FreeBSD

Собственно, сам текст скрипта управления демоном:

% cat /etc/rc.d/toon
#!/bin/sh
#
# Created By .::Disel::.
# Tuning By Be$$oMe
#

# PROVIDE: toon
#
# Add the following lines to /etc/rc.conf.local or /etc/rc.conf
# to enable this service^
#
#toon_enable="YES"
#

. /etc/rc.subr

name="toon"
rcvar=`set_rcvar`
command="daemon -u root /usr/local/bin/java -jar /usr/scripts/toonel.jar >> /var/log/toon.log"
pidfile="/var/run/toon.pid"
start_cmd="toon_start"
stop_cmd="toon_stop"
status_cmd="toon_status"
command_args="&"
: ${toon_enable="NO"}

toon_start()
{
    ${command}
    echo "Service ${name} started"
}

toon_stop()
{
    if [ -e $pidfile ]; then
        pid=$(cat $pidfile)
        kill $pid
        rm -f $pidfile
        echo "Service ${name} stopped"
    else
        killall java
        echo "Service ${name} not started"
    fi
}

toon_status()
{
    if [ -e $pidfile ]; then
        pid=$(cat $pidfile)
        if [ $pid > 0 ]; then
            echo "Service ${name} stopped"
        fi
    else
        echo "Service ${name} not started"
    fi
}

load_rc_config $name
run_rc_command "$1"
Строка, обеспечивающая автоматический запуск:
% cat /etc/rc.conf.local | grep "toon"
toon_enable = "YES"
Источник: http://forum.lissyara.su/viewtopic.php?f=14&t=16598&p=174982&hili...

iZEN ★★★★★
()
26 сентября 2011 г.

Оказалось всё проще некуда...

mpd_enable=«YES»
mpd_flags="-b" # демоном

p.s. Спасибо гуглу за это!

UNIXway
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.