Skrypt do automatycznego tworzenia kopii zapasowych serwera

Ci z nas, którzy zarządzają serwerami, wiedzą, jak ważne jest posiadanie zapisów, kopii zapasowych wszystkiego ... cóż, w przypadku jakiegokolwiek problemu lub awarii kopia zapasowa będzie naszym najlepszym przyjacielem i pomoże nam przywrócić usługi 🙂

Jakiś czas temu (kilka miesięcy ... kilka miesięcy) tutaj konfiguracje nie były automatycznie archiwizowane na serwerach, w logach lub czymś w tym rodzaju. I po prostu nie mogło tak być haha, rozważałem użycie Bacula, ale Boże !! To, co chciałem, było moim zdaniem bardzo, bardzo skomplikowane, jeśli chcesz po prostu zrobić kopie zapasowe i zapisać je (lub wysłać je na inny serwer lub pocztą e-mail), nie ma potrzeby używania Baculi, z prostym skrypt wszystkie problemy są rozwiązane, dlatego zdecydowałem się stworzyć własny scenariusz i tym bardziej byłem zadowolony 😀

I właśnie ten scenariusz jest tym, którym się z wami dzielę, wyjaśniam bardzo krótko, do czego służy:

  1. Utwórz folder, w którym wszystko zostanie zapisane, a ten folder zostanie następnie skompresowany.
  2. Ten folder będzie miał nazwę roku, miesiąca i dnia dzisiejszego, na przykład dzisiaj ten folder miałby nazwę: 2012-04-26
  3. Kopia /itp/ (i całą jego zawartość) do tego folderu.
  4. Kopiuj dzienniki (/ var / log /) do wspomnianego folderu.
  5. Eksportuj bazy danych MySQL, które mamy.
  6. Skompresuj za pomocą hasła (HASŁO) w tym folderze, skompresuj go do RAR.
  7. Wygeneruj plik (dane.informacje) po wykonaniu wszystkich powyższych czynności (plik dziennika kopiowania i kompresja do .rar), oprócz podania rozmiaru (w MB) pliku .RAR, o którym przypominam, zawiera wszystko, co postanowiliśmy zapisać.
  8. Usuń folder, w którym umieściliśmy pliki, a następnie skompresowaliśmy, ponieważ jeśli mamy już ten skompresowany folder, nie ma potrzeby, aby go również zdekompresować.
  9. Wysyłaj maile do administratorów lub osób związanych z serwerem, informujące, że kopia zapasowa została wykonana poprawnie, a plik z logiem wszystkiego zostanie wysłany jako załącznik na tę wiadomość (dane.informacje.rar)

Oczywiście ten skrypt nie ma go uruchamiać i teraz haha, musisz go otworzyć i zmienić w nim swoje hasło MySQL, bo nie znam hasła root do twoich baz danych LOL !!!, a także zmienić emaile na oni chcę, aby powiadomienie zostało wysłane, ponieważ e-maile, które umieściłem, są tylko przykładami.

Jeśli chcesz skompresować go do .tar.gz i nie w .rar (jak skonfigurowany jest skrypt) tam zostawiłem skomentowaną linię, po prostu odkomentuj ją i skomentuj .rar. Podobnie, jeśli chcesz skopiować przez SSH (używając SCP) skompresowany plik na inny serwer lub hosting, zostawiłem też linię na końcu (jest skomentowana), w której musisz umieścić dane dostępowe na swoim serwerze lub hostingu (użytkownik i domena lub adres URL serwera), ale aby to zadziałało, musisz również skonfiguruj SSH bez hasła, ponieważ skrypt nie będzie mógł uzyskać dostępu do serwera, jeśli nie ma na nim dostępu.

Ach, jeśli chcesz, aby wysyłanie wiadomości e-mail działało, musisz to mieć przyrostek zainstalowane na serwerze, prawie wszystkie instalują przyrostek ale hej, wyjaśnienie jest ważne 🙂

Chociaż ... mogli modyfikować i używać pliku skrypt w Python które zostawiłem chwilę temu, ale myślę, że działałoby trochę więcej ^ - ^ U

I cóż, pozostaje tylko opuścić scenariusz:

Skrypt kopii zapasowej VPS

Pamiętaj, że musisz nadać uprawnienia do wykonywania (chmod + x vps_backup-script.sh)

Aby uruchomić go codziennie o 10 rano, umieścili to w terminalu:

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

Zakładając, że skrypt jest zapisany jako: /root/vps_backup-script.sh

No cóż, nie chcę, żeby to wydawało się zbyt skomplikowane, co nie jest haha, w rzeczywistości jest to coś niezwykle prostego, tylko tyle, że gdy widzisz to po raz pierwszy, może to być trochę przerażające

Daj znać, jeśli masz jakiekolwiek wątpliwości, pytania lub sugestie, wiesz, że lubię pomagać 😀

pozdrowienia

PD: Wyjaśniam, że nie jestem i nie uważam się za programistę haha, nawet nie jestem blisko LOL !! Wiem, że skrypt można znacznie bardziej zoptymalizować, ale hej… nie jestem programistą 🙂


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   Faustoda powiedział

    Odkładając,

    Pozdrawiam,

    Jesteś bardzo interesujący, ale jedno zastrzeżenie; Jeśli ten skrypt zostanie uruchomiony dzisiaj, zostanie nazwany 2012-04-25, dzisiaj jest dzień zegarka.

    dzięki
    Faustoda

    1.    KZKG ^ Gaara powiedział

      HAHAHA prawda hahaha, po prostu żyję w przyszłości ... LOL !!!

  2.   Linuxman powiedział

    Bardzo interesujące, w rzeczywistości pokazuje mi, jak zrobić kilka rzeczy, tworzę własne i zamierzam zabrać z twojego kodu kilka fragmentów kodu, aby dodać funkcje.

    W moim przypadku użyję rsync zamiast cp do skopiowania plików.

    Twoje zdrowie !!

    1.    KZKG ^ Gaara powiedział

      Tak, rsync to dobry pomysł, ale wolałem cp, ponieważ skopiuję pliki do pustego folderu, nie zsynchronizuję z żadnymi innymi informacjami haha, dlatego właśnie użyłem cp :)

      Jeśli chcesz poznać więcej wskazówek dotyczących basha, sprawdź tag tutaj na stronie ... dowiesz się, jak tworzyć pliki blokujące, kontrolować, którzy użytkownicy mogą wykonywać skrypt itp. 😀
      https://blog.desdelinux.net/tag/bash/

      Pozdrawiamy i dziękujemy za komentarz 🙂

  3.   Edwin powiedział

    serwer z ssh bez hasła?

    1.    KZKG ^ Gaara powiedział

      Nie bez hasła, ale pewnie akceptuj połączenia SSH z konkretnego adresu IP, odbywa się to w BARDZO bezpieczny sposób z wykorzystaniem kluczy publicznych i prywatnych, w linku, który zostawiłem szczegółowo wyjaśniam wszystko 🙂

      1.    Edwin powiedział

        Z klawiszami tak, przez chwilę bałem się xD

        1.    KZKG ^ Gaara powiedział

          LOL!!! ani że byłem samobójcą LOL !!!

          1.    Odwaga powiedział

            Nie, ale naprawdę lubisz narzekać

  4.   andresnetx powiedział

    świetny ten skrypt.
    mam nadzieję, że nadal będą publikować skrypty. pomóc tym z nas, którzy przechodzą na system Linux, zwiększyć produktywność w czasie i skrócić czas nauki.

    1.    KZKG ^ Gaara powiedział

      😀 dziękuję za komentarz.
      Wkrótce opublikuję kolejną wskazówkę dotyczącą basha 😉

      pozdrowienia

      1.    ramki kretów powiedział

        Dzięki szalone! Pewnego dnia zwrócę przysługi, jakie dają mi towarzysze tej pięknej społeczności linuxowej!

  5.   Ivan powiedział

    W jaki sposób mogę skopiować zawartość kilku plików dziennika i umieścić ją w jednym pliku ,,,, automatycznie co 5 minut biorąc pod uwagę ,,,,, że zawartość kopiowanych plików jest na bieżąco mierzona

    1.    elwuilmer powiedział

      Moja rekomendacja (sugestia) byłaby wkładem… Stwórz warunek, że co 5 minut weryfikuje plik lub pliki, albo za pomocą:

      * ostatni dostęp = godzina
      * ostatnia modyfikacja = mtime
      * ostatnia zmiana informacji = ctime

      W związku z tym, jeśli nastąpią jakiekolwiek zmiany w plikach, pogrupuj je i / lub przeczytaj (cat) i wyślij je> logsfiles.

      To jasny przykład, kwestia testowania, próbowania, weryfikacji i modyfikacji.

  6.   KZKG ^ Gaara powiedział

    Testowanie wtyczki Caché ...

  7.   Santiago powiedział

    Bardzo dobra informacja, prawda jest taka, że ​​bardzo mi pomogła, realizuję duży projekt (oczywiście jest to fikcja, bo to z badania) i ta informacja była dla mnie bardzo dobra.
    Muchas gracias!

  8.   mała brunetka powiedział

    Jak utworzyłbyś skrypt powłoki, który:?
    Poproś użytkownika o określenie nazwy katalogu, którego kopia zapasowa ma zostać utworzona
    Zapytaj o lokalizację, w której utworzysz kopię zapasową katalogu
    Uwzględnij datę kopii zapasowej

    1.    KZKG ^ Gaara powiedział

      Cześć,

      Za pomocą „odczytu” mogę poprosić użytkownika o wszystkie te dane, a następnie przypisać je do zmiennych i to wszystko.

      Jeśli masz pytania, napisz na mój e-mail: kzkggaara[at]desdelinux[kropka]netto

      pozdrowienia

      PS: Data kopii zapasowej jest już zawarta w skrypcie.

  9.   ana_gaby powiedział

    przedstaw prostszy skrypt do tworzenia kopii zapasowych folderów z Ubuntu i przenoszenia ich przez ftp na inny serwer dzięki

  10.   John powiedział

    Witam, jak zrobić kopię zapasową całego systemu operacyjnego Linux i wysłać ją na inny komputer. Byłbym wdzięczny za uwagę, bardzo dziękuję !!

  11.   Franco Valdettaro powiedział

    Czy mógłbyś wysłać mi skrypt na mój e-mail fvaldettaro@gmail.com proszę.

  12.   Xavier powiedział

    Czy mógłbyś przesłać mi skrypt na mój e-mail, dziękuję milionowi pozdrowienia.

  13.   Wuilmer Bolivar powiedział

    Dzień dobry przyjacielu, myślę, że masz problem z subdomeną „wklej”, ponieważ sprawdzałem kilka opublikowanych kodów/skryptów prowadzących do wklejania.desdelinux i wszystkie przekierowują mnie na bloga.desdelinux.

  14.   Wiewiórki w sieci powiedział

    Tak, nie można uzyskać dostępu do skryptu, ponieważ wklej. przekierowuje, czy możesz przesłać to gdzie indziej?

    1.    AlexStreaming powiedział

      Czy problem z uzyskaniem skryptu został rozwiązany?

      Dziękuję.

      1.    Luigys toro powiedział

        Zostało naprawione, teraz mają dostęp do kodów

      2.    Wiewiórki w sieci powiedział

        Teraz tak, dziękuję!

  15.   paco powiedział

    dzień dobry chciałbym móc pobrać skrypt, byłoby możliwe ponowne załadowanie, teraz nie jest dostępny

  16.   Ramiro powiedział

    Cześć,
    Bardzo dobry wkład! Czy mogę prosić o pobranie skryptu? Bardzo dziękuję 🙂