日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

引言

在 linux 做自動化其實(shí)非常方便,不會像windows一樣受制于系統(tǒng)的配置以及桌面環(huán)境。Linux 完全沒有這些負(fù)擔(dān),一個 Bash 就搞定了。

今天我們分享一段基本的 Bash 代碼,實(shí)現(xiàn) MySQL 數(shù)據(jù)庫備份,并通過網(wǎng)絡(luò)連接拷貝到遠(yuǎn)程服務(wù)器目錄。

干貨 | 分享一段 Bash 腳本,用于MySQL備份壓縮到Samba遠(yuǎn)程目錄

 

代碼時(shí)間

首先聲明所使用的解釋器:

#!/bin/bash

聲明時(shí)間戳變量:

TIMESTAMP=$(date +"%F")

然后是 MYSQL 操作所使用到的變量:

MYSQL="/usr/bin/mysql"
MYSQL_USER="{mysql_user_with_DBAdmin_permits}"
MYSQL_PASSword="{mysql_user_password}"
MYSQLDUMP="/usr/bin/mysqldump"

我們指定了 mysql 應(yīng)用位置,以及 mysqldump 工具的絕對路徑。還有連接數(shù)據(jù)庫所使用的用戶名和密碼。

接著是 Samba 服務(wù)器的遠(yuǎn)程掛載目錄相關(guān)的變量:

SMB_BACKUP_DIR="/mnt/backup"
SMB_BACKUP_SOURCE="//{path_to_network_share}"
SMB_BACKUP_USER="{network_user_with_permits_to_share}"
SMB_BACKUP_PASSWORD="{network_user_password}"

指定了備份的目錄,以及原始目錄,還有訪問遠(yuǎn)程目錄所使用的用戶名和密碼。

為了方便操作,再使用一個完整的備份文件路徑變量:

BACKUP_DIR="$SMB_BACKUP_DIR/$TIMESTAMP"

下面是邏輯過程。

如果用于映射 Samba 遠(yuǎn)程目錄的備份目錄不存在,就創(chuàng)建:

[[ ! -d "$SMB_BACKUP_DIR" ]] && mkdir -p $SMB_BACKUP_DIR

然后,我們把遠(yuǎn)程通過網(wǎng)絡(luò)訪問的 Samba 服務(wù)器地址,掛載到本地目錄,同時(shí)傳遞訪問的用戶授權(quán)信息。

mount -t cifs "$SMB_BACKUP_SOURCE" "$SMB_BACKUP_DIR" -o username="$SMB_BACKUP_USER",password="$SMB_BACKUP_PASSWORD"

注意文件類型一定是 cifs (Common Internet File System) 類型,需要 linux kernel 內(nèi)核支持該文件系統(tǒng)。

如果需要備份的目錄不存在,就創(chuàng)建:

[[ ! -d "$BACKUP_DIR" ]]  && mkdir -p $BACKUP_DIR

下面是數(shù)據(jù)庫的備份。

我們把 MySQL 的數(shù)據(jù)庫遍歷出來:

databases=`$MYSQL --user=$MYSQL_USER -p$MYSQL_PASSWORD -e "SHOW DATABASES;" | grep -Ev "(Database|information_schema)"`

結(jié)果就是本地所有數(shù)據(jù)庫名稱,然后我們使用循環(huán),逐一導(dǎo)出數(shù)據(jù),并壓縮到 $BACKUP_DIR ,文件名稱是數(shù)據(jù)庫名 + gz 后綴。

for db in $databases; do
 $MYSQLDUMP --force --opt --user=$MYSQL_USER -p$MYSQL_PASSWORD --databases $db | gzip > "$BACKUP_DIR/$db.gz"
done

好了,不知道會有多久這個任務(wù)執(zhí)行完畢,就可以不用掛載遠(yuǎn)程 Samba 目錄了,因?yàn)檫@很耗費(fèi)網(wǎng)絡(luò)資源。

umount $SMB_BACKUP_DIR

寫在最后

本文我們通過一個簡單的需求,在 Linux 下實(shí)現(xiàn)了 MySQL 自動備份到指定目錄。同時(shí)掛載 Samba 遠(yuǎn)程目錄,將數(shù)據(jù)庫備份到異地。

邏輯很清晰,實(shí)現(xiàn)很簡單,也沒有復(fù)雜的過程,很適合自動化工作。

HAppy coding :_)

我是 @程序員小助手 ,持續(xù)分享編程知識,歡迎關(guān)注。

分享到:
標(biāo)簽:備份 MySQL
用戶無頭像

網(wǎng)友整理

注冊時(shí)間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學(xué)四六

運(yùn)動步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績評定2018-06-03

通用課目體育訓(xùn)練成績評定