注意,如果在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...