Amazon S3 ile MongoDB İçin Veritabanı Yedekleme Komut Dosyaları
Bu makale size yalnızca veri tabanı yedeklemeleri oluşturmanıza değil, aynı zamanda yedekleme dökümlerini Amazon S3’e yüklemenize ve süreci günlük olarak otomatikleştirmenize olanak tanıyan veri tabanı yedekleme komut dosyaları sağlayacaktır.
İçindekiler
-> Neden veri tabanı yedeklemesine ihtiyacımız var?
-> Neden yedekleme için Amazon S3?
-> Cron nedir?
-> Chmod nedir?
-> MongoDB için Veri tabanı Yedekleme Komut Dosyası ve Amazon S3’e Damping
-> Veri tabanı dökümleri için Amazon S3’te klasör oluşturma
– > AWS CLI nasıl yapılandırılır
-> AWS anahtarı nasıl ayarlanır ve Sırrı
-> Cron nasıl kurulur (süreci otomatikleştirmek için)
-> Sonuç
Neden bir veri tabanı yedeklemesine ihtiyacımız var?
Veri tabanı için neden yedeklemenin gerekli olduğu düşünülebilir? Cevap basit, Amazon S3 gibi herhangi bir güvenli yerde saklayabileceğiniz yedekleme fiziksel ve mantıksal verilerinizin bir kopyasını oluşturur. Bu kopya, çalışan veri tabanı bozulursa kullanıma girer. Veri tabanı yedeklemesi, kontrol dosyaları, veri dosyaları ve arşivlenmiş yineleme günlükleri gibi dosyaları içerebilir.
Neden yedekleme için Amazon S3?
Bu eğitim için, çok yaygın bir seçim olduğu için Amazon S3’ü seçtik. Başka bir bulut depolama sağlayıcısı kullanmak isterseniz aynı şeyi yapabilirsiniz. Bulut sağlayıcısı S3 uyumlu olduğu sürece talimatlar çok fazla farklılık göstermeyecektir.
Cron nedir?
Cron, zamana dayalı iş planlaması sunan bir yazılım yardımcı programıdır. Unix bilgisayar işletim sistemlerini destekler. Yazılım ortamlarını kurmak için geliştirici Cron kullanır. Komutları veya kabuk komut dosyalarını belirli zamanlarda çalışacak şekilde planlar. Günlük, haftada bir veya istenildiği gibi herhangi bir aralık olabilir.
Chmod nedir?
Chmod kısa bir ‘mod değiştirme’ komutu, yöneticinin dosya işleme kuralları belirlemesini sağlar. Başka bir deyişle, bir “chmod” sistem çağrısı yardımıyla. Bir yönetici, dosya sistemi nesnelerinin erişim izinlerini değiştirebilir.
MongoDB için Veritabanı Yedekleme Komut Dosyası ve Amazon S3’e Aktarma
Birkaç dakika içinde yedekleme oluşturmayı ve Amazon S3’te depolamayı otomatikleştirebilirsiniz. Madde işaretlerinin altında, makalenin bu bölümünde öğreneceğiniz şeyler hakkında özet bilgi:
MongoDB yedekleme dizini oluşturmayı otomatikleştiren bir komut dosyası oluşturun
Yedekleri Amazon S3
Cron ile yükleyin / senkronize edin, bu komutu her gün çalıştırır (yedeklemek için)
MongoDB veritabanını dökecek bir kabuk betiği oluşturun
cd ~
mkdir scripts
cd scripts
nano db_backup.sh
#!/bin/bash
DIR=date +%d-%m-%y
DEST=~/db_backups/$DIR
mkdir $DEST
mongodump -h localhost:27017 -d my_db_name -o $DEST
chmod +x ~/scripts/db_backup.sh
Yedeklemeleri Amazon S3 ile senkronize eden bir kabuk komut dosyası oluşturun
nano db_sync.sh
Aşağıdaki komut dosyasını kopyalayıp yapıştırın
#!/bin/bash
/usr/local/bin/aws s3 sync ~/db_backups s3://my-bucket-name
Şimdi, yürütülmesine izin vermek için betiği chmodlayın
chmod +x ~/scripts/db_sync.sh
Veritabanı dökümleri için Amazon S3’te klasör oluşturma
cd ~
mkdir db_backups
AWS CLI nasıl yapılandırılır
AWS CLI’yi kurmadan önce, python-pi’yi kurmanız gerekir. Aşağıdaki komutları yazın:
apt-get update
apt-get -y install python-pip
curl “https://bootstrap.pypa.io/get-pip.py” -o “get-pip.py”
AWS CLI’yi yükleyin
Aşağıdaki komutu yazın:
pip install awscli
AWS anahtarı, gizli yapılandırması ve kimlik bilgisi dosyası ayarları nasıl kurulur?
cd ~
mkdir .aws
nano ~/.aws/config
Key_id ve secret_access_key’e aşağıda gösterildiği gibi yapıştırın
[default]
aws_access_key_id=AKIAIOSFODNN7EXAMPLE
aws_secret_access_key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
Cron nasıl kurulur (süreci otomatikleştirmek için)
crontab -e
İşlemi otomatikleştirmek için aşağıdaki komutları en alta yapıştırın
0 0 * * * ~/scripts/db_backup.sh # take a backup every midnight
0 2 * * * ~/scripts/db_sync.sh # upload the backup at 2am
Bu şekilde, yedekleme komut dosyası her gün çalışır ve Amazon S3 ile eşitlenir.
Sonuç
Bu komut dosyalarını kullanarak şu hedeflere ulaşabilirsiniz:
Dökümü Amazon S3’e yükleyen bir kabuk komut dosyası aracılığıyla veri tabanı yedeklemesi oluşturmak, bu işlemi Cron kullanarak otomatik hale getirmek.