Linux中實現定時備份資料庫

2021-09-03 01:20:08 字數 1565 閱讀 5526

需求分析

1)每天凌晨 2:10 備份 資料庫 mydatebase 到 /data/backup/db

2)備份開始和備份結束能夠給出相應的提示資訊

3)備份後的檔案要求以備份時間為檔名,並打包成 .tar.gz 的形式,比如:2018-12-12_230201.tar.gz

4) 在備份的同時,檢查是否有 10 天前備份的資料庫檔案,如果有就將其刪除。

步驟:1)先在 /usr/sbin 編寫乙個 shell 指令碼

[root@mycentos6 sbin]# vim mysql_db_backup.sh
內容如下

#!/bin/bash

#完成資料庫的定時備份

#備份的路徑

backup=/data/backup/db

#當前的時間作為檔名

datetime=$(date +%y_%m_%d_%h%m%s)

#可以輸出變數除錯

#echo $

echo "*****=開始備份*****="

echo "*****=備份的路徑是 $backup/$datetime.tar.gz"

#主機host=localhost

#使用者名稱

db_user=root

#密碼db_pwd=123456

#備份資料庫名

database=mydatebase

#建立備份的路徑

#如果備份的路徑資料夾存在,就使用,否則就建立

[ ! -d "$backup/$datetime" ] && mkdir -p "$backup/$datetime"

#執行mysql的備份資料庫的指令

mysqldump -u$ -p$ --host=$host $database | gzip > $backup/$datetime/$datetime.sql.gz

cd $backup

tar -zcvf $datetime.tar.gz $datetime

#刪除臨時目錄

rm -rf $backup/$datetime

#刪除10天前的備份檔案 -mtime +10是10天前 exec是執行的意思 {} \為固定寫法

find $backup -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;

echo "*****=備份檔案成功*****="

2)給sh指令碼乙個可執行許可權

chmod 744 mysql_db_backup.sh
3)通過crontab 進行 定時任務的設定

[root@mycentos6 sbin]# crontab -e
編輯定時任務

至此資料庫定時備份已經完成!

linux 定時備份資料庫

linux下定時備份mysql使用到了crontab系統,其按日期對備份結果進行儲存,從而達到備份資料庫的目的。1 建立mysql中資料庫的備份目錄,mkdir mysqlbackdir 2 建立mysql備份指令碼,vi usr sbin bak mydb 2012 6 19 edit by ji...

linux定時備份資料庫

1.首先我們需要檢視磁碟空間,命令 df h 我們可以看到根目錄下的磁碟空間比較大,之所以要看磁碟空間,目的是防止我們經常備份資料庫,導致磁碟的容量不夠 2.新建檔案,存放資料庫備份指令碼和備份資料 cd mkdir backup 3 在backup目錄下新建指令碼名為backup.sh vi ba...

linux 定時備份資料庫 上傳

編輯crontab定時任務,每分鐘執行一次 home oracle bak 1.sh crontab e 1 home oracle bak 1.sh home oracle bak backup.log 自動備份資料庫並將上一次備份資料刪除,並壓縮 根據不同的oracle安裝路徑,設定的路徑不同 ...