Снощи ми остана малко време да прегледам до къде бях стигнал и какво в крайна сметка ще се получи от всичко до момента по темата.Днес също заделих малко време,защото смятам че е редно да публикувам крайния резултат и за в бъдеще да сработи идеята и при друг.
index.html<html>
<body>
<form><input type="button" value="Reset" onClick="window.location.href='inet.php'"></form>
</body>
</html>
inet.php<?php
exec('/home/user/public_html/all/inet/resetnet.sh');
?>
resetnet.sh#!/bin/bash
echo 1 > /home/user/public_html/all/inet/data
Файловете
index.html inet.php resetnet.sh се намират в директория,която се индексира от апачето и юзър различен от root.
Под root се изпълняват следните файлове:
inet.sh resetnet.sh (
resetnet.sh е с различно съдържание от предходния!За удобство може да му бъде променено името,но и да бъде отразено в останалите файлове.)
inet.sh#!/bin/bash
data="/home/user/public_html/all/inet/data"
c="cat"
script="/root/resetnet.sh"
if [ `$c $data` == "1" ] ; then $script
fi
echo 0 > $data
resetnet.sh#!/bin/bash
# reconnect the connection
time=$(date +"%d-%m-%Y @ %H:%M:%S")
poff -a
pon dsl-provider
sleep 3
echo $time >> /root/inet.log
exit 0
root@beast:~#
crontab -l
* * * * * /root/inet.sh >/dev/null 2>&1
root@beast:~#
Скрипта се изпълнява всяка минута и проверява във файл
data дали е
1 или
0,ако е
1 скрипта сваля pppoe връзката после я вдига и логва във файл inet.log
Файла
data съм го направил с права на апаче юзър и групата ( chown -R www-data:www-data data - така апачето може да записва
1 или
0 в този файл..при мен е www-data т.е дебиан )
root@beast:~# ls -la /home/user/public_html/all/inet/data
-rwxr-xr-x 1 www-data www-data 2 Jul 15 20:38 /home/user/public_html/all/inet/dataroot@beast:~#
Ако използвате този метод - дистанционно и ръчно да сваляте и вдигате пппое връзката е важно да ограничите достъпа до index.html до определен адрес,адреси или цяла подмрежа.Защо ми беше нужно това?Днс-ите на доставчика ми се шашкат (може и рутера при мен) и от време на време трябва да се убие пппое връзката,а после да се вдигне,а когато не сте наблизо или нямате време идва на помощ довереник,който без роот достъп да свърши тази задача.Към момента не коментирам възможността с реализация на скрипт,който да пингва даден адрес и ако има проблем с връзката да направи същото.Очаквам мнения и решения за нещо по читаво като изпълнение.
Благодаря на съфорумците,които се включиха и ми спестиха време и нерви.Идеята не е моя и затова по
на автора и.