linux 自動備份MySQL資料庫,並郵件傳送

2021-08-14 04:40:11 字數 1547 閱讀 4611

**的資料是最重要的,需要我們定期備份,接下來為大家說的就是 定期-自動-備份mysql資料庫,並且壓縮後以郵箱傳送

大概步驟就是:

1、確保 安裝了 sendmail 和 mutt 包(沒有安裝的話,先安裝好,再進行下面的操作)

2、新建指令碼檔案,備份資料庫,打包檔案,郵件傳送 的**

3、先手動執行指令碼檔案

4、執行成功後,將 該指令碼放到 計畫任務中,1分鐘執行一次

《開始操作》

我已經安裝好 sendmail 和 mutt 了,所以從第二步直接開始;

2> 

vim back.sh
複製一下下面的**:

#!bin/sh

#要備份**的資料庫資訊

mysql_user="root"

mysql_pwd="root"

#定義備份郵件標題,可以區分是哪一天的

d=`date "+%y-%m-%d_%h:%m:%s"`

#傳送郵件標題和內容,這個是次要的,主要是附件中的資料庫

t="databases backup - $d"

#資料庫檔名稱

backname=backup_mysql_$d

#備份資料庫存放路徑《可以寫上定期刪除的指令碼,我這裡沒有寫》

backpath=/tmp/

#匯出資料庫的所有庫

mysqldump -u$ -p$ --events --all-databases > $backpath$backname.sql

#壓縮資料庫包,這樣節省空間

tar cfp $backpath$backname.tar $backpath$backname.sql

#用mutt傳送郵件,傳送到我們指定的郵箱裡"[email protected]"         -s  郵件標題  -a  指定的附件《多個的話後面繼續加-a>

echo "$t"|mutt -s "$t" [email protected] -a $backpath$backname.tar

exit

之後儲存並退出

qw
3> 執行該指令碼

./back.sh
結果郵件來了

郵件傳送成功!

4> 將指令碼放入 計畫任務中,1分鐘執行一次(可以根據自己的時間去備份,頻率不用這麼高)

crontab -e
在計畫任務中寫:(一分鐘執行一次)

*/1 * * * * /bin/sh /back.sh
然後。。好煩人的郵件一分鐘一次。。。

然後就感覺,,催命一樣一分鐘過得好快~

【完結】

Linux自動備份MySQL

locate my.cnf etc my.cnf nano etc my.cnfhost localhost user root password yourpassword本來不需要這些操作,直接把使用者名稱密碼寫到備份指令碼裡就可以,但是 mysql 5.6 之後在命令列裡寫密碼會出現警告。nan...

linux下mysql自動備份

其實這個mysql自動備份的小指令碼非常簡單,下面是這個小指令碼的步驟。cd www mkdir mysqlbackup vi mysqlautobackup.sh 這個mysqlautobackup.sh的檔案裡寫入以下內容 filename date y m d mysql bin dir my...

Linux「自動備份 刪除」MYSQL

linux 自動備份 mysql 1 建立備份檔案夾 cd data0 mysql 3306 makedir backup 2 編寫執行指令碼 vi autobackup 寫入以下內容 filename date y m d mysql bin dir mysqldump d dataname u ...