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

2021-10-25 14:47:26 字數 1635 閱讀 1931

最近需要對某服務的資料庫資料進行備份,因此參考網上教程完成資料庫備份指令碼.

因為服務的使用頻率較低,因此設定定時任務,在每天的中午以及午夜時分進行備份操作.

#!/bin/bash

# 設定mysql的登入使用者名稱和密碼(根據實際情況填寫)

mysql_user="***"

mysql_password="****"

mysql_host="localhost"

mysql_port="3306"

mysql_charset="utf8mb4"

# 備份檔案存放位址(根據實際情況填寫)

# 是否刪除過期資料

expire_backup_delete="on"

expire_days=7

backup_time=`date +%y%m%d%h%m`

backup_dir=$backup_location

welcome_msg="welcome to use mysql backup tools!"

# 判斷mysql例項是否正常執行

mysql_ps=`ps -ef |grep mysql |wc -l`

mysql_listen=`netstat -an |grep listen |grep $mysql_port|wc -l`

if [ [$mysql_ps == 0] -o [$mysql_listen == 0] ]; then

echo "error:mysql is not running! backup stop!"

exit

else

echo $welcome_msg

fi# 備份指定資料庫中資料(此處假設資料庫是mysql_backup_test)

mysqldump -h$mysql_host -p$mysql_port -u$mysql_user -p$mysql_password -b mysql_backup_test> $backup_dir/mysql_backup_test-$backup_time.sql

flag=`echo $?`

if [ $flag == "0" ];then

echo "database mysql_backup_test success backup to $backup_dir/mysql_backup_test-$backup_time.sql.gz"

else

echo "database mysql_backup_test backup fail!"

fi# 刪除過期資料

if [ "$expire_backup_delete" == "on" -a "$backup_location" != "" ];then

`find $backup_location/ -type f -mtime +$expire_days | xargs rm -rf`

echo "expired backup data delete complete!"

fi以上是資料庫備份指令碼.

編輯定時任務:

crontab -e

# 新增定時任務(每天12:50以及23:50執行備份操作)

Mysql 定時備份指令碼

mysql備份原理 mysqldump uroot p pass db sql 壓縮 mysqldump hhostname uusername ppassword databasename gzip backupfile.sql.gz 恢復 gunzip backupfile.sql.gz mys...

指令碼定時備份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 ...