2016-04-02 13 views
1

Ben yapılandırılmamış verileri işlemek için Hadoop (CDH 5.4.8) kullanıyorum ve başarılı bir işlemden sonra Ek olarak günlük dosyası ile ilgili ekibine bir posta bildirimi göndermek istiyorum.Ek olarak günlük dosyası eki ile e-posta gönder

CDH 5.4.8 Oozie, e-posta eyleminde ek özelliği desteklemez. Bu yüzden bunu kabuk betiğini kullanarak yapmak istiyorum. Lütfen bunu yapmanın en iyi yolunu bana bildirin.

cevap

0

Tam bir posta iletisini (başlık ve gövde) sendmail'a göndererek bir kabuğun içinden kolayca bir e-posta gönderebilirsiniz. Bu, bunu yaptığınız ana bilgisayarın e-posta iletilerini göndermek için bir posta aktarım aracısıyla (örneğin, sendmail veya posta kodu) düzgün bir şekilde yapılandırıldığını varsayar.

Eki olan e-posta göndermek için en kolay yolu posta kullanıcı aracısı (örn Thunderbird) 'de basit bir şablon mesajı oluşturmak için, ve görünüm kaynağı komutuyla bir şablon olarak içeriğini kopyalamak. Bu şablonu ihtiyaçlarınıza uyacak şekilde değiştirin ve kabuk komut dosyasına yerleştirin.

 
#!/bin/sh 
cat <<\EOF | 
To: Ramesh <[email protected]> 
From: Diomidis Spinellis <[email protected]> 
Subject: Here are your Hadoop results 
Message-ID: <[email protected]> 
Date: Sun, 3 Apr 2016 09:58:48 +0300 
MIME-Version: 1.0 
Content-Type: multipart/mixed; 
boundary="------------030303090406090809090501" 

This is a multi-part message in MIME format. 
--------------030303090406090809090501 
Content-Type: text/plain; charset=utf-8; format=flowed 
Content-Transfer-Encoding: 7bit 

The attachment contains your Hadoop results. 


--------------030303090406090809090501 
Content-Type: application/octet-stream; 
name="data" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; 
filename="data" 

HviDNR105+2Tr0+0fsx3OyzNueQqPuAXl9IUrafOi7Y= 
--------------030303090406090809090501-- 
EOF 
sendmail [email protected] 

, gerçek verilerle sabit mesajı yapılandırmak bunları üretmek komutlarla değiştirmek istediğiniz parçaları değiştirmek için: Burada

bir örnektir. ,

 
#!/bin/sh 
cat <<EOF | 
To: Ramesh <[email protected]> 
From: Diomidis Spinellis <[email protected]> 
Subject: Here are your Hadoop results 
Message-ID: <[email protected]> 
Date: $(date -R) 
MIME-Version: 1.0 
Content-Type: multipart/mixed; 
boundary="------------030303090406090809090501" 

This is a multi-part message in MIME format. 
--------------030303090406090809090501 
Content-Type: text/plain; charset=utf-8; format=flowed 
Content-Transfer-Encoding: 7bit 

The attachment contains your Hadoop results. 


--------------030303090406090809090501 
Content-Type: application/octet-stream; 
name="data" 
Content-Transfer-Encoding: base64 
Content-Disposition: attachment; 
filename="data" 

$(base64 binary-data-file.dat) 
--------------030303090406090809090501-- 
EOF 
sendmail [email protected] 
+0

sayesinde Diomidis (burada EOF işaretleyici belgelemek dan. Eksik ters eğik çizgi Not) onun yerel modda iyi çalışıyor. Şimdi Oozie kabuk eyleminde test etmek istiyorum. "Exmaple.csv" adlı bir dosyam varsa –

+0

. Bu ismi her iki isim = "exmaple.csv" ve filename = "exmaple.csv" olarak yerleştirmem gerekiyor. ya da "veri" ne yazmalıyım. Ve bir xlsx dosyası göndermeye çalışıyorum, İçerik Türü ve diğer parametreleri nasıl değiştirmeliyim. Bu konuda daha fazla bilgi içeren bir bağlantıyı veya benzer şeyi paylaşırsanız gerçekten çok memnun olurum. Teşekkürler –

+0

Kendinize e-posta istemciniz aracılığıyla bir ek göndermenizi ve ileti kaynak koduna bakmanızı öneririm. –

İlgili konular