Linux備份MySQL-通過郵件自動發送到指定郵箱

來源:互聯網
上載者:User

1.所需要軟體

mutt Linux下命令列郵件工具,可用來接收和發送郵件

sendmail/postfix Linux下郵件伺服器,所有郵件通過本機發送出去

mysqldump 備份MySQL資料庫的程式

2.mutt參數介紹

-a <filename> 附件

-s <subject> 主題

例子:

echo "你好,祝你愉快!" | mutt -a /etc/passwd -s "Linux發送帶附件的郵件" cc2@cc2.cc

說明:echo列印的內容為郵件內文,發送密碼檔案passwd到郵箱cc2@cc2.cc

3.指令碼

測試備份的資料庫名:

scriptdev2 realmd mmfpm mangos characters

查看資料庫使用的字元集

show variables like "char%";

utf8

建立備份指令碼

vi /root/send-mysql-data.sh

#!/bin/bash

#Power by hugwww 2009-4-11

#set time format

date=`date -d "%m"date -d today +"%Y-%m-%d-%H:%M"`

echo $date

#定義數組

db_array=(scriptdev2 realmd mmfpm characters mangos)

#取數組無元素個數

lenArray=${#db_array[@]}

#迴圈列出數組元素

i=0

while [ $i -lt $lenArray ]

do

#執行備份

mysqldump -uroot -ppassw0rd --default-character-set=utf8 --opt --extended-insert=false \

--triggers -R --hex-blob -x ${db_array[$i]} > /opt/db-backup/everyday/${db_array[$i]}-$date.sql;

# echo ${db_array[$i]}

let i++

done

#將所有SQL檔案壓縮到一個檔案

tar cvzf /opt/db-backup/mysql-data-$date.tar.gz /opt/db-backup/everyday/*$date.sql

#發送備份檔案到郵箱

echo "$date Database Backup檔案" | mutt -a /opt/db-backup/mysql-data-$date.tar.gz -s "mangosDatabase Backup" cc2@cc2.cc

echo "$date 備份成功並發送到指定郵箱" >> /opt/db-backup/backup.log

exit

完成

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.