Centos上經過shell腳本實現數據庫備份和還原

最近有個這樣的需求,經過shell腳本實現數據庫備份還原,最後經過網上查詢本身測試實現,將腳本分享給你們mysql

一、數據庫備份腳本sql

#!/bin/bash

ds=`date +%s%N|cut -c1-13`
list=`date +%Y`/`date +%m`
dname="callme"
eval "mkdir -p $list"

ls_date=`date +%Y%m%d`
echo ${ls_date}
bk="mysqldump -R -E -h 127.0.0.1 -uroot -ppass ${dname} --result-file=${list}/${dname}-${ls_date}.sql"
echo $bk
eval $bk
cd $list
tar -czf callme-${ls_date}.tar.gz *.sql
rm -rf *.sql

cd ../..
mkdir -p logs/$list
cd logs/$list

de=`date +%s%N|cut -c1-13`

echo -e "`date +%Y%m%d%H%M%S` 數據備份成功" >> ${dname}.${ls_date}.log
echo -e "Running time:: $((${de}-${ds}))" >> ${dname}.${ls_date}.log
echo -e "Running time:: $((${de}-${ds}))"

 

二、數據庫還原腳本shell

#!/bin/bash

ds=`date +%s%N|cut -c1-13`
name="callme"
mk="2017/12"
file_name="callme-20171219"
file_name_sql="${file_name}.sql"
file_name_tar="${file_name}.tar.gz"
pwd="pass"

cd ${mk}
tar -zxvf $file_name_tar

mysql -f -h 127.0.0.1  -uroot -p${pwd}  <<EOF

create database if not exists ${name};
use ${name};
source ${file_name_sql};

EOF

de=`date +%s%N|cut -c1-13`
echo -e "Running time:: $((${de}-${ds}))"
相關文章
相關標籤/搜索