亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux下怎么通過Shell腳本自動備份MongoDB

發布時間:2022-02-17 15:48:00 來源:億速云 閱讀:200 作者:iii 欄目:開發技術

本文小編為大家詳細介紹“Linux下怎么通過Shell腳本自動備份MongoDB”,內容詳細,步驟清晰,細節處理妥當,希望這篇“Linux下怎么通過Shell腳本自動備份MongoDB”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。

Linux下怎么通過Shell腳本自動備份MongoDB

在MongoDB中創建備份賬號

使用管理員賬號登錄MongoDB數據庫:

[root@renwolecomdbs /]$ mongo
MongoDB shell version v3.4.9
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.9
> use admin
switched to db admin
認證
> db.auth("admin","KM5d9KhJcW7O0lIAT")

下面開始創建MongoDB備份專有賬號:

> db.createUser(
 {
   user: "renwolebackup",
   pwd: "RenwoleComACC",
   roles: [ { role: "backup", db: "admin" } ]
 }
)
> exit

創建備份腳本存放目錄及文件

$ mkdir -p /etc/init.d/mongo
$ mkdir -p /apps/data/mongobackup_db
$ vim /etc/init.d/mongo/mongo-bak
添加以下內容:#!/bin/bash  sourcepath=''targetpath='/apps/data/mongobackup_db'nowtime=$(date +%Y%m%d)start()
{
 ${sourcepath}mongodump --host 127.0.0.1:27017 -u renwolebackup -p renwolebackup --out ${targetpath}/${nowtime}}execute()  
{
 start
 if [ $? -eq 0 ]
 then   echo "back successfully!"  
 else   echo "back failure!"  
 fi}if [ ! -d "${targetpath}/${nowtime}/" ]thenmkdir ${targetpath}/${nowtime}fiexecuteecho "============== back end ${nowtime} =============="

以上腳本中,請注意路徑和文件夾根據你自己的需求修改。

注意:以上參數是我自己的實際使用情況,在使用前一定要認真閱讀代碼中的設置情況。

如果上面代碼執行時報格式錯誤,請在Windwos下使用Notepad++轉換為Unix格式即可,具體操作如下:

編輯-文檔格式轉換-轉換為unix格式。

刪除過期7天備份

$ vim /etc/init.d/mongo/mongo-delete
添加如下刪除內容:#!/bin/bash  targetpath='/apps/data/mongobackup_db'nowtime=$(date -d '-7 days' "+%Y%m%d")if [ -d "${targetpath}/${nowtime}/" ]then rm -rf "${targetpath}/${nowtime}/" echo "=======${targetpath}/${nowtime}/===刪除成功=="fiecho "===$nowtime ==="

設置權限

如果不給執行權限則無法運行腳本:

$ cd /etc/init.d/mongo
$ chmod +x mongo-bak
$ chmod +x mongo-delete

添加定時任務

為達到每天備份的目的,請設置任務計劃:

$ mkdir -p /var/log/mongobaklog
$ crontab –e
添加以下自動備份和刪除備份腳本內容:

30 03 * * * /etc/init.d/mongo/mongo-bak 1 > /var/log/mongobaklog/mongo-bak.log &
30 01 * * * /etc/init.d/mongo/mongo-delete 1 > /var/log/mongobaklog/mongo-delete &

前面所示分別為每日凌晨3.30和1.30執行該腳本的時間。

其中 mongo-bak 和 mongo-delete 分別是腳本的名稱。后面的是備份日志情況,如果有異常可以通過日志查詢。

讀到這里,這篇“Linux下怎么通過Shell腳本自動備份MongoDB”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

疏勒县| 信丰县| 平陆县| 凤城市| 石屏县| 宜昌市| 开鲁县| 西充县| 泾源县| 岚皋县| 尚志市| 修文县| 通辽市| 桃源县| 惠水县| 新民市| 丰县| 醴陵市| 独山县| 聂拉木县| 北辰区| 包头市| 靖江市| 宁化县| 阿荣旗| 神木县| 灌阳县| 德安县| 滁州市| 二连浩特市| 漳浦县| 高雄市| 荔浦县| 珲春市| 山阴县| 铜川市| 兴山县| 洛扎县| 镇江市| 百色市| 林周县|