Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по Linux (http://forum.oszone.net/forumdisplay.php?f=9)
-   -   Вопрос по Cron! (http://forum.oszone.net/showthread.php?t=184440)

Gef 02-09-2010 00:05 1486856

Вопрос по Cron!
 
Добрый день! Вообщем такая задача стоит!
При обрыве l2TP соединения нужно автоматический переконект!
Скрипт выглядит так:

#!/usr/bin/perl
chomp($isi=`/bin/ping -c 3 173.194.37.104|grep "64 bytes"|wc -l`);
if (not($isi>0)) {
system("date");
printf("Restart Inet\n");
system("echo `date` PPP restarted by timeout... >> /var/log/inetrestart.log");
system("/usr/sbin/xl2tpd stop");
sleep(5);
system("/usr/sbin/xl2tpd start");}
else {
system("echo `date` PPP works ok! >> /var/log/inetrestart.log");
}

В cron прописано:

0-59 * * * * /home/mkr/inetrestart

ак вот при прямом запуске скрипта скрипт выполняется, из под кроне нет!
В логе крона всё нормально!

Где собака зарыта???

Kent 02-09-2010 00:59 1486878

А что в логе пишет? И в каком кронтабе задание?

Telepuzik 02-09-2010 12:39 1487080

Gef
Cron перезапускали?

Serenikii 02-09-2010 15:36 1487218

1 вариант
1. Вводишь crontab -e
2. Добавляешь пробел
3. Сохраняешься и выходишь - таблица крона обновилась (перезапуск не нужен)

2 вариант
1. Проверяешь от имени какого пользователя запускается крон
2. Делаешь су <имя пользователя крона>
3. Проверяешь, запускается ли скрипт

Gef 02-09-2010 16:08 1487251

пасибо за ответ! Крон перезапускал! В мыльном письме приходит что синтаксис ОК! В своём логе пишет, что задание запущено! В чём трабл?

Kent 02-09-2010 16:20 1487255

Цитата:

Цитата Gef
В чём трабл? »

Трабл в том, что вы не можете нормально ответить на вопросы.

Я просил привести строку из лога и указать в каком кронтабе находится задание.

Gef 02-09-2010 16:37 1487265

Задание находится под рутом! Лог привести не могу щас, вечерем дам, инет на той стороне отсох!

Gef 02-09-2010 19:51 1487381

Вот что в логе:

/usr/sbin/cron [2877]: (root) CMD (/home/mkr/inetrestart)
/usr/sbin/cron [2881]: (root) CMD (/home/mkr/inetrestart)

Срабатует каждую минуту!

Вот что приходит на мыло:

/home/mkr/inetrestart syntax OK

Такие вот дела....

Kent 02-09-2010 21:59 1487457

Цитата:

Цитата Gef
/home/mkr/inetrestart syntax OK »

"syntax OK" показывает, что производится проверка синтаксиса, а не запуск скрипта. Это perl запускается с опцией -c
А вот почему, непонятно.

Gef 03-09-2010 12:59 1487788

Так в каком направлении копать?

ch3burashka 03-09-2010 16:52 1487972

chmod 744 /home/mkr/inetrestart --> executable flag присутствует?

в крайнем случае я бы попробовал написать shell wrapper:

PHP код:

#!/bin/bash
$HOME/.bash_profile
/home/mkr/inetrestart 


Gef 03-09-2010 19:25 1488073

Да, на исполнение файлик стоит! Скрипт просто запускает перловский скрипт, ятак понимаю! А этот скрипт надобно прописать в кроне?

Alan85 03-09-2010 23:09 1488172

покажи вывод файла /var/spool/cron/crontabs

ch3burashka 04-09-2010 13:19 1488374

вот простенький bash скрипт, кот. делает тоже самое

PS я его не проверял

PHP код:

#!/bin/bash

$HOME/.bash_profile

export IP2CHK
="173.194.37.104"
export LOG=/var/log/inetrestart.log

ping 
-c 3 ${IP2CHK} &>/dev/null
if [ "$?" -ne "0" ]; then
    
echo "[`date '+%Y-%m-%d %H:%M:%S'`] PPP restarted by timeout..." tee -${LOG}
    /
etc/init.d/xl2tpd restart
else
    echo 
"[`date '+%Y-%m-%d %H:%M:%S'`] PPP works ok!" >> ${LOG}
fi 


Gef 07-09-2010 14:20 1490311

Спасибо огромное за ответы! Сейчас столкнулся с такой проблеммой!
Поменял полность железо: Мать, процы, память....
При загрузке не может определить разделы и вывалюется в шелл!!!
Систему перестонавливать не охота, уж много чего на ней крутится!
Как победить???? Бьюсь дней 5 уже.....


Время: 06:15.

Время: 06:15.
© OSzone.net 2001-