Sunucunuzun otomatik yedeklemeleri için komut dosyası

Sunucuları yöneten bizler, her şeyin yedeğini almanın ne kadar önemli olduğunu biliriz... yani bir sorun veya arıza durumunda, yedekleme en iyi dostumuz olacak ve hizmetleri geri yüklememize yardımcı olacaktır 🙂

Bir süre önce (birkaç ay... epeyce ay), sunucu yapılandırmalarının, günlüklerin veya buna benzer herhangi bir şeyin otomatik olarak yedeklenmesi yoktu. Ve bu böyle olamaz haha, kullanmayı düşündüm Bacula, ama Tanrım!! Benim fikrime göre bu çok ama çok karmaşıktı, eğer sadece yedekleme yapmak ve bunları kaydetmek (ya da bunları başka bir sunucuya ya da e-postayla göndermek) istiyorsanız Bacula'yı kullanmaya gerek yok. basit senaryo tüm sorunları çözer, bu yüzden kendi senaryomu yapmaya karar verdim ve bu şekilde daha memnun kaldım 😀

Ve tam olarak bu script sizlerle paylaştığım scripttir, ne işe yaradığını kısaca açıklıyorum:

  1. Her şeyin kaydedileceği bir klasör oluşturun ve bu klasör daha sonra sıkıştırılacak olan klasördür.
  2. Bu klasör, içinde bulunulan yıl, ay ve güne göre adlandırılacaktır, örneğin bugün bu klasör şu şekilde adlandırılacaktır: 2012-04-26
  3. copia /vb/ (ve tüm içeriği) bu klasöre.
  4. Günlükleri kopyala (/ var / log /) yukarıda belirtilen klasöre.
  5. Sahip olduğumuz MySQL veritabanlarını dışa aktarın.
  6. Bir şifreyle sıkıştırın (ŞİFRE) bu klasörü sıkıştırır .RAR.
  7. Bir dosya oluştur (veri.bilgi) daha önce yapılanların tüm günlüğüyle (.rar'a dosya kopyalama ve sıkıştırma), boyutu bu dosyaya koymanın yanı sıra (MB cinsindenSize hatırlattığım .RAR arşivinin ) kaydetmeye karar verdiğimiz her şeyi içeriyor.
  8. Dosyaları koyduğumuz ve daha sonra sıkıştırdığımız klasörü silin, çünkü bu klasörü zaten sıkıştırmışsak, onu da sıkıştırılmamış hale getirmemize gerek yoktur.
  9. Yöneticilere veya sunucuyla ilgili kişilere, yedeklemenin doğru şekilde yapıldığını bildiren e-postalar gönderin ve her şeyin günlüğünü içeren dosya, bu e-postaya ek olarak gönderilecektir (data.info.rar)

Açıkçası, bu komut dosyası çalıştırılmayacak ve hepsi bu haha, onu açmalı ve içindeki MySQL şifrenizi değiştirmelisiniz, çünkü veritabanlarınızın kök şifresini bilmiyorum LOL!!!, ayrıca e-postaları da şu şekilde değiştirin: Gönderdiğim e-postalar sadece örnek olduğundan bildirim gönderilmesini istiyorlar.

Eğer onu sıkıştırmak istiyorsanız .tar.gz ve içinde değil . Nadiren (Komut dosyası nasıl yapılandırılır?) orada yorum yapılan satırı bıraktım, sadece yorumu kaldırın ve yorum yapın . Nadiren. Aynı şekilde, sıkıştırılmış dosyayı SSH aracılığıyla (SCP kullanarak) başka bir sunucuya veya barındırmaya kopyalamak istiyorsanız, satırı da en sona bıraktım (yorumlanmıştır), sunucunuza veya barındırmanıza erişim verilerini girmeniz gerekir ( kullanıcı ve etki alanı veya sunucu URL'si), ancak bunun çalışması için aynı zamanda SSH'yi şifre olmadan yapılandırmaçünkü komut dosyası, erişime izin verilmediği takdirde sunucuya erişemeyecektir.

E-posta göndermenin işe yaramasını istiyorsanız, postfix sunucuya yüklü, neredeyse herkes yüklüyor postfix ama hey, açıklama geçerli :)

Yine de... değiştirebilir ve kullanabilirler komut dosyası Python bir süre önce ayrıldığım, ama sanırım biraz daha iş olur ^ - ^ U

Ve geriye kalan tek şey senaryoyu size bırakmak:

VPS Yedekleme Komut Dosyası

Yürütme izinlerini vermeniz gerektiğini unutmayın (chmod +x vps_backup-script.sh)

Her gün sabah 10'da çalışmasını sağlamak için şunu bir terminale koyun:

echo "* 10    * * *   root    cd /root && ./vps_backup-script.sh" >> /etc/crontab && /etc/init.d/cron restart

Komut dosyasının şu şekilde kaydedildiğini varsayarsak: /root/vps_backup-script.sh

Neyse, bunu çok karmaşık göstermek istemiyorum ki öyle değil haha, aslında bu son derece basit bir şey, sadece ilk kez gördüğünüzde biraz korkutucu olabiliyor 🙂

Herhangi bir sorunuz, sorunuz veya öneriniz varsa bana bildirin, yardım etmeyi sevdiğimi biliyorsunuz 😀

selamlar

PD: Ben bir programcı olmadığımı ve kendimi bir programcı olarak görmediğimi açıklığa kavuşturuyorum haha, LOL'a yakın bile değilim!! Senaryonun çok daha fazla optimize edilebileceğini biliyorum ama hey... Ben programcı değilim :)


29 yorum, sizinkini bırakın

Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: Miguel Ángel Gatón
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.

  1.   faustod dijo

    Bir kenara koymak,

    Saygılarımızla,

    Nasılsın, çok ilginç ama bir uyarı; Eğer bu senaryo bugün çalıştırılırsa 2012-04-25 olarak adlandırılacak, bugün nöbet günü.

    teşekkürler
    faustod

    1.    KZKG ^ Gaara dijo

      HAHAHA doğru hahaha, bir nevi gelecekte yaşıyorum… LOL!!!

  2.   Linuxçu dijo

    Çok ilginç, aslında bana birkaç şeyin nasıl yapılacağını gösteriyor, kendiminkini geliştiriyorum ve işlevsellik eklemek için sizinkinden bazı kod parçaları alacağım.

    Benim durumumda dosyaları kopyalamak için cp yerine rsync kullanacağım.

    Şerefe !!

    1.    KZKG ^ Gaara dijo

      Evet, rsync kullanmak iyi bir fikir ama cp kullanmayı tercih ettim çünkü dosyaları boş bir klasöre kopyalayacağım, başka herhangi bir bilgiyle senkronize etmeyeceğim haha, bu yüzden sadece cp kullandım 😀

      Bash için daha fazla ipucu öğrenmek istiyorsanız sitedeki etikete bakın... kilit dosyalarının nasıl oluşturulacağını, komut dosyasını hangi kullanıcıların çalıştırabileceğini nasıl kontrol edeceğinizi vb. bulacaksınız 😀
      https://blog.desdelinux.net/tag/bash/

      Selamlar ve yorum yaptığınız için teşekkürler 🙂

  3.   Edwin dijo

    şifresiz ssh'li bir sunucu?

    1.    KZKG ^ Gaara dijo

      Şifre olmadan değil, belirli bir IP'den SSH bağlantılarını güvenle kabul edin, bu genel ve özel anahtarların kullanımıyla ÇOK güvenli bir şekilde yapılıyor, bıraktığım bağlantıda her şeyi detaylı olarak anlatıyorum :)

      1.    Edwin dijo

        Anahtarlarla evet, bir anlığına korktum xD

        1.    KZKG ^ Gaara dijo

          YÜKSEK SESLE GÜLMEK!!! İntihara meyilli olduğumu bile düşünmedim LOL!!!

          1.    cesaret dijo

            Hayır ama iş bazı şeylere gelince şikayet etmeyi gerçekten seviyorsun.

  4.   andresnetx dijo

    bu senaryo harika.
    Umarım senaryoları yayınlamaya devam ederler. Linux'a geçiş yapanlarımızın zaman açısından daha üretken olmalarına ve öğrenme süresini kısaltmalarına yardımcı oluyorlar.

    1.    KZKG ^ Gaara dijo

      😀 Yorumunuz için teşekkür ederiz.
      Yakında bash hakkında başka bir ipucu yayınlayacağım 😉

      selamlar

      1.    köstebek çerçeveleri dijo

        teşekkür ederim delilik! Bir gün bu güzel Linux topluluğundaki yoldaşların bana yaptığı iyiliklerin karşılığını vereceğim!

  5.   ivan dijo

    Kopyalanacak dosyaların içeriğinin sürekli olarak ölçüldüğünü hesaba katarak, birden fazla günlük dosyasının içeriğini kopyalayıp, her 5 dakikada bir otomatik olarak tek bir dosyaya nasıl yerleştirebilirim?

    1.    Elwuilmer dijo

      Benim tavsiyem (öneri), katkım şu olacaktır... Her 5 dakikada bir dosyayı veya dosyaları aşağıdakilerden birini kullanarak doğrulayacağı bir koşul oluşturun:

      * son erişim = bir zaman
      * son değiştirilme = mtime
      * son bilgi değişikliği = ctime

      Buna göre dosyalarda herhangi bir değişiklik varsa bunları gruplandırın ve/veya okuyun (cat) ve > logsfiles olarak gönderin.

      Bu açık bir örnek; test etme, deneme, doğrulama ve değiştirme meselesi.

  6.   KZKG ^ Gaara dijo

    Önbellek Eklentisi Test Ediliyor…

  7.   Santiago dijo

    Çok güzel bir bilgi, gerçek şu ki bana çok faydalı oldu, büyük bir proje yapıyorum (belli ki kurgu, çünkü stüdyodan geliyor) ve bu bilgiler çok işime yaradı.
    Muchas gracias !!

  8.   küçük esmer dijo

    Aşağıdaki özelliklere sahip bir kabuk betiğini nasıl yaparsınız:?
    Kullanıcıdan yedeklenecek dizinin adını belirtmesini isteyin
    Dizini yedekleyeceğiniz konumu sorun.
    Yedekleme tarihini dahil et

    1.    KZKG ^ Gaara dijo

      Merhaba,

      "Read" ile kullanıcıdan tüm bu verileri isteyebilirim, sonra bunları değişkenlere atayacağım ve bu kadar.

      Escríbeme a mi email si tienes dudas: kzkggaara[at]desdelinux[nokta]net

      selamlar

      Not: Yedekleme tarihi zaten komut dosyasına dahil edilmiştir.

  9.   ana_gaby dijo

    Ubuntu'dan klasörleri yedeklemek ve bunları ftp ile başka bir sunucuya aktarmak için daha basit bir komut dosyası sunun, teşekkürler

  10.   John dijo

    Merhaba, tüm Linux işletim sisteminin yedeğini nasıl alıp başka bir PC'ye gönderebilirim? İlginiz için teşekkür ederim, çok teşekkür ederim!!

  11.   Franco Valdettaro dijo

    Senaryoyu e-posta adresime gönderebilir misin? fvaldettaro@gmail.com lütfen.

  12.   xavier dijo

    Lütfen senaryoyu e-posta adresime gönderebilir misiniz, milyonlarca teşekkür ederim, selamlar.

  13.   WuilmerBolivar dijo

    Buen día amigo, creo que tienen problema con el subdominio «paste» pues estuve chequeando algunos codigos/scripts publicados que llevan a paste.desdelinux y todos me redirecionan a blog.desdelinux.

  14.   ağdaki sincaplar dijo

    Evet, script yapıştırıldığı için erişilemiyor. Sizi yönlendiriyor, başka bir yere yükleyebilir misiniz?

    1.    Alex Yayını dijo

      Senaryoyu alma sorunu çözüldü mü?

      Teşekkür ederim.

      1.    Luigys toro dijo

        Sorun çözüldü, artık kodlara ulaşabilirsiniz.

      2.    ağdaki sincaplar dijo

        Şimdi evet, teşekkür ederim!

  15.   paco dijo

    iyi günler, betiği indirebilmek istiyorum, tekrar yüklemek mümkün müdür, şu anda kullanılamıyor

  16.   Ramiro dijo

    Merhaba,
    Çok iyi katkı! Sizden indirmeniz gereken scripti isteyebilir miyim? Çok teşekkür ederim 🙂