-[ Oleg Anisimov (Олег Анисимов) 02/04/2009 16:45 (GMT +3)
> ivan demakov пишет:
> > On Thursday 02 April 2009 19:22:42 Олег Анисимов wrote:
> >> Доброго всем LOCAL_TIME!
> >>
> >> Голову сломал уже. Помогите разобраться в ситуации.
> >> Есть скрипт, который надо выполнять из cron. Если
> >> упрощенно, выглядит так:
> >>
> >> #!/bin/bash
> >>
> >> HOST=stat
> >>
> >> info=`exec ssh r...@$host uptime`
> >> UP=`echo $info | cut -d " " -f 3`
> >> la=$( echo "scale=0; `echo $info | cut -d " " -f 11 | tr ',' ' '`*100" |
> >> bc -l | tr '.' ',') LA=`printf %.0f  $la`
> >>
> >> echo $UP $LA
> >>
> >> Беда в том, что если скрипт запускается из cron - получаются пустые
> >> переменные. Если запустить скрипт в консоли - печатаются реальные цифры.
> >> Если до кучи выводить в файл значения переменных, то становится ясно,
> >> что $info, в случае запуска по крону оказывается пустой.
> >>
> >> В чем подвох?
> >
> > возможно крон запускает скрипт от другого пользователя.
> > и следовательно, ssh не находит "~/.ssh"
> > а если поьзователь тот, то смотри разницу между login и не-login шелом.
>
> Строчка в /etc/cron.d/myscripts :
> */5 * * * * root /opt/rrd/stat/update.sh 2>&1 > /dev/null
>
А ты убери 2>&1 > /dev/null и посмотри что тебе на почту свалится


-- 
Best regards,
         Mikhail
xmpp: ant...@stopicq.ru
irc: Bart-mdv- @ SolarNet
SolarNet: http://www.solarnet.ru/

Attachment: signature.asc
Description: This is a digitally signed message part.

Ответить