1. 程式人生 > >Mongodb定時備份指令碼和清除指令碼

Mongodb定時備份指令碼和清除指令碼

Mongodb用的是可以熱備份的mongodump和對應恢復的mongorestore,在linux下面使用shell指令碼寫的定時備份,程式碼如下

1.定時備份

#!/bin/bash
sourcepath='/usr'/bin   #mongodump命令所在路徑
targetpath='/var/lib/mongo/mongobak'   #備份存放位置
nowtime=$(date +%Y%m%d)
 
start()
{
  ${sourcepath}/mongodump -u username -p password -d dbname --host 127.0.0.1 --port 27017 --out ${targetpath}/${nowtime}
}
execute()
{
  start
  if [ $? -eq 0 ]
  then
    echo "back successfully!"
  else
    echo "back failure!"
  fi
}
 
if [ ! -d "${targetpath}/${nowtime}/" ]
then
 mkdir ${targetpath}/${nowtime}
fi
execute
echo "============== back end ${nowtime} =============="
2.定時清除,保留7天的紀錄
#!/bin/bash
targetpath='/var/lib/mongo/mongobak'
nowtime=$(date -d '-7 days' "+%Y%m%d")
if [ -d "${targetpath}/${nowtime}/" ]
then
  rm -rf "${targetpath}/${nowtime}/"
  echo "=======${targetpath}/${nowtime}/===刪除完畢=="
fi
echo "===$nowtime ==="
3.伺服器的時間要同步,同步的方法

微軟公司授時主機(美國)     time.windows.com
臺警大授時中心(臺灣)        asia.pool.ntp.org
中科院授時中心(西安)        210.72.145.44
網通授時中心(北京)           219.158.14.130
呼叫同步:  ntpdate asia.pool.ntp.org

4.設定上面指令碼許可權和定時任務

許可權:chmod +x filename
定時任務:crontab -e

10 04 * * * /shell/mongobak.sh 1>/var/log/crontab_mongo_back.log &
10 02 * * * /shell/mongobakdelete.sh 1>/var/log/crontab_mongo_delete.log &
每天凌晨4點10開始進行備份, 2點10分刪除舊的備份

參考文章:

http://www.cnblogs.com/tangnie/p/3148782.html

http://blog.csdn.net/moqiang02/article/details/37762101

相關推薦

Mongodb定時備份指令碼清除指令碼

Mongodb用的是可以熱備份的mongodump和對應恢復的mongorestore,在linux下面使用shell指令碼寫的定時備份,程式碼如下 1.定時備份 #!/bin/bash sourcepath='/usr'/bin #mongodump命令所在路徑 targetpath='/var/l

定時備份程式碼資料庫指令碼

# backup mysqlbackupdir=/opt/backuptime=` date +%Y_%m_%d_%H_%M_%S `db_host=192.168.1.2db_user=rootdb_pass=rootmysqldump --all-databases -h $db_host -u $db_

shell連線mongodb 定時備份shell指令碼

#定時 備份 mongodb表 名稱特點 xxxx_1103_20180503 #!/bin/bash #備份xxxx xxx_1101_20180509 re=$(/root/tools_package/mongodb/bin/mongo xx.xx.xx.xx:xxxx/xxxx -u xxxx -p x

Windows中新增Mongodb定時備份任務(採用bat指令碼匯入xml計劃任務的方式)

最近公司部分客戶的服務出現了本地mongodb資料丟失被盜的現象,前期經排查發現為遠端木馬病毒攻擊導致(勒索病毒)。由於部分客戶的網路狀況不是很良好,服務直接暴露在公網。因此要將客戶伺服器產生的資料進行定期的本地備份。由於之前接觸的mongodb都是停留在增刪改查中,沒有深入

mysql定時備份資料庫刪除N天前資料庫備份

前提,這裡使用 Ubuntu 16.04.4。 mysql定時備份數資料庫: 1.建立備份資料夾和指令碼檔案: mkdir -p /home/mysql_backup/ touch /home/mysql_backup/mysql_backup.sh 2.編輯指令碼檔案(m

SeleniumIDE錄製指令碼匯出指令碼

一、檢視Firefox的版本,安裝對應的SeleniumIDE      從中看到firefox的版本號,它的版本號就是  42.0 安裝SeleniumIDE: 二、使用SeleniumIDE錄製指令碼 1、安裝seleniumI

unity3d 中JavaScript指令碼C#指令碼的相互呼叫

本人親測unityd5.56版本,開啟Unity在Project檢視下新建資料夾Standard Assets。新建JavaScript指令碼:testJs,C#指令碼testCs. testJs程式碼如下: function OnGUI()     {       

centos上的mongodb定時備份

無論是用什麼語言開發出來的產品或專案,程式猿都有義務保證伺服器的資料不丟失或者不被黑客攻擊,因此掌握一些簡單的運維知識就比較重要了,這次就分享下我的mongodb備份 一  使用mongoldb的注意事項 1 伺服器上的mongodb必須使用安全模式啟動,本地開發除錯用則

MongoDB 資料備份 mongodump 資料恢復mongorestore

1、mongodump概述 MongoDB的所有資料都在/data/db/目錄下,備份資料庫就是建立資料目錄下所有檔案的副本。mongodump可以做資料庫級別和表級別的備份。 2、mongodump示例 此時會在當前資料夾下生產一個名為“dump”的資料夾。 如果直接使

建立mongodb備份還原使用者並新增定時備份mongodb指令碼

1.建立備份和還原所需要的使用者 > use admin > db.createUser( { user: "backup", pwd: "backup_your_password", roles: [ { role: "re

定時備份指令碼分享(網站資料資料庫資料)

1)網站資料備份 將網站資料/var/www/vhost/www.hqsb.com和/var/www/vhost/www.huanqiu.com分別備份到: /Data/code-backup/www.hqsb.com和/Data/code-backup/www.huanqiu.com下。 &nbs

mongodb資料庫備份利用shell指令碼編寫

1、指令備份 MongoDB提供了備份工具,mongodump.exe,在bin目錄下,其用法如下: mongodump.exe-hlocalhost-ddatabase_name -u use

crontab新增系統定時任務--資料庫定時備份指令碼&傳輸檔案到阿里雲伺服器定時指令碼

前言         由於公司網站被黑客攻擊,導致部分資料丟失,需要使用0.6個比特幣贖回,因為建立資料安全對策,提高網站和資料安全級別,同時進行資料定時備份,並將資料傳輸阿里雲伺服器存放,特此記錄。 1,A,B伺服器之間建立信任 https:

自動定時備份刪除指令碼

任務:定時備份資料庫所有資料。           定時刪除7天以前的資料 指令碼如下: #!bin/bash dat=`date +%Y%m%d`     mysqldump -uroot -p10qu

Windows下MySQL定時備份指令碼

一、寫定備份指令碼,儲存為.bat檔案 @echo off set hour=%time:~0,2% if "%time:~0,1%"==" " set hour=0%time:~1,1% set now=%Date:~0,4%%Date:~5,2%%Date:~8,2%%hour%%Time:~3,2%%

使用私有git倉庫備份伺服器指令碼配置檔案

1. 建立私有git倉庫 伺服器端配置: # 安裝 git yum -y install git # 建立 git 使用者 useradd git # 建立私有倉庫資料儲存目錄 mkdir /git_back/

Mysql定時備份資料指令碼

專案叢集搭建完成,資料庫雖有做主從同步,但考慮到資料安全性,為了滿足這個需求那麼要每天對資料備份處理, 但每天手動進行備份處理太過於被動,而且白天使用者訪問,會有資料變化以及在備份時會影響伺服器正常執行的效能, 所以考慮寫一個指令碼,並制定一個定時任務進行執行指令碼備份資料; #!/bi

Xtrabackup定時備份mysql資料庫指令碼

定時備份MySQL資料庫 指令碼內容: #!/bin/bash ## 備份計劃任務 ## ## 每天凌晨1:30一次全量備份 ## 每天間隔1小時一次增量備份 ## 30 1 * * * backup.sh full ## 00 * * * * backup.

用shell指令碼實現定時備份資料庫

1、備份資料庫的方法 可以使用命令檢視 ls  /usr/local/mysql/bin 這個mysqldump就是系統內建的用來備份資料庫的工具。 2、實現方法 ①先隨便進入一個位置建立一個目錄 ②建立一個希爾指令碼 ③往shell指令碼中寫入備份資料庫的語句 &nb

mongodb資料備份shell指令碼

#!/bin/bash #by fuqiang #2018-09-06 mongoexport --host 122.xx.xx.13 --port 29019 --db wenshu --collection resultContent --username wenshu