#!/bin/bash
# 設定mysql的登入使用者名稱和密碼(根據實際情況填寫)
mysql_user=
"root"
mysql_password=
"123456"
mysql_host=
"192.1.1.1"
mysql_port=
"3306"
# 備份檔案存放位址(根據實際情況填寫)
backup_location=/opt/mysql/thunisoft/backup
#備份保留天數
expire_days=7
# 是否刪除過期資料
expire_backup_delete=
"on"
backup_time=
`date +%y%m%d%h%m`
backup_dir=
$/$welcome_msg=
"welcome to use mysql backup tools!"if[
! -d "$backup_dir"];
then
mkdir -p $backup_dir
fi# 判斷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# 備份全部資料庫
mkdir -p /opt/mysql/thunisoft/backup/$backup_time
mysqldump -h$mysql_host -p$mysql_port -u$mysql_user -p$mysql_password --flush-logs --all-databases >
$backup_dir/mysql_backup_all-$backup_time.sql
flag=
`echo $?`if[
$flag
=="0"];
then
echo
"database mysql_backup_test success backup to $backup_dir/mysql_backup_all-$backup_time.sql.gz"
else
echo
"database mysql_backup_all 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
Mysql資料備份三 指令碼備份mysqldump
使用mysqldump進行備份,這個是最保險最安全的資料備份方法.雖然使用它比mysqlhotcopy要慢些,但其匯出的是sql語句文字檔案,不存在平台的相容性問題.也可用於備份除myisam型別以外的資料表.下面給出shell指令碼,大家可以根據自己的實際需要對其進行修改,以完成自己需要的功能.s...
編寫mysql備份指令碼 mysql 備份指令碼的編寫
最近在為做一些邊邊角角的工作,現在有乙個需求要每天把mysql的資料庫dump出來到備份機器上面去.看似簡單的任務也潛在了很多的需求,整理如下 自動執行 crontab 指令碼的環境變數設定 由於通過crontab 啟動執行的指令碼環境變數沒有設定,需要在指令碼中設定環境變數 使用何種方式備份資料庫...
mysql備份 MySQL備份指令碼
第乙個指令碼 bin bash mysql備份指令碼bak dir data backup date y m d mysqldb 資料庫名mysqluser 使用者mysqlpwd 密碼mysqlcmd usr bin mysqldumpmysqlser 資料庫伺服器mysqlport 埠if d ...