91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

阳朔县| 邛崃市| 郯城县| 洪雅县| 长垣县| 崇信县| 崇仁县| 三原县| 石棉县| 怀仁县| 红桥区| 华蓥市| 泾阳县| 大兴区| 临澧县| 宣威市| 灵丘县| 崇州市| 本溪市| 当雄县| 都兰县| 怀仁县| 垣曲县| 红安县| 黄冈市| 沅江市| 石台县| 河南省| 泗洪县| 商丘市| 湘潭市| 剑河县| 大悟县| 泰来县| 环江| 吉首市| 黑山县| 平武县| 内黄县| 寻甸| 汝州市|