Skript för automatisk säkerhetskopiering av din server

De av oss som hanterar servrar vet hur viktigt det är att ha sparar, säkerhetskopior av allt ... ja, i händelse av problem eller fel kommer säkerhetskopian att vara vår bästa vän och hjälper oss att återställa tjänster 🙂

För en tid sedan (flera månader ... en hel del månader) här säkerhetskopierades inte konfigurationer automatiskt på servrar, loggar eller något liknande. Och det kunde bara inte vara så haha, jag tänkte använda bacula, men Gud !! För vad jag ville var det här också, väldigt, mycket komplicerat enligt min mening, om det du bara vill göra säkerhetskopior och spara dessa (eller skicka dem till en annan server eller via e-post) finns det inget behov av att använda Bacula, med en enkel manus alla problem är lösta, därför bestämde jag mig för att göra mitt eget manus och på det sättet var jag mer nöjd 😀

Och just detta manus är det jag delar med dig, jag förklarar mycket kort vad det gör:

  1. Skapa en mapp där allt kommer att sparas, och den här mappen är den som sedan komprimeras.
  2. Den här mappen kommer att ha namnet på året, månaden och idag, till exempel idag skulle den mappen kallas: 2012-04-26
  3. Copia /etc/ (och allt dess innehåll) till den mappen.
  4. Kopiera loggar (/ var / log /) till den ovannämnda mappen.
  5. Exportera de MySQL-databaser som vi har.
  6. Komprimera med ett lösenord (LÖSENORD) den mappen, komprimera den till RAR.
  7. Skapa en fil (data.info) med all logg av ovanstående gjort (filkopieringslogg och komprimering till .rar), förutom att sätta storleken (i MB) av .RAR-filen, som jag påminner er om, innehåller allt vi bestämde oss för att spara.
  8. Ta bort mappen där vi placerade filerna och komprimerade sedan, för om vi redan har den komprimerade mappen behöver du inte ha den okomprimerade.
  9. Skicka e-post till administratörer eller personer relaterade till servern, informera om att säkerhetskopieringen gjordes korrekt, och filen med loggen för allt kommer att skickas bifogad till det e-postmeddelandet (data.info.rar)

Uppenbarligen ska detta skript inte köras och nu haha, du måste öppna det och ändra ditt MySQL-lösenord i det, för jag vet inte rotlösenordet för dina databaser LOL !!!, samt ändra e-postmeddelandena till De vill att meddelandet ska skickas, eftersom e-postmeddelandena jag lägger in är bara exempel.

Om du vill komprimera det till .tar.gz och inte i . Rar (hur manuset är konfigurerat) där lämnade jag den kommenterade raden, det är bara att kommentera den och kommentera . Rar. På samma sätt, om du vill kopiera den komprimerade filen med SSH (med SCP) till en annan server eller värd, lämnade jag också raden i slutet (den kommenteras), i den måste du lägga åtkomstdata till din server eller värd (användare och domän eller server-URL), men för att detta ska fungera måste du också konfigurera SSH utan lösenordeftersom skriptet inte kommer att kunna komma åt servern om det inte har åtkomst tillåtet på den.

Ah, om du vill att e-postmeddelandet ska fungera måste du ha det postfix installerad på servern, nästan alla installeras postfix men hej, förtydligandet är giltigt 🙂

Även om ... de kunde ändra och använda en skript i Python att jag lämnade för ett tag sedan, men jag tror att det skulle fungera lite mer ^ - ^ U

Tja, det återstår bara att lämna manuset:

VPS Backup-skript

Kom ihåg att du måste ge det exekveringsbehörigheter (chmod + x vps_backup-script.sh)

För att få det att springa varje dag klockan 10 sätter de detta i en terminal:

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

Förutsatt att skriptet sparas som: /root/vps_backup-script.sh

Tja nog, jag vill inte göra det här för komplicerat, vilket det inte är haha, det här är faktiskt något extremt enkelt, bara att när du ser det för första gången kan det vara lite läskigt

Låt mig veta alla tvivel, frågor eller förslag, du vet att jag gillar att hjälpa 😀

hälsningar

PD: Jag förtydligar att jag inte är eller anser mig själv vara programmerare haha, inte ens nära LOL !! Jag vet att manuset kan optimeras mycket mer, men hej ... Jag är inte programmerare 🙂


Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.

  1.   faustod sade

    Lägga undan,

    hälsningar,

    Hur är du väldigt intressant, men en försiktighet; om det manuset körs idag kommer det att kallas 2012-04-25, idag är det klockans dag.

    tack
    faustod

    1.    KZKG ^ Gaara sade

      HAHAHA sant hahaha, är att jag gillar att jag lever i framtiden ... LOL !!!

  2.   linuxman sade

    Mycket intressant, faktiskt visar det mig hur man gör olika saker, jag utvecklar min egen och jag kommer att ta några kodbitar från din för att lägga till funktioner.

    I mitt fall kommer jag att använda rsync istället för cp för att kopiera filerna.

    Skål !!

    1.    KZKG ^ Gaara sade

      Ja, att använda rsync är en bra idé men jag föredrog att använda cp eftersom jag kommer att kopiera filer till en tom mapp, jag kommer inte att synkronisera med någon annan information haha ​​det är därför jag bara använde cp :)

      Om du vill veta fler tips för bash, kolla taggen här på sajten ... du hittar hur du gör låsfiler, kontrollerar vilka användare som kan köra skriptet osv 😀
      https://blog.desdelinux.net/tag/bash/

      Hälsningar och tack för kommentaren 🙂

  3.   Edwin sade

    en server med ssh utan lösenord?

    1.    KZKG ^ Gaara sade

      Inte utan ett lösenord, men för att acceptera SSH-anslutningar med förtroende från en specifik IP, görs detta på ett MYCKET säkert sätt med användning av offentliga och privata nycklar, i länken som jag lämnade förklarade jag allt i detalj

      1.    Edwin sade

        Med nycklar ja, för ett ögonblick var jag rädd xD

        1.    KZKG ^ Gaara sade

          LOL!!! inte heller att jag var självmord LOL !!!

          1.    Mod sade

            Nej, men inuti saker som vi är vill du verkligen klaga

  4.   andresnetx sade

    bra detta manus.
    Jag hoppas att de fortsätter att skicka manus. hjälpa de av oss som byter till Linux att vara mer produktiva i tid och minska inlärningstiden.

    1.    KZKG ^ Gaara sade

      Tack till dig för att kommentera.
      Snart kommer jag att publicera ytterligare ett tips om bash 😉

      hälsningar

      1.    mullvadder sade

        Tack galen! En dag kommer jag att ge tillbaka de tjänster som kamraterna i denna vackra Linux-community ger mig!

  5.   ivan sade

    Hur kan jag kopiera innehållet i flera loggfiler och placera det i en enda fil ,,,, automatiskt var 5: e minut, med hänsyn till ,,,,, att innehållet i filerna som ska kopieras mäts ständigt

    1.    elwuilmer sade

      Min rekommendation, (förslag), skulle vara ett bidrag ... Skapa ett villkor att han var femte minut verifierar filen eller filerna, antingen med:

      * senaste åtkomst = tid
      * senast modifierad = mtime
      * senaste informationsändring = ctime

      Följaktligen, om det finns någon förändring i filerna, gruppera dem och / eller läs dem (cat) och skicka dem> loggfiler.

      Detta är ett tydligt exempel, en fråga om att testa, försöka, verifiera och modifiera.

  6.   KZKG ^ Gaara sade

    Testar Caché-plugin ...

  7.   Santiago sade

    Mycket bra information, sanningen är att det hjälpte mig mycket, jag genomför ett stort projekt (självklart är det fiktivt, för det är från studion) och denna information var väldigt bra för mig.
    Tack så mycket!

  8.   liten brunett sade

    Hur skulle du göra ett skalskript som:?
    Be användaren att ange namnet på katalogen som ska säkerhetskopieras
    Be dig om platsen där du ska säkerhetskopiera katalogen
    Inkludera reservdatum

    1.    KZKG ^ Gaara sade

      Hej,

      Med "läs" kan jag be användaren om all den informationen, sedan tilldelar jag den till variabler och det är det.

      Skriv till min e-post om du har frågor: kzkggaara[at]desdelinux[dot]net

      hälsningar

      PS: Säkerhetskopieringsdatumet är redan inkluderat i skriptet.

  9.   ana_gaby sade

    presentera ett enklare skript för att säkerhetskopiera mappar från ubuntu och överföra dem med ftp till en annan server tack

  10.   John sade

    Hej, hur gör jag en säkerhetskopia av hela Linux-operativsystemet och skickar det till en annan dator. Jag skulle uppskatta din uppmärksamhet, tack så mycket !!

  11.   Franco Valdettaro sade

    Kan du skicka skriptet till min e-post fvaldettaro@gmail.com snälla du.

  12.   Xavier sade

    Kan du skicka mig skriptet till min e-post, tack en miljon, hälsningar.

  13.   Wuilmer Bolivar sade

    God morgon vän, jag tror att du har problem med underdomänen "klistra in" eftersom jag kollade några publicerade koder/skript som leder till att klistra in.desdelinux och alla omdirigerar mig till bloggen.desdelinux.

  14.   Ekorrar i nätet sade

    Ja, det är inte möjligt att komma åt skriptet eftersom klistra in. omdirigerar dig, kan du ladda upp den någon annanstans?

    1.    Alex Streaming sade

      Har problemet med att få manuset lösts?

      Tack.

      1.    Luigys toro sade

        Det har fixats, de kan nu komma åt koder

      2.    Ekorrar i nätet sade

        Tack nu!

  15.   paco sade

    god eftermiddag, jag skulle vilja kunna ladda ner manuset, det skulle vara möjligt att ladda upp det igen, nu är det inte tillgängligt

  16.   Ramiro sade

    Hej,
    Mycket bra bidrag! Kan jag be dig om att manuset ska laddas ner? Tack så mycket 🙂