linux下定時備份mongodb資料

2021-10-09 22:38:46 字數 1058 閱讀 3375

在linux伺服器上通過用shell語言+python完成對mongo庫的定時備份

通過命令nohup python -u mongod_back.py > out.log 2>&1 & 掛在指令碼,每天0點執行mongodb資料備份。

import time

import schedule

import os

def auto_backup_mongo() :

commands = """

pwd &&

./mongod_bak.sh

"""os.system(commands)

schedule.every().day.at("23:59").do(auto_backup_mongo)

while true:

schedule.run_pending()

time.sleep(1)

#!/bin/sh

date=`date +%y_%m_%d_%h_%m_%s` #獲取當前系統時間

db_user=***x#資料庫賬號

db_pass=***x #資料庫密碼

db_name=test #資料庫名稱

ip=xx.xx.xx.xx:27017

days=365 #days=30代表刪除30天前的備份,即只保留最近30天的備份

tar_bak="mongod_bak_$date.tar.gz" #最終儲存的資料庫備份檔案名

cd $out_dir

rm -rf $out_dir/*

mkdir -p $out_dir/$date

$dump -h $ip -u $db_user -p $db_pass -d $db_name -o $out_dir/$date #備份資料庫

tar -zcvf $tar_dir/$tar_bak $out_dir/$date #壓縮為.tar.gz格式

find $tar_dir/ -mtime +$days -delete #刪除30天前的備份

exit #件

Linux環境下定時備份MySQL資料

如下 1 增加任務表 開啟 crontab檔案 vi etc crontab 新增任務,在crontab檔案裡新增 0123 root usr local mysql bin backup.sh 表示每天23點01分,以root身份執行備份資料庫的指令碼backup.sh,crontab檔案的格式為...

linux 下定時匯出備份oracle資料庫

1 oracle使用者 新建資料庫的時候建立oracl使用者 1.1 新建目錄 新建兩個匯出備份目錄,乙個存放匯出檔案,乙個存放匯出日誌 mkdir p data backup bakdata mkdir p data backup baklog 1.2 指令碼內容 backup.sh bin ba...

Linux作業系統下定時備份目錄

把乙個目錄下的所有檔案定時備份到另乙個目錄。步驟 1 vi home scripts backup.sh create by athlandly 2007 12 10 shell content rm fr opt backup test 先強行刪除test目錄 cp r home test opt...