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 шелом.