2016-09-27 1 views
0

도 찾고 있습니다. 내 텍스트 파일에 내 서버의 df -h 정보가 있습니다. 메일을 표 형식으로 메일에 보내야합니다. 내가 좋은 말을 포맷에 나를 도와셸 스크립트를 사용하여 테이블 형식으로 텍스트 파일을 메일로 보내기

input="/home/infrarunsvc/output.txt" 
tmpfile="/home/infrarunsvc/tmpfile.html" 

echo 'Content-Type: text/html; charset="us-ascii" ' > "$tmpfile" 
awk 'BEGIN{print "<html><body><table border=1>"} {print "<tr>";for(i=1;i<=NF;i++)print "<td>" $i"</td>";print "</tr>"} END{print "</table></body></html>"}' "$input" >> "$tmpfile" 
mail -s "test" xxxxxx.com < "$tmpfile" 

아래로 단계하지만 점점 메일을 시도 enter image description here

Use% Avail Used Filesystem 
47% 28G 24G rootfs 
0% 11M 0 udev 
1% 396M 160k tmpfs 
47% 28G 24G /dev/disk/ 
0% 5.3M 0 tmpfs 
1% 793M 13k tmpfs 
2% 50G 520M /dev/xvdg 
24% 39G 12G /dev/xvdf 

나는 테이블 형식이 필요합니다.

+0

일부 상황이 누락 된 것 같습니다. – RamenChef

+0

메일에 결과가 나타납니다. 콘텐츠 유형 : text/html; 문자 집합 = "US-ASCII" <표 테두리 = 1> 사용 % 소용 사용 파일 시스템 47 % 28G 24G rootfs 표 형식으로 필요합니다. – user37824

답변

0

다음과 같이 시도해 볼 수 있습니다.

#!/bin/bash 
df -h > /home/infrarunsvc/output.txt 
tmpfile="/home/infrarunsvc/tmpfile.html" 
input="/home/infrarunsvc/output.txt" 
echo '<html><body><table border=1>' > "$tmpfile" 
awk '{print "<tr>";for(i=1;i<=NF;i++)print "<td>" $i"</td>";print "</tr>"} END{print "</table></body></html>"}' "$input" >> "$tmpfile" 
cat $tmpfile | mail -s "$(echo -e "Test\nContent-Type: text/html")"  
[email protected] 
+0

나는 여전히 아래의 메일 결과를 얻고있다. 왜 내가 테이블 형식이 아닌지. <표 테두리 = 1> 사용 % 수량 사용 파일 시스템 47 % 28G 24G rootfs 어떤 사람은 안양 -h을하고 테이블 형식으로 내 메일 ID에 세부 사항을 얻을 수있는 간단한 스크립트를 제공 할 수 있습니다. – user37824

+0

@ user37824 나는 ans를 업데이트했습니다. 이것은 내 env에서 작동합니다. –

+0

나는 잘 모르겠다 .. 나를 위해 일하지 않는 이유 .. 나는 내 aws 요새 서버에서 이것을 시도하고있다. – user37824

관련 문제