共計 1363 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章主要介紹 CentOS/RHEL 系統如何實現每天自動備份 MySQL 數據庫,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
1. 先在服務器下建文件夾以下 3 個文件夾:/bak、/bak/bakmysql、/bak/bakmysqlold。
[root@server21 ~]# mkdir -p /bak/bakmysql{,old}
在 /bak/bakmysql 文件夾下建一個 shell 腳本:
[root@server21 ~]# touch /bak/bakmysql/backup.sh
給文件授權:
[root@server21 ~]# chmod 755 /bak/bakmysql/backup.sh
2. 編輯 shell 腳本:
[root@server21 ~]# vim /bak/bakmysql/backup.sh
#!/bin/bash
cd /bak/bakmysql
echo You are in bakmysql directory
mv bakmysql* /bak/bakmysqlold
echo Old databases are moved to bakmysqlold folder
Now=$(date + %Y-%m-%d)
File=bakmysql-$Now.sql
mysqldump -uroot -p password db_bbs $File
echo Your database backup successfully completed
SevenDays=$(date -d -7day + %Y-%m-%d)
if [-f /bak/bakmysqlold/bakmysql-$SevenDays.sql]; then
rm -rf /bak/bakmysqlold/bakmysql-$SevenDays.sql
echo You have delete 7days ago backup file
else
echo 7 days ago backup file not exist
fi
3.Shell 腳本 mysqldump -uroot -p password db_bbs $File 語句中的紅色字體請分別換為自己的 mysql 數據庫用戶、密碼和 database 名。腳本先將 /bak/bakmysql 文件夾下 bakmysql 為文件名開頭的備份文件移至 /bak/bakmysqlold,再生成最新的備份文件,最后再判斷 /bak/bakmysqlold 文件夾中七天前的文件是否存在,存在則刪除,最后結束。這樣就能自動備份最近七天的數據庫腳本。
4. 設置每天自動執行 shell 腳本:
[root@server21 ~]# vim /etc/crontab 在最后加入這樣一行(具體含義請自行參考 /etc/crontab 中的注釋)
0 0 * * * root /bak/bakmysql/backup.sh
重啟 crontab:
[root@server21 ~]# /sbin/service crond restart
如果沒有設置 crontab 為開機自啟動可以如下設置其開機自啟動:
[root@server21 ~]# chkconfig –level 35 crond on
以上是“CentOS/RHEL 系統如何實現每天自動備份 MySQL 數據庫”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注丸趣 TV 行業資訊頻道!