>ОС: SunOS 5.8
>Есть скрипт на shell, который по фтп забирает файлы с удалённого хоста.
>Если его запустить ручками, то всё работает, а если повесить в
>crontab, то выполняется до середины скрипта (судя по информации из лога
>этого скрипта). Всё обрывается на команде "get имя_файла". Кто-нибудь, подскажите, в
>какую сторону копать?
Вот текст скрипта:
#/bin/sh
TMPFILE=/tmp/ftp.$$
TMP=files.$$
trap 'rm -f ${TMP} ; exit' 0 1 2 3 15
remhost=192.168.10.247
DAT=`date '+%Y-%m-%d'`
ftpflags="-i -n"
echo "user xxx pass" > ${TMP}
echo binary >> ${TMP}
echo cd /var/flows/reports/in/ >> ${TMP}
echo ls -rt >> ${TMP}
echo quit >> ${TMP}
#listing dir
ftp ${ftpflags} ${remhost} < ${TMP} >> ${TMP}
echo "user xxx pass" > ${TMPFILE}
echo binary >> ${TMPFILE}
echo cd /var/flows/reports/in/ >> ${TMPFILE}
#echo ls -rt >> ${TMPFILE}
echo lcd /neo/iptraffic/in/ >> ${TMPFILE};
for i in `awk '{if(index(substr($1,0,2),"20")==1) print $1}' ${TMP}`
do
#if "$i" != "${DAT}"
#then
echo get "$i" >> ${TMPFILE}
echo rename "$i" "${i:1}" >> ${TMPFILE}
#else
# continue
#fi
#echo $i >> ${TMPFILE}
done
echo cd /var/flows/reports/out/ >> ${TMPFILE}
echo lcd /neo/iptraffic/out/ >> ${TMPFILE};
for i in `awk '{if(index(substr($1,0,2),"20")==1) print $1}' ${TMP}`
do
#if "$i" != "${DAT}"
#then
echo get "$i" >> ${TMPFILE}
echo rename "$i" "${i:1}" >> ${TMPFILE}
#else
# continue
#fi
#echo $i >> ${TMPFILE}
done
echo quit >> ${TMPFILE}
ftp ${ftpflags} ${remhost} < ${TMPFILE} >> ${TMPFILE}
echo ${remhost} >> ${TMPFILE}
попытка добавить PATH в начале скрипта к другому результату не привела. В ${TMPFILE} всё заканчивается на "get ..."