Linux下mysql自動備份腳本


本隨筆文章,由個人博客(鳥不拉屎)轉移至博客園
發布時間:2018 年 06 月 26 日
原地址:https://niaobulashi.com/archives/AutoBackup.html


       逛了蠻多博客網站的,親眼看到一個博客網站數據丟失之后的模樣,挺為他心痛的。於是就打算弄個mysql定時備份的腳本,可以自行設計crontab定時執行時間,可以是周一和周四每周備份兩次就可以了。

腳本

       新建一個mysql_backup.sh文件

#!/bin/bash
#設置mysql的備份保存目錄
folder=/root/mysql_back
cd $folder
day=`date +%Y%m%d`
mkdir -p "$day"
cd $day
#數據庫服務器ip,填寫服務器的公網地址即可
host=xx.xx.xx.xx
#用戶名
user=root
#密碼
password=password
#要備份的數據庫名
db=test

#執行備份語句
mysqldump -h$host -u$user -p$password $db > ./test.sql

注意

上方需要你 修改 並且 注意 的地方有:

  • folder設置的目錄你可以自行設置
  • day=date +%Y%m%d,"+"和"date"必須有個空格,否則會有語法錯誤
  • host為你的服務器公網IP
  • user一般都是root
  • password為root的密碼
  • db為博客的數據庫名

測試腳本是否正確,執行腳本

sh mysql_backup.sh

因為我是為了測試crontab的定時任務執行是否有效,我設置的是1分鍾執行一次,其中day=`date +%Y%m%d_%H%M%S`。(為了執行效果而截的圖,可忽略)

定時任務

設置好定時任務crontab執行時間,一般ESC都會自帶crontab服務的。查看crontab服務狀態

service crond status

有藍色指示燈說明服務運行正常,OK,開始設置定時任務

crontab -e

鍵入i,進入編輯模式:
敲入下列命令:每周1和周4凌晨2點會執行定時腳本

0 2 * * 1,4 /etc/profile;/bin/sh /root/mysqlbackup.sh

重啟crontab服務使之生效

/bin/systemctl restart crond.service

OK了,之后查看備份的文件就在上面腳本定義的目錄上查看即可

cd /root/mysql_back

為你的博客進行備份,不再為數據丟失而煩惱啦。

是不是so easy。有啥問題盡情留言,秒回

20180725前來更新
這是部署腳本之后的執行效果,每個周一和周四凌晨2點執行的效果圖

不再為忘記備份擔心數據丟失啦~

推薦閱讀

關於定時執行任務:Crontab的20個例子
Linux crontab定時執行任務 命令格式與詳細例子
Linux crontab命令


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM