Linux下的MySQL自動備份指令碼

2022-03-09 23:48:03 字數 1853 閱讀 9340

寫了個linux下的mysql備份指令碼 這是第一版,只支援備份乙個資料庫,每天晚上2點用定時器把這個指令碼跑一下就自動備份好了。後續會做可支援備份多個資料庫,備份失敗簡訊傳送到手機,自動清除過期備份。

#!/bin/bash

#script:backup_mysql

#version:release 1.0

#author:www.dba-china.com

#date:2011-10-26

backup_time=`date +%y%m%d%h%m`  #定義備份詳細時間

backup_ymd=`date +%y%m%d` #定義備份目錄中的年月日時間

backup_7ago=`date -d '7 days ago' +%y%m%d` #七天之前的日期

backup_dir=/backup/mysql/$backup_ymd  #備份檔案夾全路徑

backup_database="dba-china" #要備份的資料庫名稱

mysql_user="root"

mysql_password="root"

#mysql_host="localhost"

#mysql_port="3306"

#判斷mysql是否啟動,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 "mysql running ok!"

fi

#連線到mysql資料庫,無法連線則備份退出

mysql -u$mysql_user -p$mysql_password <

use mysql;

select host,user from user where user='root' and host='localhost';

exit

end

flag=`echo $?`

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

echo "error:can't connect mysql server! backup stoped!"

exit;

else

echo "mysql connect ok! backup start......"

#db=`echo $backup_database |cut -d ',' -f1`

db=$backup_database       

if [ $db == '' ];then

echo "error:no database to backup!"

else

echo "database $db backup start..."

`mkdir -p $backup_dir`

`mysqldump -u$mysql_user -p$mysql_password $db > $backup_dir/$db$backup_time.sql`

echo "database $db backup success!"

fi

fi通過 為知筆記 發布

linux下Oracle實現資料的自動備份

由於近期工作的原因,要做乙個簡單的oracle資料自動備份,因為是乙個單體應用,所以就利用了linux的定時任務和oracle的exp進行資料備份,如果有不足和需要改正的地方,歡迎各位高手指正,不勝感激。下邊就開始具體的操作 mkdir p u01 oracle bak data 新建資料備份目錄 ...

Linux配置postgresql自動備份

1 pg dump資料庫備份命令 usr pgsql 9.3 bin pg dump f c o u dotop h 127.0.0.1 p 5432 f data erp data db backup geyt 20170214 09 37 55.sql geyt2.linux配置postgres...

Linux 下的 mysql 自動備份

linux 下實現自動備份,主要就是編寫好執行備份的 shell script sh 檔案,設好許可權 可讀,可執行 然後利用 linux 定時任務crontab來執行備份指令碼就可以了。以後備份其他檔案也是這樣的執行過程 資料庫賬號 db user 資料庫密碼 db passwd 資料庫名稱 db...