資料庫備份指令碼

2021-09-05 09:40:46 字數 1123 閱讀 1483

注意,如果在windows下編寫,由於換行等字元的不同,在unix下可能會報錯。

#!/bin/bash

#設定mysql備份目錄

folder=/path/home/backup/mysql

cd $folder

day=`date +%y%m%d`

rm -rf $day

mkdir $day

cd $day

#資料庫服務 ip

host=localhost

#使用者名稱

user=backup

#密碼 #&這些需要轉義加\

password=pwd

#要備份的資料庫

dbs=(db1 db2 db3)

#需要備份的 tables

echo "*************** 開始備份..at `date '+%y-%m-%d %h:%m:%s'`=="

# 遍歷備份的資料庫表

for db in $

do backup_file="$.sql"

if [ ! -e "$backup_file" ];

then

rm -f "$backup_file"

fi # 最核心的就是這句話,使用mysqldump命令執行備份

# $db $t 資料庫 相應的表

mysqldump -h$ -u$ -p$ $db >$backup_file

done

finish_date=`date '+%y-%m-%d %h:%m:%s'`

echo "***************= 結束備份...at $.==="

#資料要保留的天數

days=10

cd ..

day=`date -d "$days days ago" +%y%m%d`

#刪除 相應的檔案

rm -rf $day

chmod +x database_backup_shell.sh

執行命令:crontab -e   

新增定時指令碼:0 3 * * * /data/mysql.sh

命令:crontab -l

crontab -r

資料庫簡單備份指令碼

同事給的乙個範例,簡單修改了一下,同樣適用於其他持久層。備份使用shell指令碼 crontab命令結合完成。shell指令碼 取得系統格式化日期 date date y m d 備份路徑 bak dir root develop database backup file 備份檔案名格式 file ...

Oracle資料庫備份指令碼

rem oracle資料庫備份指令碼 rem 1 提供兩種備份模式 exp,exp dp rem 2 提供資料壓縮功能 rem 3 提供將備份檔案拷貝到遠端目錄功能 rem 4 提供異常處理功能 echo off title 資料庫名稱 備份 date time setremote path ip ...

MySQL資料庫備份指令碼

1.指令碼內容 單獨的指令碼 bin sh if 4 then echo usage 0 db host db user db pwd db name exit fiprefix date y m d h m s filepath root dbbackup date y m 4 prefix if...