ОС: Solaris 9
есть такой вот скрипт:
# cat mail.sh
#/usr/bin/bash
TCP_HOST=172.16.10.20
TCP_PORT=25
NET_DEV=/dev/tcp
MAIL_FROM="root@sol1"
RCPT_TO="admin@d1.ru"
SUBJ="Report from sol1"
{ echo "HELO"; sleep 1;
echo "MAIL FROM: $MAIL_FROM"; sleep 1;
echo "RCPT TO: $RCPT_TO"; sleep 1;
echo "DATA"; sleep 1;
echo "From: $MAIL_FROM <$MAIL_FROM>"; sleep 1;
echo "To: $RCPT_TO <$RCPT_TO>"; sleep 1;
echo "Subject: $SUBJ"; sleep 1;
echo "Report:"; sleep 1;
metastat; sleep 1;
echo "."; sleep 1;
echo "QUIT";
} > $NET_DEV/${TCP_HOST}/${TCP_PORT}
когда я его запускаю из своего сеанса, т.е. в своем шелл, то скрипт отрабатывает без проблем, почта шлется. Когда я запихиваю его в cron, то получаю на рутовую почту следующее письмо:
Your "cron" job on sol1
/export/home/scripts/mail.sh
produced the following output:
/export/home/scripts/mail.sh: /dev/tcp/172.16.10.20/25: cannot create
я знаю, что в cron нету своих переменных среды, поэтому я пробовал добавлять в скрипт все переменные которые были в моем сеансе:
PWD=/export/home/scripts
TZ=Europe/Moscow
HZ=
HOSTNAME=sol1
MACHTYPE=sparc-sun-solaris2.9
MAIL=/var/mail/root
OLDPWD=/var/cron
EDITOR=vi
LOGNAME=root
SHLVL=1
SHELL=/sbin/sh
HOSTTYPE=sparc
OSTYPE=solaris2.9
HOME=/
TERM=xterm
PATH=/usr/sbin:/usr/bin:/usr/dt/bin:/usr/openwin/bin:/bin:/usr/ucb:/opt/sfw/gcc- 3/bin
_=/usr/bin/env
и это тоже не помогло.
Почему не срабатывает скрипт по крону?
спасибо заранее!