需求分析
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安裝路徑,設定的路徑不同 ...