MySQL備份指令碼 mysqldump

2021-10-16 11:47:40 字數 1778 閱讀 9191

#!/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 ...