Помогите составить скрипт
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Здравствуйте! Помогите мне пожалуйста разобраться со скриптом. Я в линуксе запускаю интернет из терминала набором следующих команд: sudo su
/usr/bin/szap -l 10750 -c /etc/channels.conf -n 1
/usr/bin/dvbnet -p 512
ifconfig dvb0_0 hw ether 00:18:bd:5a:71:f3 172.20.53.155 netmask 255.255.255.0 up
echo 0 > /proc/sys/net/ipv4/conf/dvb0_0/rp_filter
/usr/bin/szap -l 10750 -c /etc/channels.conf -n 1 > /dev/null &
/usr/local/sbin/gx-linux-4.2.3/globax /etc/globax.conf
Хочется запускать интернет с помощью скрипта, чтоб каждый раз все команды заново не вводить.
Составила скрипт, а он не хочет работать. Вообще мой скрипт рабочий или нет. Вот сам скрипт:
#!/bin/sh
PATN=/usr/sbin:/usr/bin:/sbin:/bin
NAME=`basename $0`
IP="172.20.53.155"
MAC="00:18:bd:5a:71:f3"
PID="512"
GLOBAX_BIN="/usr/local/sbin/globax"
GLOBAX_CONF="/etc/globax.conf"
CHANNELS_conf="/etc/channels.conf"
case "$1" in
start)
echo "starting $NAME..."
szap -l 10750 -c etc/CHANNELS_CONF -n 1 > /dev/null &
dvbnet -p $PID
ifconfig dvb0_0 $IP
ifconfig dvb0_0 hw ether $MAC
echo 0 > /proc/sys/net/ipv4/conf/dvb0_0/rp_filter
/usr/local/sbin/gx-linux-4.2.3 /etc/globax.conf
;;
stop)
echo "stoping $NAME..."
killall globax
ifconfig dvb0_0 down
dvbnet -d 0
killall szap
;;
restart)
$0 stop
$0 start
;;
*)
echo "usage: $NAME start|stop|restart"
exit 3
;;
esac
exit 0
И еще, я его весь от руки набивала, может есть просто ошибки.
Опыта нет абсолютно, это мой первый скрипт :). Взяла я этот скрипт вот от сюда http://forum.ubuntu.ru/index.php?topic=27201.0;all и подставила свои данные в него. Скрипт делала еще парой других вариантов, результат тот же. Файлы указанные существуют, смотрите начало первого поста. С помощью тех команд у меня запускается инет, там пути прописаны так же. В свойствах файлов всем разрешено чтение и запись. Пытаюсь запустить скрипт следующими командами:
sudo chmod a+x /etc/init.d/dbvd
sudo /etc/init.d/dbvd start
интернет у меня спутниковый, с запросником 3G мегафон- модем.
> Нет ни одного упоминания о маршрутах, что является шлюзом по умолчанию, где расположен шлюз спутникового провайдера... Отсюда можно по подробней :) - где их упомянуть, куда вписать и что?
sudo -s Лучше
Лог нужен скрипта. И у Вас дожно быть gprs соединение в начале.
> И у Вас дожно быть gprs соединение в начале.
Я может что проглядел, но про gprs ни слова. Там может быть и VPN и IpIp и все что угодно...
Порядок создания соединения не принципиален. Главное чтобы маршруты позволяли создать обратный канал (по спутнику), а затем сделать полученный тунель маршрутом по умолчанию.
Зовите крутого сисадмина!!! Иначе никак :)
У меня как раз GPRS, соединение устанавливается автоматически при входе в систему. Еще такой вопрос. При запуске инета раньше вводила команды немного в другом порядке: сначала МАС адрес, потом PID - так не запускалось, затем поменяла порядок и все стало нормально. Может и в скрипте поменять?
-> Порядок создания соединения не принципиален. Главное чтобы маршруты позволяли создать обратный канал (по спутнику), а затем сделать полученный туннель маршрутом по умолчанию. - А как это сделать?
- > Зовите крутого сисадмина!!! Иначе никак :) - Так где же его взять то? :D .
-> Лог нужен скрипта.-А где находится этот лог, скажите пожалуйста :).
Вот вариант исправленного рабочего скрипта, вдруг для кого нибудь окажется полезным.
#!/bin/sh
PATH=/usr/sbin:/usr/bin:/sbin:/bin
NAME='basename $0'
MAC="00:18:bd:5a:71:f3"
IP="172.20.53.155"
PID="512"
#GLOBAX_BIN="/usr/local/sbin/globax"
#GLOBAX_CONF="/etc/globax.conf"
CHANNELS_CONF="/etc/channels.conf"
case "$1" in
start)
echo "starting $NAME..."
szap -l 10750 -c /etc/channels.conf -n 1 > /dev/null &
dvbnet -p $PID
ifconfig dvb0_0 $IP
ifconfig dvb0_0 hw ether $MAC
echo 0 > /proc/sys/net/ipv4/conf/dvb0_0/rp_filter
/usr/local/sbin/globax /etc/globax.conf
;;
stop)
echo "stoping $NAME..."
killall globax
ifconfig dvb0_0 down
dvbnet -d 0
killall szap
;;
restart)
$0 stop
$0 start
;;
*)
echo "usage: $NAME start|stop|restart"
exit 3
;;
esac
exit 0
Я в готовом чужом скрипте поменяла данные на свои, прописала пути к файлам и все, скрипт заработал. Затем создала кнопку запуска на панели, т.ч. интернет запускаю одним нажатием кнопки:)
Простите, а как бы вы нашли наш сайт, если бы мы не давали пояснений к командам которые описываем?
Для чего этот скрипт, как его использовать, и так далее. В таком виде он может и пригодился бы кому-либо, но его не найдут.
:) Исправляюсь, все подробно пояснила в статье: "Как я настраивала спутниковый интернет в Linux".




У вас вообще есть опыт написания программно кода?
В общем интересно, почему вы решили что он не работает. Все ли пути верны (то есть существуют ли указанные файлы).
Достаточно ли полномочий для его выполнения? Скрипт хорошо писать, когда отдельными командами убедился в том, что все работает. Потом загоняете их в скрипт и отлаживаете сам сценарий.
Ну а так, сложновато что-либо сказать.
Давайте разбираться по порядку. Сценарий работает со спутниковой картой? У вас интернет "приходит" со спутника? Если спутник у Вас не "двусторонний", то этот сценарий не заработает.
Нет ни одного упоминания о маршрутах, что является шлюзом по умолчанию, где расположен шлюз спутникового провайдера...
Настраивайтесь на работу мозга :)
______________________________
In the world without walls, who needs windows?