MySQLdump備份並傳送郵件

2021-09-27 05:18:31 字數 2034 閱讀 9960

概述:

文件中使用smtp協議,利用qq郵箱傳送郵件,其中客戶端授權碼是在開啟qq郵箱smtp服務是官方給予的,所以要牢記!!!

1、配置smtp

#linux

yum install -y mailx
#修改配置檔案

vi /etc/mail.rc
#在末尾追加如下內容並儲存

set from=******[email protected]   #設定發件人

set smtp=smtp.qq.com #設定外部stmp伺服器

set smtp-auth-user=******[email protected] #設定stmp使用者名稱

set smtp-auth-password=******x #客戶端授權碼

set smtp-auth=login

#測試

echo "this is my test mail" | mail -s 'mail test' ******[email protected]
2、建立備份目錄

mkdir -p /home/mysql/data/backup/mysql

chown mysql:mysql /home/mysql/data/backup/mysql

3、備份指令碼

cd /home/mysql/data/backup/mysql

chmod +x mysqldump.sh

vi mysqldump.sh

#!/bin/bash

backup_path=/home/mysql/data/backup/mysql

current_time=$(date +%y%m%d_%h%m%s)

[ ! -d "$backup_path" ] && mkdir -p "$backup_path"

#資料庫位址

host=localhost

#資料庫使用者名稱

db_user=root

#資料庫密碼

db_pw=root

#要備份的資料庫

file_gz=$/$current_time.sql.gz

flag=$/$current_time.flag

log=$/$current_time.log

/usr/local/mysql/bin/mysqldump -u$ -p$ --socket=/home/mysql/3306/data/mysql.sock --host=$host -b --all-databases --master-data=2 --single-transaction | gzip > $file_gz # 此處必須要用絕對路徑

#校驗備份

md5sum $file_gz > $/$current_time.flag

md5sum -c $/$current_time.flag > $/$current_time.log

#刪除 7 天以前的備份 「注意寫法」

cd $backup_path

find $backup_path -mtime +7 -name "*sql.gz" -exec rm -f {} \;

find $backup_path -mtime +7 -name "*.log" -exec rm -f {} \;

find $backup_path -mtime +7 -name "*.flag" -exec rm -f {} \;

#傳送郵件

echo "mysql備份結果郵件,附件中顯示ok則成功" | mail -s 'mysql備份' -a $log ******[email protected]

4、crontabl

crontab -e #加入此指令碼路徑

* 23 * * *   /bin/sh  /home/mysql/data/backup/mysql/mysqldump.sh

mysql dump備份 mysqldump備份

備份工具 1.mysqldump 資料量很大時不推薦使用 myisam 鎖表 innodb 行鎖 mysqldump help less 檢視mysql所有的語法 mysqldump uroot p wang usr back upsql wang.sql 整個庫備份 mysqldump uroot...

thinkPHP PHPMailer 傳送郵件

二 在thinkphp的配置檔案config.php中寫以下 郵件傳送配置 mail host smtp.163.com smtp伺服器的名稱 mail host smtp.exmail.qq.com 郵箱是qq mail smtpauth true,啟用smtp認證 mail username 1...

thinkphp phpmailer傳送郵件

1.在function.php中新增 郵件傳送函式 param address 郵件收件人位址 param titlle 郵件標題 param content 郵件內容 param attachment 附件 function sendmail addressee,title,content,att...