※ ChatGPTを利用し、要約された質問です(原文:cronを介してのscpの挙動おかしい)
cronを介してのscpの挙動がおかしい
CentOS5系(64bit)
expect5.45
Tcl8.6.0
Tk8.6.0
下記のデータダウンロードのスクリプトをcronに設定して自動実行していますが、
エラーも吐き出されずデータがダウンロードされません。
しかしながら、./download.shとコマンドを打鍵するとデータがダウンロードされます。
PCが壊れる前には、正常に動作していたスクリプトファイルなのです。
新しいPCに環境を再構築しまして、挙動がおかしいのですが、
インストール等がうまくいってないって事でしょうか。
お詳しい方、ご教授願えれば幸いです。
ー略-
alive_time=3600
logFile=/home/admin/scp.log
echo `date` >> $logFile
expect -c "
log_file $logFile
set timeout $alive_time
spawn scp $host $local
sleep 1
expect {
\"Are you sure you want to continue connecting (yes/no)?\" {
send \"yes\r\"
expect \"password:\"
send \"${passwd}\r\"
} \"password:\" {
send \"${passwd}\r\"
}
}
expect {
\"denied\" { exit 2 } \
eof {
sleep 1
exit 1
}
}
"
ret=$?
if [ $ret -eq 0 ]
then
echo "abort" >> $logFile
else
if [ $ret -eq 1 ]
then
echo "done" >> $logFile
else
if [ $ret -eq 2 ]
then
echo "fail" >> $logFile
fi
fi
fi
exit $ret
お礼
superside0 様 ご回答ありがとうございます。 相対パスを見直した処、ビンゴでした。 expect以下、rpm等ではなくソースよりコンパイルしてインストールしましたので、expectの所在が違っていました。 /usr/local/bin/expect -c に変更して解決いたしました。 ありがとうございます。