激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

香港云服务器
服務器之家 - 數據庫 - Mysql - 定時備份 Mysql并上傳到七牛的方法

定時備份 Mysql并上傳到七牛的方法

2019-06-21 11:27輿圖易稿 Mysql

常見的 MySQL 數據備份方式有,直接打包復制對應的數據庫或表文件(物理備份)、mysqldump 全量邏輯備份、xtrabackup 增量邏輯備份等。這篇文章主要介紹了定時備份 MySQL 并上傳到七牛 ,需要的朋友可以參考下

多數應用場景下,我們需要對重要數據進行備份、并放置到一個安全的地方,以備不時之需。

常見的 MySQL 數據備份方式有,直接打包復制對應的數據庫或表文件(物理備份)、mysqldump 全量邏輯備份、xtrabackup 增量邏輯備份等。

常見的數據存儲方式有,本機存儲、FTP 上傳到遠程服務器、云存儲(如阿里云OSS、七牛云存儲等)、甚至本地也行。

我們可能不想每次都手動去備份,也不想每次都那么耗時間的去下載,也不想就放在服務器上丟了,因為我們需要異地備份。那我們可以嘗試,寫個腳本定時備份數據庫,然后自動上傳到指定服務器或云存儲。

這里,我們說說 Linux 服務器下備份 MySQL 并上傳到七牛云存儲的方式。

準備工作

•Linux 系統

•crontab 服務

需保證 crond 服務處于啟動&自啟動狀態。

•gzip 命令

需系統能正常執行 gzip 命令,用于壓縮文件。

•mysqldump 命令

需系統能正常執行 mysqldump 命令,用于邏輯備份數據。mysqldump 備份的數據,系由可執行的 SQL 組成,不存在版本不兼容的問題。

•qshell 工具

qshell 是七牛云官方利用七牛文檔上公開的 API 實現的一個方便開發者測試和使用七牛 API 服務的命令行工具。

具體文檔和下載地址: https://developer.qiniu.com/kodo/tools/1302/qshell

•七牛云賬號

存儲數據的前提當然是先有一個七牛的賬號,七牛對個人提供10G的免費存儲空間,可供我們個人使用。注冊地址:
https://portal.qiniu.com/signup?code=3looatwobaxci

•七牛存儲空間

有了七牛云的賬號后,還需在控制臺手動創建一個空間(bucket)來存放數據。

qshell 配置

我們從官方地址中下載的 qshell 是個包含支持多個系統平臺的壓縮包,選擇我們對應系統的那個二進制文件,賦予其可執行權限。也可以放置到 /usr/local/bin/ 等目錄下,方便直接調用 qshell 命令。

配置七牛賬號,ak、sk 在七牛云控制臺 > 個人中心 > 密鑰管理內。
qshell account ak sk

該命令會將 ak/sk 賬號寫入 ~/.qshell/account.json,此后就不用再配置了。

我們這里用的 qshell 命令是 rput,即以分片上傳的方式上傳一個文件,使用文檔:

https://github.com/qiniu/qshell/blob/master/docs/rput.md

qshell rput <Bucket> <Key> <LocalFile> true

qshell 的其他詳細功能使用,可自行參考其文檔。

腳本內容

01#!/bin/sh
02# mysql data backup script
03#
04# use mysqldump --help,get more detail.
05dbname=your_dbname
06user=your_db_username
07password=your_db_password
08bakDir=/opt/backup/sql
09logFile=/opt/backup/mysqlbak.log
10datetime=`date +%Y%m%d%H%M%S`
11keepDay=7
12echo "-------------------------------------------" >> $logFile
13echo $(date +"%y-%m-%d %H:%M:%S") >> $logFile
14echo "--------------------------" >> $logFile
15cd $bakDir
16bakFile=$dbname.$datetime.sql.gz
17mysqldump -u$user -p$password $dbname | gzip > $bakFile
18echo "數據庫 [$dbname] 備份完成" >> $logFile
19echo "$bakDir/$bakFile" >> $logFile
20echo "開始上傳備份文件至七牛云存儲" >> $logFile
21/usr/local/bin/qshell rput <Bucket> database/$bakFile $bakFile true | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g" >> $logFile 2>&1
22echo "刪除${keepDay}天前的備份文件" >> $logFile
23find $bakDir -ctime +$keepDay >> $logFile
24find $bakDir -ctime +$keepDay -exec rm -rf {} \;
25echo " " >> $logFile
26echo " " >> $logFile

腳本中的數據庫配置、日志文件、存放路徑、<Bucket>等需自行修改,并存在。database/$bakFile,表示的是 <Key>,即在七牛存儲中的路徑&文件名,可自定義。

腳本文件需可執行權限,然后可以執行腳本進行測試。

定時任務

1# 每天凌晨2點執行備份腳本
2* 2 * * * /opt/backup/baksql.sh

如果定時任務未執行,可查看日志 /var/log/cron 排查問題,或者查看 crond 是否處于運行狀態。

總結

以上所述是小編給大家介紹的定時備份 Mysql并上傳到七牛的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!

延伸 · 閱讀

精彩推薦
656
主站蜘蛛池模板: 偷偷草网站 | 蜜桃麻豆视频 | 国产一精品久久99无吗一高潮 | 一级黄色淫片 | 国产成人网 | 大号bbwassbigav头交 | 欧美日韩一区,二区,三区,久久精品 | 国产91免费看 | 国产精品午夜未成人免费观看 | 国产在线观看福利 | 欧美日本色 | 欧美视频网 | 午夜视频成人 | 亚洲天堂字幕 | 国产91亚洲精品久久久 | 中文日韩在线视频 | 一区二区三高清 | 91中文在线 | 精品亚洲视频在线观看 | 在线观看国产一区二区 | 国产精品高潮99久久久久久久 | 免费观看一区二区三区视频 | 久久免费视频1 | 精品一二三区视频 | 久久久国产精品成人免费 | chinesexxxx刘婷hd| 毛片大全免费看 | 国产伊人色| 97精品国产高清在线看入口 | 亚洲不卡 | 精品国产91久久久久久久妲己 | 国产成人精品免高潮在线观看 | 男男成人高潮片免费视频欧美 | 国产精品欧美久久久久一区二区 | 中文字幕在线观看成人 | 日韩精品中文字幕在线播放 | 日韩精品免费一区二区三区 | 伊人亚洲精品 | 91亚洲精品一区二区福利 | 精品亚洲夜色av98在线观看 | 久久精品操 |