linux中mysql自動備份並刪除5天前的備份

2021-08-16 02:35:25 字數 1164 閱讀 2716

vi /usr/sbin/backmysql.sh

內容如下:**

db_user="root"

db_passwd="root"

db_name="db_test"

# the directory for story your backup file.you shall change this dir

backup_dir="/usr/software/backup/mysqlbackup"

# date format for backup file (dd-mm-yyyy)

time="$(date +"%y%m%d%h%m%s")"

mysqldump -u$db_user -p$db_passwd $db_name > "$backup_dir/$db_name"_"$time.sql"

find $backup_dir -mtime +5 -name "*.*" -exec rm -f {} \;

注意 -p 和 $db_passwd之間沒有空格,不然$db_passwd會被當做引數[資料庫名]來解析

-type f 表示查詢普通型別的檔案,f表示普通檔案。

-mtime +5 按照檔案的更改時間來查詢檔案,+5表示檔案更改時間距現在5天以前;如果是 -mmin +5 表示檔案更改時間距現在5分鐘以前。

-exec rm {} \; 表示執行一段shell命令,exec選項後面跟隨著所要執行的命令或指令碼,然後是一對兒,乙個空格和乙個\,最後是乙個分號。

[root@localhost sbin]# chmod +x /usr/sbin/backmysql.sh

cd 到/usr/sbin/目錄下 執行./backmysql.sh指令碼,若正確,則/usr/software/backup/mysqlbackup目錄下會生成用時間命名並壓縮好的備份檔案

[root@localhost sbin]# crontab -e

#進入編輯介面,內容如下

00 23 * * * /usr/sbin/backmysql.sh

如時沒有安裝 crontab,需要先安裝它,具體步驟請參考:

centos下使用yum命令安裝計畫任務程式crontab

使用rpm命令從centos系統盤安裝計畫任務程式crontab

linux中的mysql自動備份

建備份檔案夾 mkdir mysql data bak 建指令碼檔案 touch autobackupmysql.sh 開啟檔案 vi autobackupmysql.sh 在指令碼中加入如下內容 filename date y m d usr bin mysqldump uroot proot b...

Linux自動備份MySQL

locate my.cnf etc my.cnf nano etc my.cnfhost localhost user root password yourpassword本來不需要這些操作,直接把使用者名稱密碼寫到備份指令碼裡就可以,但是 mysql 5.6 之後在命令列裡寫密碼會出現警告。nan...

linux下mysql自動備份

其實這個mysql自動備份的小指令碼非常簡單,下面是這個小指令碼的步驟。cd www mkdir mysqlbackup vi mysqlautobackup.sh 這個mysqlautobackup.sh的檔案裡寫入以下內容 filename date y m d mysql bin dir my...