2 апреля 2009 г. 15:45 пользователь "Oleg Anisimov (Олег Анисимов)" <[email protected]> написал: > 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 > > Вроде как рутом должен запускаться. У меня было смутное подозрение > насчет ключей ssh, но как в этом достоверно убедиться и главное > исправить :? ssh -i /root/.ssh/id_dsa
> > -- > -- > С наилучшими пожеланиями, > Олег Анисимов AKA Yoda > > > -- > To UNSUBSCRIBE, email to [email protected] > with a subject of "unsubscribe". Trouble? Contact > [email protected] > >

