中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

泸定县| 临沭县| 清远市| 东海县| 泽库县| 万载县| 谷城县| 绍兴市| 平阴县| 麻阳| 宁蒗| 蒙自县| 稷山县| 板桥市| 九江市| 湘西| 鹤岗市| 商洛市| 通化市| 册亨县| 临汾市| 宁德市| 鹤山市| 谢通门县| 南皮县| 讷河市| 金山区| 七台河市| 苍山县| 宁乡县| 利津县| 灵宝市| 保康县| 湘阴县| 栖霞市| 英吉沙县| 张家川| 蒙城县| 阿拉善左旗| 龙南县| 嘉义市|