Bekijk de volledige versie : Запуск приложений на роутере
Правильно ли я понял, что /usr/local/sbin перезаписывается каждый раз из флеша вне зависимости от того, есть ли уже его содержимое на загрузочном томе или нет?
Хотелось бы сделать так, что при загрузке с флеша использовались бы post-boot, post-mount и т.д. из флеша, а при загрузке с USB HDD, соответственно, те же файлы с HDD. Можно, конечно, вставить в скрипты на флеше загрузку скриптов с HDD с условием типа "if exists...", но, может быть, есть более изящное решение?
Доброго времени суток, уважаемые!
У меня возникла вот какая проблема. С помощью cron пытаюсь выполнить скрипт на python,
но у меня это не получается :(
В папке /opt/etc/cron.5mins/ у меня лежит файл test-py2.4 :
#!/opt/bin/python2.4
sys.stderr.write('Preved, kreved")
В файле crontab прописано вот что:
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/sbin:/opt/bin
MAILTO=""
HOME=/
# ---------- ---------- Default is Empty ---------- ---------- #
*/5 * * * * admin /opt/bin/python2.4 /opt/etc/cron.5mins/test-py2.4 >> /tmp/cron_2min.log
В результате выполнения задания в лог ничего не выводится
Если прописать так:
*/5 * * * * admin /opt/bin/python2.4 -h >> /tmp/cron_2min.log
то в лог вполне нормально выводится справка по опциям запуска питона
Наверняка, тут дело в какой-то ерунде, но у меня что-то ума не хватает с ней справиться.
Подскажите, что можно сделать?
Добавь к концу команды через пробел 2>&1 чтобы ошибки из stderr тоже в файл попадали.
upd: возможно в переменных окружения каких путей не хватает
2Mam(O)n
Супер! Мне как раз не хватало, чтобы ошибки тоже в лог писались.
Это я разбираюсь с запуском getmail через cron. Теперь дело сдвинулось.
Спасибо еще раз
Что меня больше всего раздражает в веб-морде - это необходимость перезапуска при любых изменениях, в то время как достаточно поправить пару файлов и перезапусить демонов. Как это сделать для l2tpd? Его запуск руками ни к чему не приводит, процесс появляется, но туннель и ppp-сессия не создаются. С какими параметрами его запускает веб-морда?
Всё ещё актуально...
[routah:root] ka -9 l2tpd
[routah:root] cat /etc/l2tp/l2tp.conf
# automagically generated
global
load-handler "sync-pppd.so"
load-handler "cmd.so"
section sync-pppd
lac-pppd-opts "file /tmp/ppp/options.wan0"
section peer
peername 85.21.0.17
lac-handler sync-pppd
persist yes
maxfail 32767
holdoff 30
section cmd
[routah:root]
[routah root]$ l2tpd -d 127 -f &
[routah:root] l2tp-control "start-session 85.21.0.17"
ERR Unknown peer
0.000 l2tp_peer_find(85.21.0.17) examining peer 0.0.0.0/32
0.003 l2tp_peer_find(85.21.0.17) found NULL/-1
25.235 l2tp_peer_find(85.21.0.17) examining peer 0.0.0.0/32
25.235 l2tp_peer_find(85.21.0.17) found NULL/-1
Господа, здравствуйте!
Купил я чудо-девайс WL-500gP, но даже подсоединиться к нему не могу.
192.168.1.1 пингуется, 192.168.1.2 роутер дает компу.
А в настройки не входит. В эксплорере вбиваю адрес 192.168.1.1, появляется пустая страница и все. Ни ошибок, ничего нет.
telnet my.router или telnet 192.168.1.1 говорит "Connecting To my.router...Could not open connection to the host, on port 23: Connect failed".
Назначил компу в TCP/IP адрес 192.168.1.2 и маску 255.255.255.0. Пытался прошить роутер, ничего не выходит. Говорит, что не обнаружено устройств в режиме восстановления.
И tftp тоже пытался. Сразу Timeout пишет.
Но самое главное: сегодня был в сервис-центре. Все работает!!!
Прошивка 1.9.7.5.
Помогите, пожалуйста!
файрвол в винде выключали?
файрвол в винде выключали?
Он и не включен. Касперского отключал - не помогает.
Есть подозрение на Virtual Machine. Как это может влиять? Ведь пингуется роутер нормально...
Такая же проблема, пинг есть и все, в ИЕ пишет "невозможно отобразить страницу...". Работает только асусовская утилита для быстрой настройки беспроводной сети. Если както решили проблему - напишите плз.
Такая же проблема, пинг есть и все, в ИЕ пишет "невозможно отобразить страницу...". Работает только асусовская утилита для быстрой настройки беспроводной сети. Если както решили проблему - напишите плз.
Подумав, могу предложить проверить 2 варианта
1-Проверить, а не стоит ли у вас галочка “работать автономно” в Internet Explorer…
2-Проверить что у вас в сервис – свойство обозревателя – подключение – настройка LAN…
удачи...
Подумав, могу предложить проверить 2 варианта
1-Проверить, а не стоит ли у вас галочка “работать автономно” в Internet Explorer…
2-Проверить что у вас в сервис – свойство обозревателя – подключение – настройка LAN…
удачи...
Проблема удачно решилась удалением VMWare. К сведению всех: VMWare забирает 192.168.1.1, поэтому нужно менять IP или в роутере, или в программе.
да ни хрена она не забирает. Просто за роутером надо ставить сетевые настройки в bridged. Тогда vmware получает адрес от роутера в той же подсетке. А вот если в гостевой ОС, установленной в vmware, у вас dhcp сервер крутится... Тут уж извиняйте --- совсем беда.
да ни хрена она не забирает. Просто за роутером надо ставить сетевые настройки в bridged. Тогда vmware получает адрес от роутера в той же подсетке. А вот если в гостевой ОС, установленной в vmware, у вас dhcp сервер крутится... Тут уж извиняйте --- совсем беда.
Факт: у меня был установлен VMWare, так я не мог достучаться до роутера. Только ping и работал. Где уж тут какие-то настройки ставить? Может после конфигурации роутера и последующей установки VMWare все встанет на место - меня это пока не волнует. :)
Может после конфигурации роутера и последующей установки VMWare все встанет на место - меня это пока не волнует. :)
Последовательность установки не играет роли. Просто вы проклацали сетевые настройки в VmWare по дефолту, не глядя - результат налицо. Надо было обязательно зайти на закладку DHCP в Virtual Network Editor'е и проверить диапазоны сетей.
Последовательность установки не играет роли. Просто вы проклацали сетевые настройки в VmWare по дефолту, не глядя - результат налицо. Надо было обязательно зайти на закладку DHCP в Virtual Network Editor'е и проверить диапазоны сетей.
Резонно, но я чайник - это раз, VMWare устанавливал год назад, когда о роутере даже не помышлял - это два, а роутер только в воскресенье приобрел - это три. :rolleyes:
l2tp-control "start-session 0.0.0.0"
Благодарю. Набросал для себя коротенький скрипт:
#!/bin/sh
killall l2tpd
sleep 2s
l2tpd
sleep 1s
l2tp-control "start-session 0.0.0.0"
tchaynik
27-03-2008, 17:19
Задача в следующем:
Есть wl500gP с PPPoE соединением.
пров раз в сутки рвет сессию.
Нужно при разрыве/ коннекте гасить старый openVPN и стартовать новый.
Так он сам это обнаружит, если ходят кипалайвы. Я ничего не делаю и всё работает.
DemonGloom
04-07-2008, 07:29
Возможно ли сделать автоматическим запуск bash вместо ash так, что-бы к устройству можно было нормально подключиться? (используется putty).
Я смог добиться такого :
Using username "root".
Authenticating with public key "rsa-key-20080620"
bash-3.2#
Хочется :
Using username "root".
Authenticating with public key "rsa-key-20080620"
[root@WL-001E8C2E649A ~]$
Ну судя по всему не взводится $PS1, то есть не выполняется ~/.bash_profile или ~/.bashrc.
Почему:
1) может быть баша с неправильным параметром зовет дропбир. Лечится заменой дропбира на честный sshd.
2) нету ни одного файла с профилем. Лечится созданием файла и записью во флеш.
DemonGloom
04-07-2008, 17:55
Можно по-подробнее?
DemonGloom
05-07-2008, 09:12
Все, я нашел решение.
В папке /usr/local/root создаем файл .bashrc
В него записываем
PATH=/opt/sbin:/opt/bin:/sbin:/bin:/usr/sbin:/usr/bin
LD_LIBRARY_PATH=/opt/lib:${LD_LIBRARY_PATH}
#COLOR1="\[\033[0;36m\]"
#COLOR2="\[\033[0;32m\]"
#COLOR3="\[\033[1;33m\]"
#COLOR4="\[\033[1;37m\]"
PS1="[\u@\h \W]$ "
#PS1="$COLOR2[$COLOR3\u@\h$COLOR2:$COLOR1\W$COLOR1\\]$ $COLOR4"
export TERMINFO=/opt/share/terminfo
export TERM=xterm
export PS1 PATH LD_LIBRARY_PATH
Далее в putty: Connection/SSH : RemoteCommand: bash
И все нормально будет работать
P.S. Если раскомментировать строки с #, то заголовки будут нарисованы разными цветами. (но в самом sh это будет выглядеть "забавно", если его запускать из bash)
Boris2777
14-07-2008, 05:05
Установил приложение cron, а оно автоматом не запускается....
Как сделать запуск приложения раз в 30 минут на роутере? подскажите, пожалуйста :)
а ещё лучше - как сделать запуск приложения после очередного коннекта к провайдеру, с задержкой 5 минут?
скажите, пожалуйста, хотя бы один из вариантов!
Установил приложение cron, а оно автоматом не запускается....
Как сделать запуск приложения раз в 30 минут на роутере? подскажите, пожалуйста :)
а ещё лучше - как сделать запуск приложения после очередного коннекта к провайдеру, с задержкой 5 минут?
скажите, пожалуйста, хотя бы один из вариантов!
http://wl500g.info/showpost.php?p=60932&postcount=3
Пункт 8.
Boris2777
14-07-2008, 12:27
Спасибо, установил, крон запускается.. нашел файл /opt/etc/crontab
установил туда запуск.. а ничего не запускается, хотя крон в процессах висит.. что я делаю не так? запускаю вот так -
в post-mount - /opt/etc/init.d/S10cron start
нашел файл /opt/etc/crontab
установил туда запуск.. а ничего не запускается
crontab выкладывай
Спасибо, установил, крон запускается.. нашел файл /opt/etc/crontab
установил туда запуск.. а ничего не запускается, хотя крон в процессах висит.. что я делаю не так? запускаю вот так -
в post-mount - /opt/etc/init.d/S10cron start
Читай тут (http://wl500g.info/showpost.php?p=59637&postcount=42), со слов "Редактируем /opt/etc/crontab."
Сделаешь как написано, потом в папку /opt/etc/cron.5mins кидаешь свой скрипт, будет каждые 5 минут отрабатывать.
Boris2777
14-07-2008, 14:37
все сделал по инструкции, так и не запускается ничего... =(
как посмотреть логи, что не так?
все сделал по инструкции, так и не запускается ничего... =(
как посмотреть логи, что не так?
Скрипт приложи полностью.
Boris2777
14-07-2008, 20:33
Выкладываю!
/opt/etc/cron.30mins/every.sh
/opt/bin/every -u mylogin -p mypassword
и /opt/etc/crontab
SHELL=/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/opt/sbin:/opt/bin
MAILTO="root"
HOME=/
# ---------- ---------- Default is Empty ---------- ---------- #
*/1 * * * * * /opt/etc/cron.30mins/
пробывал и имя указывать и файл run-parts создавать, по разному - итог один - не запускается и всё тут. Мне не нужны директории, проще каждый процесс руками прописывать (для меня), подскажите, как прописать просто чтобы раз в 30 минут запускать мой файлик?
зы. сам по себе файл every.sh , если его запустить - работает, по крону - нет..
ещё одно заметил...
[Boris@inet root]$ crontab -e
You (Boris) are not allowed to use this program (crontab)
See crontab(1) for more information
Выкладываю!
пробывал и имя указывать и файл run-parts создавать, по разному - итог один - не запускается и всё тут. Мне не нужны директории, проще каждый процесс руками прописывать (для меня), подскажите, как прописать просто чтобы раз в 30 минут запускать мой файлик?
зы. сам по себе файл every.sh , если его запустить - работает, по крону - нет..
ещё одно заметил...
[Boris@inet root]$ crontab -e
You (Boris) are not allowed to use this program (crontab)
See crontab(1) for more information
А run-parts у вас отсутствует что ли?
#!/bin/sh
#
# runparts.sh by macsat@macsat.com
# intended for use with cron
#
# based on rc.unslung by unslung guys :-)
#
if [ -z "$1" ]
then
echo "Usage : $0 "
fi
RUNDIR=$1"/*"
for i in $RUNDIR ;do
# Ignore dangling symlinks (if any).
[ ! -f "$i" ] && continue
case "$i" in
*.sh)
# Source shell script for speed.
(
trap - INT QUIT TSTP
set start
. $i
)
;;
*)
# No sh extension, so fork subprocess.
$i start
;;
esac
doneДолжен быть исполняемым
*/1 * * * * * логин /opt/bin/run-parts /opt/etc/cron.30mins/
*/1 * * * * *это точно 30 мин?
зачем все так сложно?
надо всего лишь установить cron
далее
crontab -e
вписать туда
*/30 * * * * /opt/bin/every -u mylogin -p mypassword
в post-mount'е запускать крон
P.S. прошу обратить внимание на то, что формат задачи крона задан автором не верно ... там 5 звездочек =), а не шесть, как у автора.
зачем все так сложно?
надо всего лишь установить cron
далее
crontab -e
вписать туда
*/30 * * * * /opt/bin/every -u mylogin -p mypassword
в post-mount'е запускать крон
P.S. прошу обратить внимание на то, что формат задачи крона задан автором не верно ... там 5 звездочек =), а не шесть, как у автора.
velsi зачем изобретать велосипед?
Boris2777
15-07-2008, 07:17
Забил на крон, написал маленький скрипт - кому интересно -
запуск проги
sleep 1800 (спим 30 минут)
запуск файла 2
файл2
запуск скрипта
всё работает с этим скриптом.. тему можно закрывать... а крон так и не заработал.
Единственная проблема... в top висят куча процессов sh.. это нормально?
делаю ещё раз крон.. похоже, у меня 2 разных крона из разных репозитариев... сижу разбираюсь..
Единственная проблема... в top висят куча процессов sh.. это нормально?
Следствие работы подобного скрипта ... Думаю, с течением времени забьют все ресурсы и повиснет агрегат.
Следствие работы подобного скрипта ... Думаю, с течением времени забьют все ресурсы и повиснет агрегат.
Cогласен, лучше настроить крон.
Boris2777
16-07-2008, 04:11
Вообщем, всё получилось настроить через крон! я переименовал логин Boris через веб интерфейс в root , и crontab -e стал нормально запускаться, там прописал - что нужно делать и всё. Всем спасибо! наконец-то нормально всё работает..
DemonGloom
06-02-2009, 18:26
Возможно ли это? Я попытался, но dropbear вместе со screen сразу завершаются (исключая вариант, когда сначала руками запускается screen, а затем в нем руками dropbear). При это на экран ничего не выводится кроме [screen is terminating] ( проверял с опцией -L) . Просто хочется запустить dropbear с ключом -E (что-бы не забивать лог) но при этом не потерять историю последних обращений к нему...
angel_il
06-02-2009, 18:32
дико извиняюсь, не понял зачем?
Не хочет человек, чтоб в лог писалось, как он туда входит-выходит.
StaREViL
06-02-2009, 18:56
Мммм...либо я чего то не понял.
screen -S "dropbear" -X screen dropbear -E 2>&1 1>/dev/null
Nebulosa
06-02-2009, 20:11
Ctrl+A+D - отцепиться от скрина.
DemonGloom
07-02-2009, 06:43
Мммм...либо я чего то не понял.
screen -S "dropbear" -X screen dropbear -E 2>&1 1>/dev/null
опять же dropbear сразу завершается ничего не говоря.. кстати, запуск screen из-под screen это нормально?
Ctrl+A+D - отцепиться от скрина.
Я не настолько плох... (забавно, я привык нажимать Ctrl+a, затем отпускать и затем нажимать d :) )
StaREViL
07-02-2009, 07:19
опять же dropbear сразу завершается ничего не говоря.. кстати, запуск screen из-под screen это нормально?
На счет нормально, не уверен.
Но у меня таким образом ссх запустился.
Всем привет.
Прошу помочь, все перерыл, но не нашел ответа. Может конечно плохо рыл =).
Роутер Asus-Wl500gpV2 прошивка 1.9.2.7-10.7
проблема такая читал что можно крон и lighttpd запускать из post-boot а кое где вообще написано из post-mount вообщем не суть, не запускается ни откуда =).
строки запуска
/opt/etc/init.d/S10cron
/opt/etc/init.d/S80lighttpd start
Прошу помощи. Заранее спасибо.
А Вы маны читали по первой настройке?
файл /opt/etc/init.d/rc.unslung
Запускает все слуюбы и соответственно останавливает.
А Вы маны читали по первой настройке?
файл /opt/etc/init.d/rc.unslung
Запускает все слуюбы и соответственно останавливает.
Читал читал... Просто из post-boot меньше всего прописывать... =)
Вопрос к знактокам:
Я скомпилировал свою програмку. Закинул ее в /usr/local/bin
Как положено, сохранил flashfs. Так вот запустить ее не получается до тех пор пока не примонтирую усб флешку в /opt
Без примонтированной флешки шелл пишет что программа не найдена.
Путь /usr/local/bin по умолчанию присутствует в переменной PATH
Самое интересное что скрипты (командные файлы начинающиеся с
#!/bin/sh
запускаются и без флешки
./имя_скрипта
Подскажите что можно сделать чтоб шелл смог найти мою програмку без примонтирования флешки
если прога скомпилирована с помощью тулчейна optware, то она зависит от библиотек optware, которые живут в /opt/lib. Каких именно можно посмотреть командой ldd
если прога скомпилирована с помощью тулчейна optware, то она зависит от библиотек optware, которые живут в /opt/lib. Каких именно можно посмотреть командой ldd
Огромное спасибо за подсказку. Так и есть. Компилировал на роутере тулчейном buildroot. А как можно скомилировать прогу без привязки к /opt/lib ?
нужно кросс-компилировать тем же тулчейном, что и прошивку
http://code.google.com/p/wl500g/wiki/CompilingCustomFirmware?wl=ru
http://www.wl500g.info/showpost.php?p=127349&postcount=198
Спасибо. Буду разбираться.
van-der-van
04-05-2011, 07:05
Есть роутер DIR-320 с прошивкой от Олега (ядро 2.6). Необходимо при старте веб-интерфейса запускать приложение (suart). Каким образом это можно сделать на ASP?
P.S. веб-интерфейс в настоящее время запускается с примонтированной флешки
FilimoniC
04-05-2011, 07:26
Есть роутер DIR-320 с прошивкой от Олега (ядро 2.6). Необходимо при старте веб-интерфейса запускать приложение (suart). Каким образом это можно сделать на ASP?
P.S. веб-интерфейс в настоящее время запускается с примонтированной флешки
Зачем это делать на ASP?
#!/bin/sh
httpd -p 81 -d
suart -a -b -c -d
Применрно так..
van-der-van
04-05-2011, 07:29
#!/bin/sh
httpd -p 81 -d
suart -a -b -c -d
Применрно так..
А куда нужно вставить этот код?
Зачем это делать на ASP?
Просто suart почему то в автозапук не хочет ставиться и поэтому его надо запустить, когда человек заходит в веб-интерфейс.
Вот и интересуюь всеми возможными способами.