Почитайте вот эту тему http://wl500g.info/showthread.php?t=...t=pre-shutdown
например есть такой код в теме [How To] Install and Configure Olegs firmware
но уже в теме Установка rTorrent "на пальцах". такого файла даже нету, хотя там даже вложение есть со всеми конф. файлами
4b. Startup-scripts
There is a script to keep the file system clean:
Code:
я конечно догадываюсь, что этот код проверяет фс, но для чего и когда во времени не понятно, и вообще для чего, если в другой теме токого файла уже нет дажеvi /usr/local/sbin/pre-mount
with this content:
Code:
#! /bin/sh
swapon -a
for i in `awk '/ext3/{print($1)}' /etc/fstab` ; do
if [ -b $i ] ; then
grep -q $i /proc/mounts || e2fsck -p $i 2>&1 | logger -t e2fsck
else
logger -t fstab "$i is not attached"
fi
done
Last edited by userouter; 17-11-2008 at 00:00. Reason: причина
Почитайте вот эту тему http://wl500g.info/showthread.php?t=...t=pre-shutdown
то что надо спасибо )kir-g
Всё это очень идивидуально.
Например, у меня 128 мегабайт ОЗУ, свопа нет, стало быть, я его там и не включаю. Многие включают.
Зато внутрь роутера запаял флешку на дополнительный USB-порт, появилась проблема с монтированием дисков на нужную точку в зависимости от подключенных девайсов к внешним портам.
Вот, замутил кусок pre-mount:
Обрабатываются варианты: подключен винт, винт и еще что-то и ничего не подключено.Code:# Номера дисков по умолчанию (внутренняя флешка - нулевой; винт - отсутствует) OPT=0 HOME=5 echo -e "# device\t\tMountpoint\tFStype\tOptions\t\tDump\tPass#" > /etc/fstab [ -L /dev/discs/disc1 ] && OPT=1 && HOME=0 [ -L /dev/discs/disc2 ] && OPT=2 echo -e "/dev/discs/disc$OPT/part1\t/opt\t\text3\trw,noatime\t1\t1" >> /etc/fstab [ $HOME -ne 5 ] && \ echo -e "/dev/discs/disc$HOME/part1\t/home\t\text3\trw,noatime\t1\t1" >> /etc/fstab
Файл fstab генерируется динамически.
Вот и получается, что "в каждой теме по-разному...."
Честно перерыл тонны информации, но нашёл только устаревшие данные по скриптам:
датируется 2003 годом. И ещё нашёл описание скрипта по крону.Итак, моя прошивка пытается исполнить следующие файлы:
* /usr/local/sbin/pre-boot - исполняется до основной инициализации, в момент, когда ещё не подгружены никакие модули ядра, но уже развёрнут flashfs и скопирован начальный образ для /etc из /usr/etc.
* /usr/local/sbin/post-boot - исполняется после того, как устройство закончило загрузку и запустило все сервисы, за исключением связанных с веб-камерой и usb дисками (они запустятся примерно через 10 секунд после этого при "обработке" hot plug событий, когда АСУСовский обработчик до них доберётся)
* /usr/local/sbin/post-mount - отрабатывает, когда устройство завершает монтирование usb дисков, с тем чтобы Вы могли запустить свои сервисы, которые эти диски используют
* /usr/local/sbin/pre-shutdown - работает перед перезагрузкой системы
* /usr/local/sbin/post-firewall - исполняется всякий раз, после того как устройство меняет внутренние правила с помощью команд iptables, с тем, чтобы Вы могли внести свои изменения в firewall
Хочу получить полный список скриптов.
Если точнее - то сейчас мне необходима точка входа, когда срабатывает переподключение pptp до моего провайдера.
Указания "переписать /tmp/ppp/ip-up - не помогают, т.к. перезаписать на этот файл я не могу, он помечен как readonly
Мне почему-то кажется, что есть ещё какие-то событийные скрипты, добавленные после 2003 года.
/tmp/local/sbin/ppp0-ip-upЕсли точнее - то сейчас мне необходима точка входа, когда срабатывает переподключение pptp до моего провайдера.
/tmp/local/sbin/ppp0-ip-down
Создал скрипт /tmp/local/sbin/ppp1-ip-up
chmod -X /tmp/local/sbin/ppp1-ip-up#!/bin/sh
route add -net 192.168.0.0 netmask 255.255.0.0 gw 192.168.77.5
logger -t syslogd "Yes!1=$1 2=$2 3=$3 4=$4 5=$5 6=$6"
kill процесс pptp (который создаёт и обслуживает ppp1)
Вижу в логах, коннект рвёться.
Запускаю скрипт на коннект:
pppd call MyScrtipt
вижу, коннект устанавливается, в логах ничего не проявляется.
Вопрос: что ещё нужно сделать, чтобы указанные скрипты заработали?
Возможно, chmod +x .... будет лучше?
По крайней мере, скрипт станет исполняемым
недавно решал одну проблемку с падением сессии и нарыл что надо в веб-морде IP Config WAN & LAN в поле "Advanced pppd options" указывать имена скриптов при падении и подъеме ppp сессии. сделал, все работало, но потом переделал по другому, сечас убей не помню как делал поиском попробуй.
а проблему решил через post-firewall он тоже запускается при подъеме ppp сессии, проверяю $1 если ppp0
о , нашел, прописывал
это работало в олеговской -10 пришивке, сейчас перешел на чехов, у них гляжу вроде готовые скрипты лежат.ip-up-script /usr/local/sbin/ip-up ip-down-script /usr/local/sbin/ip-down
Last edited by Omega; 05-02-2012 at 12:37.
Всё равно, не с этим дело. Это я опечатался
Скрипт руками запускается и в лог пишет, а при поднятии интерфейса- тишина
Расшифруй, как использовал то?
Я пока нашёл идиотское решение(некрасивое), как ты и говорил - через post-firewall
типа такого:
типа проверяю - если ppp0 запущен, и ещё не запущен ppp1 - то запустить его.#!/bin/sh
ifconfig ppp0 &&
( ifconfig ppp1 ||
{ logger -t post-firewall "STARTED ppp1"; pppd call raz;}
)
Считаю решение кривым, и хотел бы найти более элегантное.
Расшифруй предыдущий пост
спасибо!
спасибо за
за параметры скрипта.
одно но - при pptp соединении - асус два раза коннектит к провайдеру:
и запускает post-firewall первый раз без ip адреса ( "$2" == "0.0.0.0")
а второй раз, уже с выданным провайдером
Last edited by Omega; 05-02-2012 at 12:34.
я сначал провел маленькое исследование, смотрел какие параметры передаются в скрипты при подъеме сессии (видел код гдето на форуме)
вставил в ip-up
это выводит в лог значения параметров, в post-firewall аналогичноPHP Code:
/usr/bin/logger -t ip-up "IP-UP script"
/usr/bin/logger -t ip-up "PAR1 $1"
/usr/bin/logger -t ip-up "PAR2 $2"
/usr/bin/logger -t ip-up "PAR3 $3"
/usr/bin/logger -t ip-up "PAR4 $4"
/usr/bin/logger -t ip-up "PAR5 $5"
/usr/bin/logger -t ip-up "PAR6 $6"
/usr/bin/logger -t ip-up "PAR7 $7"
/usr/bin/logger -t ip-up "PAR8 $8"
/usr/bin/logger -t ip-up "PAR9 $9"
Привет ALL.
Помогите решить проблемку.
Настраиваю роутер, по этой инструкции:
Там есть несколько моментов, про записи в файлы:
post-firewall, pre-boot, post-mount и т.д.
Права для запуска скриптов из этой директории прописал, но скрипты, вписаные в эти файлы не выполняются.
Как решить?
WL-500gPremium