1. 程式人生 > >ubuntu16.04之mongodb自動備份

ubuntu16.04之mongodb自動備份

cron服務是Linux的內建服務,但它不會開機自動啟動。可以用以下命令啟動和停止服務:

service cron start

service cron stop

service cron restart

service cron reload

service cron status

如果未能正常使用以以下命令啟用服務

sudo systemctl enable cron.service; sudo systemctl start cron.service

相關使用指令引數

檢視當前使用者的crontab,輸入 crontab -l;

編輯crontab,輸入 crontab -e;

刪除crontab,輸入 crontab -r

開機自啟動

要把cron設為在開機的時候自動啟動,在 /etc/rc.local 指令碼中加入 service cron start & 即可

指令碼例示

#!/bin/bash
#backup MongoDB

#mongodump命令路徑
DUMP=mongodump
#臨時備份目錄
OUT_DIR=/mnt/backup
#備份存放路徑
TAR_DIR=/mnt/bklist
#獲取當前系統時間
DATE=`date +%Y_%m_%d`
#資料庫賬號
DB_USER=資料庫使用者名稱
#資料庫密碼
DB_PASS=資料庫密碼
#DAYS=7代表刪除7天前的備份,即只保留近7天的備份
DAYS=7
#最終儲存的資料庫備份檔案
TAR_BAK="mongodb_bak_$DATE.tar.gz"

cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
#備份全部資料庫
$DUMP -h 127.0.0.1:27017 -u $DB_USER -p $DB_PASS  --authenticationDatabase "admin" -d "dbname" -o $OUT_DIR/$DATE
#壓縮為.tar.gz格式
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
#刪除15天前的備份檔案
find $TAR_DIR/ -mtime +$DAYS -delete
rm -rf $OUT_DIR/*
exit

建立備份資料夾

mkdir -p /mnt/backup
mkdir -p /mnt/bklist