1. 程式人生 > >mysql在linux自動備份指令碼

mysql在linux自動備份指令碼

指令碼如下

#!/bin/sh

#備份目錄
dic="/usr/share/db_bak"
y=$(date +%Y)
m=$(date +%m)
d=$(date +%d)

#read -p "dbname:" dbname

#if [ ! -n "$dbname" ];then
#     echo "not set dbname"
#     exit
#fi

dbname="myfee"

#mysql備份檔名
filename=$dic/$dbname$y$m$d.sql

echo "bakup name:"$filename

#刪除7天前的備份檔案
for file in `ls -a $dic`
do
 find -mtime 7 -name "*.tar" -exec rm -rf {} \;
done

#備份資料庫
echo "備份資料庫"
mysqldump -uroot -pxytkj123456654321 $dbname > $filename
dbname為資料庫名

注意授權chmod a+x 指令碼檔案

通過crontab -e 設定定時任務,舉例如下

00 02 * * * /usr/share/sh/db_bak.sh >> /var/log/db_back.log