Backup i restore bazy danych - mongodump + mongorestore
Uwaga: to narzędzia wiersza poleceń hosta, nie komendy wykonywane w powłoce mongosh. Przy strumieniowaniu binarnego archiwum przez stdout nie należy dodawać -t do docker exec — alokacja TTY uszkadza strumień gzip.
Nazwa kontenera może być także ID kontenera
db=NAZWABAZY; sudo docker exec NAZWAKONTENERA sh -c "exec mongodump --db $db --gzip --archive" > "backup_${db}_$(date +%Y-%m-%d).gz"
Baremetal — narzędzia zainstalowane na hoście:
db=NazwaBazy; mongodump --db "$db" --gzip --archive > "backup_${db}_$(date +%Y-%m-%d).gz"
Docker — narzędzia w kontenerze, redirect po stronie hosta:
db=NAZWABAZY; docker exec NAZWAKONTENERA sh -c "exec mongodump --db $db --gzip --archive" > "backup_${db}_$(date +%Y-%m-%d).gz"
Odtworzenie danych z takiego archiwum (wariant dockerowy; baremetal analogicznie bez docker exec):
docker exec -i NAZWAKONTENERA sh -c "exec mongorestore --gzip --archive" < "NazwaBackupu.gz"
Screen: log z udanego mongodump.