linux定時備份資料庫 並刪除N天之前的備份

2021-08-31 23:30:10 字數 1270 閱讀 5385

1、建立乙個存放備份資料庫的資料夾

#目錄

cd /usr/local

#建立資料夾

mkdir mysql_bak

2、進入目錄 mysql_bak

cd mysql_bak
3、建立定時指令碼

vim mysql.bak.sh
填寫以下內容到mysql.bak.sh

#!/usr/bin/bash

#備份位址

backupdir=/usr/local/mysql_bak

#備份檔案字尾時間

time=_` date +%y_%m_%d_%h_%m_%s `

#需要備份的資料庫名稱

db_name=test

#mysql 使用者名稱

db_user=root

#mysql 密碼中含有特殊字元(例如 ! 等)記住用引號將 「密碼」 包起來

db_pass='123456!'

#mysqldump命令使用絕對路徑

mysqldump -u$db_user -p$db_pass $db_name | gzip > $backupdir/$db_name$time.sql.gz

#刪除15天之前的備份檔案

find $backupdir -name $db_name"*.sql.gz" -type f -mtime +15 -exec rm -rf {} \; > /dev/null 2>&1

進行一次測試,先對mysql.bak.sh 檔案賦予可執行許可權

chmod +x mysql.bak.sh 

#或chmod 755 mysql.bak.sh

執行一次,檢視/usr/local/mysql_bak資料夾下是否有生成的備份資料

./mysql.bak.sh
顯示如下即可以解壓檢視是否成功 

接下來建立定時任務:

crontab -e
#每天凌晨3點執行一次

00 3 * * * /usr/local/mysql_bak/mysql.bak.sh

儲存完

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