Voglio backup giornalieri per un singolo database mongodb, probabilmente con mongodump. Per non perdere dati, mi piacerebbe che fosse incrementale, quindi se qualcosa va storto nel bel mezzo della giornata, devo essere in grado di riprodurre i cambiamenti per quel giorno fino al punto di errore dopo aver fatto un mongorestore.Vuoi fare un backup incrementale per mongodb. Nel diario? Oplog?
Sto comprendendo correttamente che ho bisogno di utilizzare un oplog per questo? O sta registrando la risposta? Ho provato a fare quanto segue:
- Trasformare il mio database mongo in un set di repliche di uno solo, in modo da creare un oplog. (Questo si sente abbastanza hacky)
- Riavvio mongod con l'opzione --oplog
- Performing modifiche che dovrebbero essere registrati nel oplog
Tuttavia nulla mai viene memorizzato nel oplog. Qual è il modo migliore per eseguire tali backup incrementali? Sto fondamentalmente cercando un approccio simile alla riproduzione del myslog binlog.
Grazie
Grazie per i chiarimenti, ho esaminato questo più ieri e capisco cosa deve accadere. Quello che voglio fare è fare un daily mongodump, salvarlo su S3 e ogni ora salvare anche il mio oplog su S3. Ho due domande successive se vuoi essere così gentile: 1. Il mio oplog è memorizzato nel database locale e sono ora in grado di accedervi dalla shell mongo. Per eseguire il backup dell'oplog, posso semplicemente copiare tutti i file locali (1-N) e local.ns in s3? 2. Qual è il modo migliore per riprodurre gli oplogs? Mongorestore --oplogReplay abbastanza per questo? Grazie mille! –
mongodump --oplog garantisce che tutte le voci di oplog create durante il dump possano essere riprodotte con mongorestore --oplogReplay. Non è possibile utilizzare mongorestore --oplogReplay per riprodurre le operazioni di oplog che si sono verificate dopo il completamento del dump. Una soluzione che potresti indagare è di scaricare la raccolta di oplog ogni ora e utilizzare il comando applyOps: http://docs.mongodb.org/manual/reference/commands/#applyOps – Jenna
Questo potrebbe essere un hacky .. ma penso che usando mongorestore --oplogReplay ha funzionato davvero. Quello che ho fatto è stato mongodumped l'oplog, spostato il risultato 'oplog.rs.bson 'a' dump/oplog.bson 'e ha eseguito mongorestore --oplogReplay. È pericoloso? Se lo farò, andrò sicuramente con la tecnica applyOps. –