Mysql 定時備份指令碼

2021-07-24 18:46:59 字數 1825 閱讀 7696

mysql備份原理:mysqldump -uroot -p pass db > ***.sql

壓縮:mysqldump -hhostname -uusername -ppassword databasename | gzip > backupfile.sql.gz

恢復:gunzip < backupfile.sql.gz | mysql -uusername -ppassword databasename

定時備份即是在mysql的生產環境中啟動乙個定時任務,每隔一段時間使用mysqldump工具執行一次備份。

mkdir /bak

mkdir /bak/bakmysql

mkdir /bak/bakmysqlold

touch /bak/bakmysql/backup.sh

vim /bak/bakmysql/backup.sh

在backup.sh填入以下內容,根據實際情況進行修改

#!/bin/sh

cd /bak/bakmysql

echo "已切換到備份目錄,開始備份..."

mv bakmysql* /bak/bakmysqlold

echo "舊檔案已儲存到/bak/bakmysqlold"

now=$(date +"%d-%m-%y")

mysqlpd="pass"

file=bakmysql-$now.sql.gz

echo "開始dump資料庫..."

mysqldump -uroot -p$mysqlpd wh_cloud | gzip > $file

echo "dump success!開始遠端複製..."

passwd="passwd"

expect yum install -y vixie-cron

yum install -y crontabs

yum install -y expect #用作自動密碼登入

等到操作完成。檢查是否已安裝:

$ service crond status

crond 已停

crond 啟動停止

啟動服務: service crond start 

關閉服務: service crond stop

重啟服務: service crond restart

重新載入配置:service crond reload

檢視crontab服務狀態:service crond status

手動啟動crontab服務:service crond start

檢視crontab服務是否已設定為開機啟動,執行命令:ntsysv

沒有就加入開機自動啟動:免得每次手動啟動麻煩:chkconfig --level 35 crond on

建立乙個每週一晚23點執行一次mysql備份時程表:

touch bakcron

vi bakcron

加入一下內容,儲存退出。(或者直接執行crontab -e 進行編輯)

0 23 * * 1 /bin/sh /bak/bakmysql/backup.sh
/bak/bakmysql/backup.sh為資料庫備份操作指令碼

在命令列輸入

crontab bakcron

檢視/var/spool/cron目錄,可以看到有檔名為使用者名稱的檔案。

mysql定時備份指令碼 MySql定時備份指令碼

最近需要對某服務的資料庫資料進行備份,因此參考網上教程完成資料庫備份指令碼.因為服務的使用頻率較低,因此設定定時任務,在每天的中午以及午夜時分進行備份操作.bin bash 設定mysql的登入使用者名稱和密碼 根據實際情況填寫 mysql user mysql password mysql hos...

指令碼定時備份mysql

一.用linux系統進行定時 1.新建乙個目錄用來存放備份資料 mkdir home mianfeng backup metastore database data 2.新建乙個檔案用來存放指令碼 vi home mianfeng backup metastore database mysql 3....

mysql定時備份指令碼 Mysql自動備份指令碼

我這裡要把mysql資料庫存放目錄 var lib mysql下面的pw85資料庫備份到 home mysql data裡面,並且儲存為mysqldata bak 2012 04 11.tar.gz的壓縮檔案格式 2012 04 11是指備份執行時當天的日期 最後只保留最近7天的備份。實現步驟 1 ...