標籤(空格分隔): mysql mysqldump
編寫shell指令碼
#!/bin/bash
# description: mysql buckup shell script
user="username" // 連線資料庫的 使用者名稱
password="password" //連線資料庫的 密碼
database="your_database" //需要備份的資料庫
#mail="[email protected]"
backup_dir=/data/data_backup/database/ #備份檔案儲存路徑
logfile=/data/data_backup/database/backup.log #日誌檔案路徑
current=`date +"%y%m%d_%h%m"`
dumpfile=backup.$current.sql
archive=backup.$current.sql.tar.gz
options="-u$user -p$password
$database"
#判斷備份檔案儲存目錄是否存在,否則建立該目錄
if [ ! -d
$backup_dir ]
then
mkdir -p "$backup_dir"
fi#開始備份之前,將備份資訊頭寫入日記檔案
echo
" ">> $logfile
echo
"--------------------" >> $logfile
echo
"backup date:" $(date +"%y-%m-%d %h:%m:%s") >> $logfile
echo
"-------------------" >> $logfile
#切換至備份目錄
cd$backup_dir
mysqldump $options > $dumpfile
#判斷資料庫備份是否成功
if [[ $? == 0 ]]
then
tar czvf $archive
$dumpfile >> $logfile
2>&1
echo
"[$archive] backup successful!" >> $logfile
rm -f
$dumpfile
#刪除原始備份檔案,只需保留備份壓縮包
# 把壓縮包檔案備份到其他機器上。
#scp -p 1110 $backup_dir$archive ubuntu@*.*.*.*:/home/user/data_backup/ >> $logfile 2>&1
#mail -s "database:$database daily backup successful!" $mail
else
echo
"database backup fail!" >> $logfile
#備份失敗後向管理者傳送郵件提醒
#mail -s "database:$database daily backup fail!" $mail
fiecho
"backup process done"
#刪除3天以上的備份檔案
#cleaning
find $backup_dir -type f -mtime +2 -name "*.tar.gz" -exec rm -f {} \;
配置定時任務
2.1.進入 編輯定時任務的命令:
crontab -e
2.2. 新增乙個任務
0
3 * * * sh /data/data_backup/script/dump_timely.sh
2.3. 重啟crond
service crond restart
其他 當資料儲存目錄不是mysql的預設目錄時,需要主要建立乙個軟連線。
比如在my.cnf中,資料目錄長這樣:
datadir=/data/mysql_data/mysql
socket=/data/mysql_data/mysql/mysql.sock
然後我們必須建立乙個軟連線
ln -s /data/mysql_data/mysql/mysql.sock /var/lib/mysql/mysql.sock
否則mysqldump啟動不了, 並報類似下面的錯誤:
local mysql server through socket '/var/lib/mysql/mysql.sock'
參考:
mysql定時備份資料
備份指令碼 生產環境已經使用,沒有問題 bin bash 設定mysql的登入使用者名稱和密碼 根據實際情況填寫 mysql user root mysql password 123456 mysql host localhost mysql port 3306 mysql charset utf8...
Mysql遠端定時備份資料
1 建立備份路徑mkdir data backup test 2 建立備份指令碼vim backup.sh寫入shell mysqldump h 需要備份資料庫所在機器ip u使用者名稱 p密碼 備份的資料庫名 opt q r skip lock tables 備份檔案所在路徑例項 mysqldum...
Mysql定時備份資料指令碼
定時任務,計畫在每天晚上23點55分進行資料備份 bin bash 資料庫定時備份,並將備份的庫進行打包壓縮 user root 使用者名稱 passwd 123456 密碼 dataname sjk 資料庫名 back path vdb1 mysql backup 備份位址 date date y...