Bugün sizlere yazdığım bir shell script’i tanıtmak istiyorum. Adı BackMeUp.

Bu Script’i tamamen ihtiyaçtan kodladım. Yeni kurduğum sunucu için tüm virtualhost (FTP) ve veritabanlarını (MySQL) otomatik bir yedekleme aracına ihtiyacım vardı.

Bu araç ne yapıyor? Link to heading

Bu araç, ayarlandıktan sonra otomatik olarak tüm veritabanlarının yedeğini alıyor, ayrıca sunucudaki tüm vhost’ları da alıp bir arşiv haline getirip Dropbox’ta, Owncloud / NextCloud’da veya Amazon S3’te belirli bir klasöre atıyor.

Nasıl? Link to heading

Script önce Mysql Client’a bağlanıyor, ardından tüm veritabanı isimlerini alıyor. Bu isimleri aldıktan sonra her bir veritabanı adı için ayrı ayrı MySQL dump dökümü alıyor.

Bunların ardından tanımladığınız klasör (web rootunuz, tüm virtual hostlarınızın asıl klasörü) altındaki her şeyi bu sql yedekleri ile birlikte .tar.gz biçiminde sıkıştırıyor.

En son olarak da aws-cli ile, Owncloud / Nextcloud için curl ile veya Dropbox-Uploader scriptini kullanarak sistem sıkıştırılan dosyayı uzak sunucunuza yükleyip arkasını temizliyor.

Nereden inidirip kurabilirim? Link to heading

Scripti burada paylaştım. Tüm kurulum ve güvenlik açıklamalarını not düştüm.

Scripti kurduktan, izinleri ve yolları ayarladıktan sonra crontab’ınıza ekleyerek mesela her gece 4’de tüm sitenizin yedeğinin otomatik olarak alınmasını sağlayabilirsiniz.

Bir sorunuz olursa buradan sorabilirsiniz. Ayrıca geliştirmek için GitHub’dan Pull requestlere açığım.