linux數據庫定期備份

linux數據庫定期備份

目標: 每隔1分鐘,導出.sql,壓縮,並按日期存儲在/data 下,每分鐘後刪除.sql文件,每隔2分鐘刪除.tar.gz文件

知識: 定時任務 crontab , mysqldump 導出 , tar 打包壓縮, 按日期創建文件 date

準備部分

1.建立mysqldump軟鏈接(必須在~目錄下建立軟鏈接)

ln -s /usr/local/mysql/bin/mysqldump /usr/bin/mysqldump

2.將mysql.bak.sql導出備份到~目錄下

mysqldump -uroot -p123 -B mysql > ./mysql.bak.sql

3.將導出的mysql.bak.sql打包成.tar.gz

tar zcvf mysql.bak.sql.tar.gz mysql.bak.sql

正式寫shell腳本

1.新建bak.sh腳本文件

vim bak.sh

往腳本里寫的內容:

#!/bin/bash
cd /data
rm -f *.sql

old=`date -d '-2 minute' +%Y%m%d%H%M`
tad=`date +%Y%m%d%H%M`

/usr/local/mysql/bin/mysqldump -uroot -p123 -B mysql > ./$tad.sql

tar zcf $tad.sql.tar.gz $tad.sql

# -f是判斷文件是否存在

if [ -f /data/$old.sql.tar.gz ]
then
rm -rf /data/$old.sql.tar.gz
fi

2.在/目錄下創建一個data目錄

mkdir -p /data/

3.創建定時任務:

crontab -e

4:編輯定時任務:

*/1  *  *  *  *   /data/bak.sh
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章