Здрасьте.
Нужно подключать на машине VPN-соединение в определённое время - в 2:30. И отключать его в 10:00.
----
cat /etc/ppp/peers/tt_pptp
defaultroute
replacedefaultroute
require-mschap-v2
pty "pptp 85.158.48.1 --nolaunchpppd"
name 650458
remotename PPTP
file /etc/ppp/options.pptp
ipparam tt_pptp
----
Создал вот такой скрипт:
----
cat /etc/vpn_start
#!/bin/bash
LOG="/var/log/tt-pptp.log"
while true; do
echo -e "\n===============\nStarting at `date`" >> $LOG
pppd call tt_pptp >> $LOG
sleep 10;
done
----
В crontab -e следующее вписал:
----
crontab -l
#m h dom mon dow command
30 2 * * * /usr/bin/nohup /etc/vpn_start > /dev/null 2>&1 &
0 10 * * * /usr/bin/poff
----
Не работает. :-\
Подскажите, каким образом лучше сделать подключение и отключение в нужное время?
P.S.: Пускать по расписанию хочу для того, что использовать на сервере rtorrent, находящийся там в screen'e.
Ну во первых судя по конфигу, вывод подключения не будет у тебя идти на stdout и следовательно перенаправлять в файл будет нечего.
Во вторых скрипт у тебя запускает подключение каждые 10 секунд!
mky, ты прав. Надо повышать уровень мастерства. :)
Пока остановился на таком:
----
cat /etc/vpn_start.sh
#!/bin/bash
PPPD="/usr/sbin/pppd"
LOG="/var/log/tt-pptp.log"
echo -e "\n===============\nStarting at `date`" >> $LOG
$PPPD call tt_pptp >> $LOG
----
cat /etc/vpn_stop.sh
#!/bin/bash
LOG="/var/log/tt-pptp.log"
echo -e "\n----\nNow will be killed pppd..." >> $LOG
killall pppd
----
crontab -l
#m h dom mon dow command
15 2 * * * /etc/vpn_start.sh > /dev/null 2>&1 &
30 10 * * * /etc/vpn_stop.sh > /dev/null 2>&1 &
:) не трушно конечно. После этого при запуске из crontab'a (вручную конечно же работало) лог в писало:
----
sh: pptp: command not found
Couldn't get channel number: Input/output error
Но я в tt_pptp прописал полный путь до pptp. :) И запуск успешно стал проводиться.
Теперь надо будет проверку на разрыв связи реализовать. А sleep я вообще решил убрать.