# Mongodb Yedekleme

> Kaynak: https://www.tasarimrehberi.net/mongodb-yedekleme-3/
> Yazar: Nurettin Sezer
> Yayın: 2023-09-05 · Güncelleme: 2023-09-16

`
#!/bin/bash`

 

# Mevcut tarih bilgisini al  
 CURRENT_DATE=$(date +"%d-%m-%Y")

 

# Veritabanı bilgileri  
 HOST="localhost"  
 DB_NAME="tasarimrehberi"

 

# Yedek dosyalarının kaydedileceği ana klasör  
 BACKUP_DIR="/yedek"

 

# Veritabanından collection listesini al  
 COLLECTIONS=$(mongo $HOST/$DB_NAME --quiet --eval "db.getCollectionNames().join(' ')")

 

# Her bir collection için yedekleme işlemi yap  
 for COLL in $COLLECTIONS  
 do  
 # Collection için klasör oluştur  
 COLL_DIR="$BACKUP_DIR/$COLL"  
 mkdir -p $COLL_DIR

 

# Collection'u yedekle  
 mongodump --host=$HOST --gzip --db=$DB_NAME --collection=$COLL --archive="$COLL_DIR/$CURRENT_DATE-$COLL.gz"

 

# Yedekleme başarılı ise collection'u temizle  
 if [ $? -eq 0 ]; then  
 mongo $HOST/$DB_NAME --eval "db.getCollection('$COLL').drop()"  
 fi  
 done

 

Yukarıdaki kodu bir metin düzenleyiciye yapıştırın.  
 Dosyayı mongodump_auto.sh gibi bir isimle kaydedin.  
 Terminali açın ve dosyanın bulunduğu klasöre gidin.  
 Dosyaya çalıştırma izni verin: chmod +x mongodump_auto.sh  
 Script’i çalıştırın: ./mongodump_auto.sh
