以下は、正常に動作している私のシェルスクリプトです。
#!/bin/bash
DATE_YEST_FORMAT2=`perl -e 'use POSIX qw(strftime); print strftime "%Y%m%d",localtime(time()- 3600*96);'`
echo $DATE_YEST_FORMAT2
QUERY1=`hive -e "
set mapred.job.queue.name=hdmi-technology;
SELECT SUM(total_items_purchased), SUM(total_items_missingormismatch) from lip_data_quality where dt='$DATE_YEST_FORMAT2';`
QUERY2=`hive -e "
set mapred.job.queue.name=hdmi-technology;
SELECT 100 * SUM(total_items_missingormismatch*1.0) / SUM(total_items_purchased) FROM lip_data_quality where dt='$DATE_YEST_FORMAT2';"`
echo "Total items purchased: `echo $QUERY1 | awk '{print $1}'`"
echo "Total Items MissingorMismatch: `echo $QUERY1 | awk '{print $2}'`"
echo "Error Percentage: $QUERY2"
私は以下のような上記のシェルスクリプトを実行しています-
sh -x test.sh
問題文:-
上記のシェルスクリプトから、最後の3つのechoステートメントから3つ以下になります-
Total items purchased
Total Items MissingorMismatch
Error Percentage
DL-host@company.com
上記の3つすべてを、上記を使用してメールグループにメールで送信する必要があります。shell script
または10 email list
、同じ内容と件名のメールを送信する必要がある場合は、これらすべてを保存できると思います。 10通のメールが変数にリストされていて、そこから読んで送信を続けますよね?これは可能ですか?私は以下のようなメールの構造を考えていましたが、非常に単純にしています。
主題
テストデータ
メール本文
Total items purchased:- Some Number
Total Items MissingorMismatch:- Some Number
Error Percentage:- Some Number
どんな考えでもありがたいです。
更新、larsksの提案を試した後、電子メールの最後のエコーステートメントのみを取得しています。これは、1つの電子メールの3つすべてではなく、エラー率1のみを意味します。
#!/bin/bash
DATE_YEST_FORMAT2=`perl -e 'use POSIX qw(strftime); print strftime "%Y%m%d",localtime(time()- 3600*96);'`
echo $DATE_YEST_FORMAT2
QUERY1=`hive -e "
set mapred.job.queue.name=hdmi-technology;
SELECT SUM(total_items_purchased), SUM(total_items_missingormismatch) from lip_data_quality where dt='$DATE_YEST_FORMAT2';`
QUERY2=`hive -e "
set mapred.job.queue.name=hdmi-technology;
SELECT 100 * SUM(total_items_missingormismatch*1.0) / SUM(total_items_purchased) FROM lip_data_quality where dt='$DATE_YEST_FORMAT2';"`
echo "Total items purchased: `echo $QUERY1 | awk '{print $1}'`"
echo "Total Items MissingorMismatch: `echo $QUERY1 | awk '{print $2}'`"
echo "Error Percentage: $QUERY2" | mail -s "Test Data" rj@host.com