shell實踐百例計劃(1)---備份MYSQL併發郵件通知

 給本身一個目標,分析100個收集的SHELL有用實例進行學習 
shell實踐百例計劃(1)---備份MYSQL併發郵件通知mysql

#!/bin/bash
# 用途 :mysql數據庫備份腳本。
# 表述:備份指定文件到用戶主目錄,使用tar命令壓縮併發送郵件
# 用法: ./mybackup
 
FILE=~/.mybackup
NOW=`date +"%d-%m-%Y"`
OUT="`echo $USER.$HOSTNAME`.$NOW.tar.gz"
TAR=`which tar`
 
# mail setup
MTO="nixbackup@somedom.com"
MSUB="Backup (`echo $USER @ $HOSTNAME`) as on `date`"
MES=~/tmp/mybackup.txt
MATT=~/tmp/$OUT
 
# make sure we put backup in our own tmp and not in /tmp
[ ! -d ~/tmp ] && mkdir ~/tmp || :
if [ -f $FILE ]; then
    IN="`cat $FILE | grep -E -v "^#"`" else     echo "File $FILE does not exists"     exit 3 fi   if [ "$IN" == "" ]; then     echo "$FILE is empty, please add list of files/directories to backup"     echo "Use mybackupadd script"      exit 2 fi   $TAR -zcf ~/tmp/$OUT $IN >/dev/null # create message for mail echo "Backup successfully done. Please see attached file." > $MES echo "" >> $MES echo "Backup file: $OUT" >> $MES echo "" >> $MES   # bug fix, we can't send email with p_w_upload if mutt is not installed which mutt > /dev/null if [ $? -eq 0 ]; then     # now mail backup file with this p_w_upload     mutt -s "$MSUB" -a "$MATT" $MTO < $MES else     echo "Command mutt not found, cannot send an email with p_w_upload" fi   # clean up /bin/rm -f $MATT /bin/rm -f $MES
相關文章
相關標籤/搜索