linux數據庫按期備份

linux數據庫按期備份

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

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

準備部分sql

1.創建mysqldump軟連接(<font color=red>必須在~目錄下創建軟連接</font>)shell

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.gzvim

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

正式寫shell腳本bash

1.新建bak.sh腳本文件code

vim bak.sh

往腳本里寫的內容:crontab

#!/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
相關文章
相關標籤/搜索