Страница 1 из 1
Не стартует скрипт...
Добавлено: 2007-05-22 11:17:54
Antti
Прошу помощи, что я делаю не правильно:
есть след. скрипт, лежит в /usr/local/scripts/script_sql:
Код: Выделить всё
#!/bin/sh
if [ -s "/usr/local/squid/logs/access.log" ]
then
cp /usr/local/squid/logs/access.log /tmp/squidforparse.log
>/usr/local/squid/logs/access.log
awk '{print "INSERT INTO squid (ip,cacheinfo,bytes,link,trans,time) VALUES(\""$3"\",\""$4"\","$5",\""$7"\",\""
$9"\",from_unixtime("$1"));"};' < /tmp/squidforparse.log | mysql -D traffics -u root --password=xxxxxx
rm -f /tmp/squidforparse.log
fi
если его запускать руками, все работает как часы, лог попадает в базу, но если я ставлю в /etc/crontab
Код: Выделить всё
*/1 * * * * root /usr/local/scripts/script_sql
то он отрабатывает (это проверено), но в базе строк не прибавляется...
Добавлено: 2007-05-22 11:22:38
dikens3
Включай log для mysql в my.cnf и смотри, было ли подключение к базе, что было сделано.
Добавлено: 2007-05-22 11:35:02
Antti
Ха, в том то и дело, что в логе тишина при отработке из крона, а при отработке руками все нормально...вот кусок:
Код: Выделить всё
34 Query INSERT INTO squid (ip,cacheinfo,bytes,link,trans,time) VALUES("192.168.5.7
4","TCP_MISS/200",94002,"http://img1.nnm.ru/imagez/gallery/7/1/e/f/9/71ef907a7142394981b3e716623ee114_full.jpg
","DIRECT/88.212.197.170",from_unixtime(1179817280.564))
34 Query INSERT INTO squid (ip,cacheinfo,bytes,link,trans,time) VALUES("192.168.5.7
4","TCP_MISS/200",42131,"http://img1.nnm.ru/imagez/gallery/3/7/f/8/6/37f86b069eae0e406e10d193f072c8fb_full.jpg
","DIRECT/88.212.197.170",from_unixtime(1179817280.648))
34 Query INSERT INTO squid (ip,cacheinfo,bytes,link,trans,time) VALUES("192.168.5.7
4","TCP_MISS/200",63447,"http://img1.nnm.ru/imagez/gallery/f/8/6/7/0/f867039ef811bd0b1f087cca9d003102.jpg","DI
RECT/88.212.197.170",from_unixtime(1179817280.847))
34 Query INSERT INTO squid (ip,cacheinfo,bytes,link,trans,time) VALUES("192.168.5.7
4","TCP_MISS/304",337,"http://www.nnm.ru/img/default/icons/rayting_0.gif","DIRECT/89.111.180.41",from_unixtime
(1179817280.849))
а при отработке из крона вообще никаких записей не появляется, как будто и не пытается вставлять....
Добавлено: 2007-05-22 12:56:27
Antti
После поисков обнаружилась след. весчь - письма от крона такого содержания:
Код: Выделить всё
From: root@neo999.test.local (Cron Daemon)
To: root@neo999.test.local
Subject: Cron <root@neo999> /usr/local/scripts/script_sql
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/etc:/bin:/sbin:/usr/bin:/usr/sbin>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <LOGNAME=root>
X-Cron-Env: <USER=root>
Status: RO
mysql: not found
насколько я понимаю, в этом весь косяк, только инфы маловато, что где поправить надо ?
Добавлено: 2007-05-22 12:57:26
dikens3
Полный путь к mysql допиши.
... | /usr/local/bin/mysql ...
P.S. Переменная PATH пустая наверное или в путях нет /usr/local/bin
Добавлено: 2007-05-22 13:33:48
Antti
Все, тема закрыта. Заработался...

пора в отпуск. Отличие от верхнего скрипта подчеркнуто:
Код: Выделить всё
#!/bin/sh
if [ -s "/usr/local/squid/logs/access.log" ]
then
cp /usr/local/squid/logs/access.log /tmp/squidforparse.log
>/usr/local/squid/logs/access.log
awk '{print "INSERT INTO squid (ip,cacheinfo,bytes,link,trans,time) VALUES(\""$3"\",\""$4"\","$5",\""$7"\",\""
$9"\",from_unixtime("$1"));"};' < /tmp/squidforparse.log | /usr/local/bin/mysql -D traffics -u root --password=xxxxxx ^^^^^^^^^
rm -f /tmp/squidforparse.log
fi
To dikens3: Спасибо !
