[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Не выполняется команда внутри bash скрипта



2 апреля 2009 г. 15:45 пользователь "Oleg Anisimov (Олег Анисимов)"
<o_anisimov@dobroe.ru> написал:
> ivan demakov пишет:
>>
>> On Thursday 02 April 2009 19:22:42 Олег Анисимов wrote:
>>>
>>> Доброго всем LOCAL_TIME!
>>>
>>> Голову сломал уже. Помогите разобраться в ситуации.
>>> Есть скрипт, который надо выполнять из cron. Если
>>> упрощенно, выглядит так:
>>>
>>> #!/bin/bash
>>>
>>> HOST=stat
>>>
>>> info=`exec ssh root@$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 debian-russian-REQUEST@lists.debian.org
> with a subject of "unsubscribe". Trouble? Contact
> listmaster@lists.debian.org
>
>

Reply to: