目標: 每隔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