1. 程式人生 > 其它 >Linux伺服器利用crontab定時任務實現Mysql定時備份

Linux伺服器利用crontab定時任務實現Mysql定時備份

技術標籤:伺服器運維linuxmysqlsql資料庫

1.查詢資料庫所在目錄。

輸入命令:

whereis mysql 或者

which mysql
在這裡插入圖片描述

2.查詢資料庫名稱

mysql - uroot -p

輸入密碼:

show databases;

找到要備份的資料庫

在這裡插入圖片描述

退出: exit

3.建立備份資訊存放的資料夾

 mkdir /var/lib/mysqlbackup 
 cd /var/lib/mysqlbackup

4.用 vi編輯 shell指令碼:

vi dbbackup.sh

 vi dbbackup.sh

 #!/bin/sh

 mysqldump -uroot -proot1234 hsgpstest | gzip > /usr/bin/mysqlbackup/dbnamedate+%Y-%m-%d_%H%M%S.sql.gz

 cd  /usr/bin/mysqlbackup

rm -rf find . -name '*.sql.gz' -mtime 10  #刪除10天前的備份檔案
#!/bin/bash
#備份檔案儲存目錄
backupdir=/var/lib/mysqlbackup
#時間戳
time=_`date +%Y_%m_%d_%H_%M_%S`
#資料庫連線資訊
db_name=hxgpstest
db_user=root
db_pass=fuyang1234

#mysql備份
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

編輯完按esc進入命令模式 輸入:wq儲存並退出

在這裡插入圖片描述

5.更改備份指令碼許可權:

chmod +x dbbackup.sh 

6.用crontab定時執行備份指令碼程式碼:

s

crontab -e 
若每天晚上21點00備份,新增如下程式碼
00 21 * * * /var/lib/mysqlbackup/dbbackup.sh