久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

如何在centos中使用crontab命令對mongodb進行定時備份

137次閱讀
沒有評論

共計 2494 個字符,預計需要花費 7 分鐘才能閱讀完成。

自動寫代碼機器人,免費開通

這篇文章給大家介紹如何在 centos 中使用 crontab 命令對 mongodb 進行定時備份,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

1、創建 Mongodb 數據庫備份目錄

mkdir -p /home/backup/mongod_bak/mongod_bak_now
mkdir -p /home/backup/mongod_bak/mongod_bak_list

2、新建 Mongodb 數據庫備份腳本

vi /home/crontab/mongod_bak.sh #新建文件,輸入以下代碼

#!/bin/sh
DUMP=/usr/local/mongodb/bin/mongodump #mongodump 備份文件執行路徑
OUT_DIR=/home/backup/mongod_bak/mongod_bak_now # 臨時備份目錄
TAR_DIR=/home/backup/mongod_bak/mongod_bak_list # 備份存放路徑
DATE=`date +%Y_%m_%d` # 獲取當前系統時間
DB_USER=username # 數據庫賬號
DB_PASS=123456 # 數據庫密碼
DAYS=7 #DAYS= 7 代表刪除 7 天前的備份,即只保留最近 7 天的備份
TAR_BAK= mongod_bak_$DATE.tar.gz  # 最終保存的數據庫備份文件名
cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
$DUMP -u $DB_USER -p $DB_PASS -o $OUT_DIR/$DATE # 備份全部數據庫
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE # 壓縮為.tar.gz 格式
find $TAR_DIR/ -mtime +$DAYS -delete # 刪除 7 天前的備份文件 

3、修改文件屬性,使其可執行

chmod +x /home/crontab/mongod_bak.sh

4、修改 /etc/crontab #添加計劃任務

crontab -e

在下面添加

30 1 * * * root /home/crontab/mongod_bak.sh # 表示每天凌晨 1 點 30 執行備份 

5、重新啟動 crond 使設置生效

/sbin/service crond reload # 重新載入配置
chkconfig --level 35 crond on # 加入開機自動啟動:
/sbin/service crond start # 啟動服務
crontab -l # 列出 crontab 文件 

  每天在 /home/backup/mongod_bak/mongod_bak_list 目錄下面可以看到 mongod_bak_2017_02_28.tar.gz 這樣的壓縮文件。

至此,Linux 下自動備份 Mongodb 數據庫并刪除指定天數前的備份完成。

Mongodb 定時恢復備份

恢復全部數據庫:

mongorestore –drop –directoryperdb 
/home/backup/mongod_bak/mongod_bak_now/2017_02_28/

恢復單個數據庫:

mongorestore –drop -d dataname –directoryperdb 
/home/backup/mongod_bak/mongod_bak_now/2017_02_28/dataname

–drop 參數:恢復數據之前刪除原來數據庫數據,避免數據重復。

–directoryperdb 參數:數據庫備份目錄

- d 參數:后面跟要恢復的數據庫名稱

crontab 命令:

crontab 命令常見于 Unix 和類 Unix 的操作系統之中,用于設置周期性被執行的指令。該命令從標準輸入設備讀取指令,并將其存放于“crontab”文件中,以供之后讀取和執行。該詞來源于希臘語 chronos(χρ?νο?),原意是時間。

通常,crontab 儲存的指令被守護進程激活,crond 常常在后臺運行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般稱為 cron jobs。

安裝 crontab:

[root@CentOS ~]# yum install vixie-cron
[root@CentOS ~]# yum install crontabs

說明:
vixie-cron 軟件包是 cron 的主程序;
crontabs 軟件包是用來安裝、卸裝、或列舉用來驅動 cron 守護進程的表格的程序。

cron 是 linux 的內置服務,但它不自動起來,可以用以下的方法啟動、關閉這個服務:

/sbin/service crond start # 啟動服務
/sbin/service crond stop # 關閉服務
/sbin/service crond restart # 重啟服務
/sbin/service crond reload # 重新載入配置 

查看 crontab 服務狀態:

service crond status

手動啟動 crontab 服務:

service crond start

其他命令:

# 查看 crontab 服務是否已設置為開機啟動,執行命令:ntsysv
#加入開機自動啟動:
chkconfig --level 35 crond on
#列出 crontab 文件
crontab -l
#編輯 crontab 文件
crontab -e
#刪除 crontab 文件
$ crontab -r
#恢復丟失的 crontab 文件
#假設你在自己的 $HOME 目錄下還有一個備份,那么可以將其拷貝到 /var/spool/cron/ username,其中 username  是用戶名
#或者使用如下命令其中,filename 是你在 $HOME 目錄中副本的文件名
crontab  filename 

關于如何在 centos 中使用 crontab 命令對 mongodb 進行定時備份就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向 AI 問一下細節

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-12-04發表,共計2494字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 盐边县| 义马市| 冀州市| 洮南市| 昌吉市| 东至县| 青川县| 永和县| 奇台县| 大田县| 无极县| 罗定市| 定州市| 宁都县| 曲水县| 安庆市| 无极县| 丽水市| 兴宁市| 南皮县| 安吉县| 屯昌县| 嘉鱼县| 冕宁县| 巴青县| 西贡区| 乌拉特中旗| 西藏| 英吉沙县| 朝阳区| 红桥区| 南华县| 留坝县| 绥江县| 石渠县| 绥芬河市| 东辽县| 洛浦县| 渭南市| 舒城县| 灵石县|