Linux定時備份MySQL資料庫指令碼

2021-10-04 05:21:00 字數 1445 閱讀 8188

之前記錄下了window系統備份遠端mysql資料庫的定時備份指令碼(想要了解的可以去看看》 windows壓縮備份mysql資料庫),linux系統的忘記記錄了。這次把它也儲存下來。

指令碼內容非常簡單,主要是利用mysql的備份系統來做這件事。

#!/bin/bash

mysqldump -hlocalhost -u[username] -p[password]

[database]

|gzip

> /backup/database_$(

date +%y%m%d_%h%m%s)

.sql.gz

workdir

="/backup/"

do_delete()

find

$workdir -name '*.sql.gz' -and -mtime +7 -type f -delete

if[$? -eq 0];

then

echo

$(date

) delete $(

basename $

) success!

else

echo

$(date

) delete $ faild!fi}

do_delete

在根目錄建立乙個backup資料夾,將指令碼放在這個資料夾內,給指令碼可執行許可權。

下面我們要用到的是linux的crontab命令。

crontab常用引數如下:

使用crontab -e編輯工作表,在工作表中加入下面的內容,讓指令碼每天凌晨3點執行。

0

3 * * * /backup/bakdb.sh

內容的規則如下:

.---------------- minute (0 - 59)

| .------------- hour (0 - 23)

| | .---------- day of month (1 - 31)

| | | .------- month (1 - 12) or jan,feb,mar,apr ...

| | | | .---- day of week (0 - 6) (sunday=0 or 7) or sun,mon,tue,wed,thu,fri,sat

| | | | |

* * * * * user-name 指定其他使用者排程,如果不需要則不指定

*表示每年每月每天每時每分都執行該任務。

任務新增好了之後可以將crond服務重啟:service crond restart

Xtrabackup定時備份mysql資料庫指令碼

定時備份mysql資料庫 指令碼內容 bin bash 備份計畫任務 每天凌晨1 30一次全量備份 每天間隔1小時一次增量備份 30 1 backup.sh full 00 backup.sh inc 恢復資料步驟 1 檢視備份日誌,找到全量備份和增量備份的關係 注意增量備份的順序 cat 2 全量...

Linux 定時備份MYsql

vim sbin backup usr local mysql bin mysqldump uroot p1 l mysql home databak mysql date y m d sql 注 l 鎖定表 date與 之前要空格,與 y m d不能有空格 crontab e 03 sbin ba...

linux定時備份mysql(可用)

得到mysql路徑 ps ef grep mysql usr bin mysql 是指 mysql的執行路徑 var lib mysql 是指 mysql資料庫檔案的存放路徑 usr lib mysql 是指 mysql的安裝路徑 建立備份目錄 cd home mkdir backup cd bac...