Linux下mysql自動備份腳本 Linux下mysql自動備份腳本

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

1438593-20190311190444270-1048096757.png

1438593-20190311190503400-388506129.png

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

1438593-20190311190516748-438554233.png

定時任務

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

service crond status

1438593-20190311190607303-1134718293.png

有藍色指示燈說明服務運行正常,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點執行的效果圖

1438593-20190311190629189-1561248176.png

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

推薦閱讀

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

posted @ 2019-03-11 19:07 南嶼北島 閱讀( ...) 評論( ...) 編輯 收藏
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章