Sunucu Yedekleme Bash Scripti

sunucu yedekleme

Sunucu yedekleme işi oldukça kritik bir meseledir. İyi bir yedekleme planına sahip değilseniz, oldukça kötü sonuçlarla karşılaşabilirsiniz.

Eğer ufak ölçekli bir VPS’e sahipseniz ve bu yedekleme işi için ek ücret ödemek istemiyorsanız Google Drive’ı kullanabilirsiniz. Fakat dosya ve veritabanımızı otomatik olarak sıkıştırıp periyodik olarak Google Drive hesabımıza nasıl yükleyeceğiz?

Bu işlem için, bizim tarafımızdan yazılan ufak bir bash scripti kullanacağız. Bu scritpti kendinize göre ayarladıktan sonra bir cronjob yardımıyla dosya ve veritabanlarınızın periyodik olarak yedeklerini alabileceksiniz.

Sunucu Yedekleme Adımları

Adım-1

Sunucu yedekleme scriptimizi kullanabilmek için, sunucumuzda gdrive‘ın yüklenmiş olması gerekmektedir. gdrive’ın çalışabilmesi için ise Go çalışma ortamının sunucunuzda ayarlanmalıdır.

Go Centos Kurulumu için tıklayın.

Sunucunuza gdrive kurulumu için tıklayın. (Linkteki yazını son kısmı gdrive kurulumu hakkındadır.)

Adım-2

  • https://github.com/grgx/backup-script adresinden backup.sh dosyasını indirin ve sunucunuzda istediğiniz bir dizine atın. (Ben bu örnek için /root/ dizinini kullanacağım.)
  • Artık scriptim /root/backup.sh adresinde bulunmakta.
  • Aşağıdaki komut yardımıyla scriptimizi açalım ve kendi bilgilerimize göre düzenleyelim.
  • Düzenleyeceğimiz kısım “CHANGE BY YOURSELF” satırı ile başlıyor.
  • NAME : Alacağınız yedeklerin ön eki. (Örneğin; patlatbi-files_15.03.2017.tar)
  • FROM_BACKUP_DIR : Yedekleri alınacak dosyaların tam yolu. (Örneğin: /home/nginx/domains/siteismi.com/public) (ÖNEMLİ: Bu yolun sonunda “/” olmamalıdır.)
  • TO_BACKUP_DIR : Yedekleri alınıp sıkıştırılan dosyaların sunucu üzerinde kaydedileceği yerin tam yolu. (Örneğin: /home/nginx/domains/siteismi.com/backup) (ÖNEMLİ: Bu yolun sonunda “/” olmamalıdır.)
  • GOOGLE_DRIVE_DIR : Yedeklemeyi kaydedeceğiniz Google Drive klasörünün ID’si. Aşağıdaki görselde kırmızı çerçeve içerisindeki yer.
  • DBUSER : MySQL (MariaDb) veritabanı kullanıcı adı.
  • DBPASS : MySQL (MariaDb) veritabanı şifresi.
  • DBNAME : MySQL (MariaDb) veritabanı adı.
  • Yukarıdaki değişiklikleri yaptıktan sonra, Ctrl + o yapıp dosyayı kaydedin ve Ctrl + x  ile dosyadan çıkın.
  • Ardından dosyamıza çalıştırma izinlerini aşağıdaki komut ile verelim.

Adım-3

Bu haliyle, scripti manuel olarak çalıştırdığınızda ( /root/backup.sh  komutu ile) TO_BACKUP_DIR klasörü olarak belirttiğiniz yerde, dosya ve veritabanlarınızın sıkıştırılmış halleri oluşturulacaktır.

İşlemleri otomatize etmek adına, bir cron ekleyerek haftalık yedek alalım.

  • crontab -e komutu ile cron düzenleme sayfamızı açalım.
  • Her pazartesi sabaha karşı 01:00 (UTC) ‘de yedekleme scriptimiz çalışsın istiyorsak son satıra aşağıdaki komutu ekleyiniz.
  • Daha fazla cron ayarı için https://crontab-generator.org/ sitesini ziyaret edebilirsiniz.

Bu script sunucu üzerinde yedek barındırmamaktadır. Ayrıca Google Drive üzerinde de sadece 1 yedek bulunmaktadır.

Yedekelemeyi ilk defa çalıştırdığınızda, Google Drive klasörünüz boş olmalıdır. Aksi takdirde uyarı alırsınız ve yedekleme işlemi tamamlanamaz.

 

Görkem Güray

Author: Görkem Güray

Elektrik-Elektronik mühendisiyim. Bilgisayar ve yazılım başta olmak üzere gelişen teknolojiyi takip etmeyi severim. İlginç veya yazmaya değer bulduğum konuları patlatbi.net üzerinde yayınlıyorum.

Kimler Neler Demiş?

avatar
  Subscribe  
Bildir