[IT 알아보기]/IT 소식

지정한시간에 메일보내기

이호스트ICT 2009. 9. 8. 11:55
#1/bin/bash

# 지정한 시간에 첨부파일 메일 보내는 스크립트

dateis=$(date|awk '{print $1}')                 # 요일을 불러옴  
timeis=$(date|awk '{print $4}'|cut -c1-2)       # 현재의 시간을 불러옴
fileis="/root/c/$1"                             # 보낼 파일의 위치
limit=22                                        # 제한시간
sendtime=2200                                   # 보낼시간(제한시간에 분
단위추가)
title="리포트_19611925_손희태_B반_8조"          # 메일 제목
#mailadd="lovecell77 at yahoo.co.kr sontina at chollian.net"   # 보낼 메일 주
소 (여러곳 보낼때는 한칸씩 띄우면 됨)
mailadd="lovecell77 at yahoo.co.kr sontina at chollian.net
tankboi at dongguk.edu"   # 보낼 메일 주소 (여러곳 보낼때는 한칸씩 띄우면
됨)

echo " 레포트 제출" > /tmp/contents                        # 보낼 메일 내

echo " ==================================" >> /tmp/contents      # 보낼
메일 내용
echo " 학번: 19611925" >> /tmp/contents
echo " 이름: 손희태" >> /tmp/contents
echo >> /tmp/contents
echo " 레포트 제출 합니다" >> /tmp/contents

uuencode $fileis 19611925_\(손희태_B_8\).c > /tmp/data.txt
cat /tmp/contents >> /tmp/data.txt
rm -rf /tmp/contents

echo "date is $dateis , time is $timeis"         # 현재의 요일과 시간을
표시
if [ -f $fileis ]; then                          # 만약 해당 파일이 있다

        if [ $dateis = "Mon" ] && (( $timeis < $limit )) ; then       #
월요일이고 제한 시간 이전일때
                echo "mail -s ""$title"" $mailadd < /tmp/data.txt "
> /tmp/mailsend.tmp
                at $sendtime < /tmp/mailsend.tmp # 보낼시간에 메일을 보내
도록 예약
                rm -rf /tmp/mailsend.tmp
                atq                              # at 작업 프로세스 보여
주기
        else    # 월요일이 아니거나, 제한시간 이후일때
                mail -s "$title" $mailadd < /tmp/data.txt
        fi
else
        echo "##### usage : mailten filename ######"
fi
~