URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 93686
[ Назад ]

Исходное сообщение
"Скрипт запущеный кроном отрабатывает не полностью. Куда копать?"

Отправлено gardener , 15-Авг-12 02:05 
Здравствуйте!

Прошу помощи в диагностике проблемы.

Имеем:

gateway# uname -a
FreeBSD gateway.office 8.3-STABLE FreeBSD 8.3-STABLE #1: Sat Jul 21 14:57:29 EEST 2012 user@gateway.office:/usr/obj/usr/src/sys/IPFW_NAT  i386

gateway# cat /etc/crontab
# /etc/crontab - root's crontab for FreeBSD
#
# $FreeBSD: src/etc/crontab,v 1.33.2.1.6.1 2010/12/21 17:09:25 kensmith Exp $
....
# Rotating SQUID logs
0    0    *    *    *    root    /usr/local/etc/squid/squid2mysql.sh

gateway# cat /usr/local/etc/squid/squid2mysql.sh
#!/bin/sh
/usr/local/sbin/squid -k rotate
sleep 300
awk '{FS="[ ]+"} \
    split($9, h, "/") split($4, s, "/") \
    {if($6 =="CONNECT") site=substr($7, 1, index($7, ":")-1); \
    else site=substr($7, 8, index(substr($7, 8), "/")-1); \
    if($6 =="CONNECT") param=substr($7, length(site)+2); \
    else param=substr($7, length(site)+9); \
    print "INSERT INTO PROXY_LOGS (LOG_DATE, LOG_TIME, CLIENT, HOST, SQUID_STATUS, HTTP_STATUS, METHOD, URL, SITE, PARAM, HIERARCHY, MIME_CODE, BYTES, DURATION) \
        VALUES(DATE(FROM_UNIXTIME("$1")), TIME(FROM_UNIXTIME("$1")), \""$3"\", \""h[2]"\", \""s[1]"\", "s[2]", \""$6"\", \""$7"\", \""site"\", \""param"\", \""h[1]"\", \""$10"\", "$5", "$2");"};' \
    < /usr/local/etc/squid/log/access.log.0 | mysql -D billing -u root --password=mypassword
echo `date` > /usr/local/etc/squid/updated

Так вот проблема в том, что скрипт запущенный из командной строки root-ом отрабатывает целиком, а запущеный кроном только начало и конец. В базу ничего не заносится. Помогите найти грабли!!!


Содержание

Сообщения в этом обсуждении
"Скрипт запущеный кроном отрабатывает не полностью. Куда копать?"
Отправлено Mr. Sneer , 15-Авг-12 07:14 
>[оверквотинг удален]
> \
>         VALUES(DATE(FROM_UNIXTIME("$1")), TIME(FROM_UNIXTIME("$1")), \""$3"\", \""h[2]"\",
> \""s[1]"\", "s[2]", \""$6"\", \""$7"\", \""site"\", \""param"\", \""h[1]"\", \""$10"\",
> "$5", "$2");"};' \
>     < /usr/local/etc/squid/log/access.log.0 | mysql -D billing -u root
> --password=mypassword
> echo `date` > /usr/local/etc/squid/updated
> Так вот проблема в том, что скрипт запущенный из командной строки root-ом
> отрабатывает целиком, а запущеный кроном только начало и конец. В базу
> ничего не заносится. Помогите найти грабли!!!


"Скрипт запущеный кроном отрабатывает не полностью. Куда копать?"
Отправлено Mr. Sneer , 15-Авг-12 07:15 
>[оверквотинг удален]
> \
>         VALUES(DATE(FROM_UNIXTIME("$1")), TIME(FROM_UNIXTIME("$1")), \""$3"\", \""h[2]"\",
> \""s[1]"\", "s[2]", \""$6"\", \""$7"\", \""site"\", \""param"\", \""h[1]"\", \""$10"\",
> "$5", "$2");"};' \
>     < /usr/local/etc/squid/log/access.log.0 | mysql -D billing -u root
> --password=mypassword
> echo `date` > /usr/local/etc/squid/updated
> Так вот проблема в том, что скрипт запущенный из командной строки root-ом
> отрабатывает целиком, а запущеный кроном только начало и конец. В базу
> ничего не заносится. Помогите найти грабли!!!

В почту для рута cron ничего не пишет?



"Скрипт запущеный кроном отрабатывает не полностью. Куда копать?"
Отправлено gardener , 15-Авг-12 13:06 
> В почту для рута cron ничего не пишет?

Почта как-то давно не работает ...... потому ничего сказать не могу.

ВСЕМ: Правлю пути. О результатах отпишусь.



"Скрипт запущеный кроном отрабатывает не полностью. Куда копать?"
Отправлено gardener , 16-Авг-12 03:28 

> ВСЕМ: Правлю пути. О результатах отпишусь.

Кто бы мог подумать что дело в путях. Благодарю всех за помощь! Работает!!!


"Скрипт запущеный кроном отрабатывает не полностью. Куда копать?"
Отправлено YuryD , 15-Авг-12 07:19 
> sleep 300
> awk '{FS="[ ]+"} \
> Так вот проблема в том, что скрипт запущенный из командной строки root-ом
> отрабатывает целиком, а запущеный кроном только начало и конец. В базу
> ничего не заносится. Помогите найти грабли!!!

sleep и awk хорошо бы с полным путем запускать.


"Скрипт запущеный кроном отрабатывает не полностью. Куда копать?"
Отправлено Doka , 15-Авг-12 08:55 
>> sleep 300
>> awk '{FS="[ ]+"} \
>> Так вот проблема в том, что скрипт запущенный из командной строки root-ом
>> отрабатывает целиком, а запущеный кроном только начало и конец. В базу
>> ничего не заносится. Помогите найти грабли!!!
>  sleep и awk хорошо бы с полным путем запускать.

mysql too


"Скрипт запущеный кроном отрабатывает не полностью. Куда копать?"
Отправлено LSTemp , 16-Авг-12 07:52 
>[оверквотинг удален]
> \
>         VALUES(DATE(FROM_UNIXTIME("$1")), TIME(FROM_UNIXTIME("$1")), \""$3"\", \""h[2]"\",
> \""s[1]"\", "s[2]", \""$6"\", \""$7"\", \""site"\", \""param"\", \""h[1]"\", \""$10"\",
> "$5", "$2");"};' \
>     < /usr/local/etc/squid/log/access.log.0 | mysql -D billing -u root
> --password=mypassword
> echo `date` > /usr/local/etc/squid/updated
> Так вот проблема в том, что скрипт запущенный из командной строки root-ом
> отрабатывает целиком, а запущеный кроном только начало и конец. В базу
> ничего не заносится. Помогите найти грабли!!!

тыщу раз уже во всех факах:
1) крон работает от рута
2) пути прописывать полностью
3) жать Enter после последней строки скрипта (special 4 old linux)