2014-01-20 4 views
-1

이 스크립트를 사용하여 backups 디렉토리에서 파일 목록과 크기를 가져옵니다. 괜찮 으면 좋겠지 만 [email protected]으로 결과를 이메일로 보내주십시오. 우리는 서버에서 sendmail을 사용합니다. 도와주세요.센드 메일 awk 출력. mysql 백업 목록

#!/bin/bash 
HEADER="\nLIST OF BACKUPS IN $(hostname):/backups/$1/$2:\n" 
echo -e $HEADER 
ls -lth "/backups/$1/$2" | awk 'BEGIN {print "FILE_NAME\t\t\tDATE\t\tSIZE\n--------------------------------------------------------"} NR>1 {printf "%s\t\t%s-%s %s\t%s\n",$9,$6,$7,$8,$5}' 

스크립트 출력 샘플 : : 나는 매일 나에게 이메일이 출력을 좀하고 싶습니다

LIST OF BACKUPS IN server1:/backups/mysql/daily: 

FILE_NAME     DATE   SIZE 
-------------------------------------------------------- 

meb.20140108-030003.img  Jan-08 19:35 90G 
meb.20140107-030003.img  Jan-07 19:35 87G 
meb.20140106-030003.img  Jan-06 19:35 99G 
meb.20140105-030003.img  Jan-05 19:35 98G 

이것은 스크립트입니다. 도와주세요.

+2

? 시도한 sendmail 명령을 표시 할 수 있습니까? –

답변

0

이것은 bash 스크립트입니다. 로컬 메일 에이전트를 사용합니다.

#!/bin/bash 
set -e 

out='/tmp/some_random_file_or_something' 

mutt -e 'my_hdr From:[email protected]' -s "[BACKUPS ARE READY! ;)] $(date)." [email protected] -c [email protected] < $out 

rm -f $out 
1

cron에서 스크립트를 실행하십시오. 출력을 전자 메일로 보낼 위치를 지정하려면 을 crontab에 사용하십시오.

mail -S5 controntab

0

으로 cronjob에 명령 아래에 넣어 man crontab 참조하십시오. 예를 들어, 시스템이 센드 메일이있는 경우 일반적으로, 그것은 쉽게 mailx 명령을 지원해야

0 5 * * * bash /FULL_PATH/yourscript.sh 

매일 5am에 메일을 보내주십시오.

$ 고양이 yourscript.sh 당신이 도움을 필요로하는 일

#!/bin/bash 
HEADER="\nLIST OF BACKUPS IN $(hostname):/backups/$1/$2:\n" 
echo -e $HEADER 
ls -lth "/backups/$1/$2" | awk 'BEGIN {print "FILE_NAME\t\t\tDATE\t\tSIZE\n--------------------------------------------------------"} NR>1 {printf "%s\t\t%s-%s %s\t%s\n",$9,$6,$7,$8,$5}' > temp 
cat temp|mailx -s "backup report on `date`" [email protected]