2017-10-05 10 views
0

UNIXのAIXでsendmailユーティリティを使用して電子メールを送信しようとしています。 >が含まれているHTMLレポート私からシェルスクリプトから上記のコマンドを使用しようとするとDBクエリcrontabからcatファイルが見つかりません - cat:0652-050 ​​ - unix AIX

(cat ./mailheader ./status.html) | sendmail -t

を使用してスプール -

To: [email protected] 
From: [email protected] 
MIME-Version: 1.0 
Content-Type: text/html; charset=us-ascii 
Subject: Alert 

status.hmtl:

mailheaderはいつcrontabタブログのメッセージの下に表示されます。

cat:0652-050 ​​./mailheaderを開くことができません。 cat:0652-050 ​​./status.htmlを開けません。

しかし、シェルスクリプトは、手動で実行すると完全に実行されます。

私は

(cat /there/mailheader /there/status.html) | sendmail -t 

のように自分の考え

+0

'cron'スクリプトchdirを適切なディレクトリに入れますか? –

+0

明らかに私はこれを逃した。これは今解決されました。ありがとうございました – Sathya

答えて

0

使用絶対パスを知っているかcd

cd /somepath 
(cat mailheader status.html) | sendmail -t 

しかし、すべての最初の、デバッグを使用してください。スクリプトに次の行を追加してください:

set -xv 
exec >>/tmp/debug.$$ 2>&1 
date 
pwd 
id -a 
env 
1

私はcrontabからディレクトリを変更しなかったため、私はrrorを取得していました。

絶対パスを使用して問題を突き止めるためにデバッグし、cdを追加して問題を解決しました。

関連する問題