Script pentru backupurile automate ale serverului dvs.

Cei dintre noi care gestionăm servere știm cât de important este să avem copii de siguranță ale tuturor... ei bine, în caz de problemă sau eșec, backup-ul va fi cel mai bun prieten al nostru și ne va ajuta să restabilim serviciile 🙂

Cu ceva timp în urmă (câteva luni... destul de câteva luni) nu existau automat backup-uri ale configurațiilor serverului, jurnalelor sau ceva de genul acesta. Și pur și simplu nu putea fi așa haha, m-am gândit să folosesc bacula, dar Doamne!! Pentru ceea ce mi-am dorit asta a fost prea, foarte, foarte complicat dupa parerea mea, daca ceea ce vrei este sa faci pur si simplu copii de siguranta si sa le salvezi (sau sa le trimiti pe alt server, sau pe email) nu este nevoie sa folosesti Bacula, cu un scriptul simplu rezolvă toate problemele, de aceea am decis să-mi fac propriul scenariu și așa am fost mai mulțumit 😀

Și tocmai acest script este cel pe care îl împărtășesc cu voi, vă explic foarte pe scurt ce face:

  1. Creați un folder în care totul va fi salvat, iar acest folder este cel care va fi apoi comprimat.
  2. Acest folder va fi numit după anul, luna și ziua curente, de exemplu astăzi acel folder va fi numit: 2012-04-26
  3. COPIA / etc / (si tot continutul acestuia) în acel folder.
  4. Copiați jurnalele (/ var / log /) în folderul menționat anterior.
  5. Exportați bazele de date MySQL pe care le avem.
  6. Comprimați cu o parolă (PAROLA) acel folder, îl comprimă în RAR.
  7. Generați un fișier (date.info) cu tot jurnalul a ceea ce s-a făcut înainte (jurnal de copiere a fișierelor și compresie în .rar), pe lângă introducerea dimensiunii în acest fișier (în MB-uri) din arhiva .RAR, pe care vă reamintesc, conține tot ce am decis să salvăm.
  8. Ștergeți folderul în care am pus fișierele și pe care apoi l-am comprimat, pentru că dacă avem deja acest folder comprimat, nu este nevoie să-l avem și decomprimat.
  9. Trimite email-uri administratorilor sau persoanelor legate de server, informându-i ca backup-ul s-a facut corect, iar fisierul cu jurnalul tuturor va fi trimis atasat la acel email (data.info.rar)

Evident, acest script nu este de executat și atât haha, ar trebui să îl deschideți și să vă schimbați parola MySQL în el, deoarece nu știu parola de root a bazelor de date LOL!!!, precum și să schimbați e-mailurile în Ei doresc ca notificarea să fie trimisă, deoarece e-mailurile pe care le-am postat sunt doar un exemplu.

Dacă doriți să-l comprimați în .tar.gz și nu în .rar (Cum este configurat scriptul?) acolo am lăsat rândul comentat, doar decomentează-l și comentează .rar. La fel, dacă doriți să copiați fișierul comprimat prin SSH (folosind SCP) pe alt server sau hosting, am lăsat și rândul la final (se comentează), în el trebuie să introduceți datele de acces la serverul sau hostingul dvs. ( URL-ul utilizatorului și al domeniului sau al serverului), dar pentru ca acest lucru să funcționeze trebuie și ei configurați SSH fără parolă, deoarece scriptul nu va putea accesa serverul dacă nu are acces permis pe acesta.

Ah, dacă vrei ca trimiterea de e-mailuri să funcționeze, trebuie să ai remediere post instalat pe server, aproape toată lumea instalează remediere post dar hei, clarificarea este valabila :)

Deși... ar putea modifica și folosi a script în Piton pe care am plecat acum ceva vreme, dar cred că ar fi ceva mai mult de lucru ^ - ^ U

Și ei bine, tot ce rămâne este să vă las scenariul:

Script de backup VPS

Amintiți-vă că trebuie să îi acordați permisiuni de execuție (chmod +x vps_backup-script.sh)

Pentru ca acesta să ruleze în fiecare zi la 10:XNUMX, puneți asta într-un terminal:

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

Presupunând că scriptul este salvat ca: /root/vps_backup-script.sh

Destul de bine, nu vreau să fac asta să pară prea complicat, ceea ce nu este haha, în realitate acesta este ceva extrem de simplu, doar că atunci când îl vezi pentru prima dată poate fi puțin înfricoșător 🙂

Anunțați-mă dacă aveți întrebări, întrebări sau sugestii, știți că îmi place să vă ajut 😀

În ceea ce priveşte

PD: Va lamuresc ca nu sunt si nici nu ma consider programator haha, nici macar aproape LOL!! Știu că scriptul poate fi optimizat mult mai mult, dar hei... nu sunt programator :)


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   faustod el a spus

    Pune deoparte,

    Salutari,

    Ce mai faci, foarte interesant, dar o avertizare; Dacă acel script este rulat astăzi, se va numi 2012-04-25, astăzi este ziua de gardă.

    Mulţumiri
    faustod

    1.    KZKG ^ Gaara el a spus

      HAHAHA adevărat hahaha, cam trăiesc în viitor... LOL!!!

  2.   linuxman el a spus

    Foarte interesant, de fapt îmi arată cum să fac mai multe lucruri, le dezvolt pe ale mele și o să iau câteva bucăți de cod de la dvs. pentru a adăuga funcționalitate.

    În cazul meu, voi folosi rsync în loc de cp pentru a copia fișierele.

    Noroc !!

    1.    KZKG ^ Gaara el a spus

      Da, folosirea rsync este o idee bună, dar am preferat să folosesc cp pentru că, voi copia fișierele într-un folder gol, nu sincroniza cu alte informații haha, de aceea am folosit doar cp 😀

      Dacă doriți să aflați mai multe sfaturi pentru bash, verificați eticheta aici pe site... veți găsi cum să faceți fișiere de blocare, să controlați ce utilizatori pot executa scriptul, etc 😀
      https://blog.desdelinux.net/tag/bash/

      Salutări și mulțumiri pentru comentarii 🙂

  3.   Edwin el a spus

    un server cu ssh fara parola?

    1.    KZKG ^ Gaara el a spus

      Nu fara parola, dar accepti cu incredere conexiuni SSH de la un IP anume, asta se face FOARTE sigur cu folosirea cheilor publice si private, in linkul pe care l-am lasat explic totul in detaliu :)

      1.    Edwin el a spus

        Cu chei da, o clipa m-am speriat xD

        1.    KZKG ^ Gaara el a spus

          LAUGH OUT LOUD!!! Nici măcar nu credeam că sunt sinucigaș LOL!!!

          1.    Curaj el a spus

            Nu, dar când vine vorba de lucruri, îți place foarte mult să te plângi.

  4.   andresnetx el a spus

    acest scenariu este grozav.
    Sper că vor continua să publice scenarii. Ele îi ajută pe cei dintre noi care trec la Linux să fie mai productivi în timp și să reducă timpul de învățare.

    1.    KZKG ^ Gaara el a spus

      😀 Vă mulțumesc pentru comentariu.
      În curând voi publica un alt sfat despre bash 😉

      În ceea ce priveşte

      1.    rame alunite el a spus

        multumesc nebunie! Într-o zi voi întoarce favorurile pe care mi le oferă camarazii acestei frumoase comunități Linux!

  5.   ivan el a spus

    Cum pot copia conținutul mai multor fișiere jurnal și îl plasez într-un singur fișier,,,, automat la fiecare 5 minute, ținând cont de,,,,, că conținutul fișierelor de copiat este măsurat constant

    1.    elwuilmer el a spus

      Recomandarea mea, (sugestia), contribuția ar fi... Creați o condiție ca la fiecare 5 minute să verifice fișierul sau fișierele, fie cu:

      * ultimul acces = atime
      * ultima modificare = mtime
      * ultima modificare a informațiilor = ctime

      În consecință, dacă există vreo modificare în fișiere, grupați-le și/sau citiți-le (cat) și trimiteți-le > fișiere jurnal.

      Acesta este un exemplu clar, o chestiune de testare, încercare, verificare și modificare.

  6.   KZKG ^ Gaara el a spus

    Se testează pluginul cache...

  7.   Santiago el a spus

    Informații foarte bune, adevărul este că mi-a fost foarte utilă, fac un proiect mare (evident că este fictiv, pentru că este de la studio) și această informație mi-a venit foarte la îndemână.
    Vă mulțumesc foarte mult!

  8.   micuță brunetă el a spus

    Cum ai face un script shell care:?
    Solicitați utilizatorului să specifice numele directorului de backup
    Solicitați locația în care veți face backup pentru director.
    Includeți data de rezervă

    1.    KZKG ^ Gaara el a spus

      Buna,

      Cu „citește” pot cere utilizatorului toate acele date, apoi le atribui variabilelor și gata.

      Scrie-mi pe e-mail dacă ai întrebări: kzkggaara[at]desdelinux[dot]net

      În ceea ce priveşte

      PS: Data copiei de rezervă este deja inclusă în script.

  9.   ana_gaby el a spus

    prezentați un script mai simplu pentru a face backup la folderele din Ubuntu și transferați-le prin ftp pe alt server, mulțumesc

  10.   Ioan el a spus

    Bună ziua, cum fac o copie de rezervă a întregului sistem de operare Linux și o trimit pe alt computer. Aș aprecia atenția ta, mulțumesc mult!!

  11.   Franco Valdettaro el a spus

    Îmi poți trimite scriptul pe e-mail? fvaldettaro@gmail.com te rog.

  12.   Xavier el a spus

    Ați putea vă rog să-mi trimiteți scenariul pe e-mailul meu, vă mulțumesc un milion, salutări.

  13.   WuilmerBolivar el a spus

    Buna dimineata prietene, cred ca ai o problema cu subdomeniul "paste" pentru ca verificam niste coduri/scripturi publicate care duc la paste.desdelinux și toți mă redirecționează către blog.desdelinux.

  14.   veverite pe net el a spus

    Da, nu este posibil să accesați script-ul deoarece este lipit. Vă redirecționează, îl puteți încărca în altă parte?

    1.    AlexStreaming el a spus

      A fost rezolvată problema la obținerea scriptului?

      Mulţumesc.

      1.    Luigys toro el a spus

        S-a rezolvat, acum puteți accesa codurile

      2.    veverite pe net el a spus

        Acum da, multumesc!

  15.   Paco el a spus

    Bună ziua, aș dori să pot descărca scriptul, ar fi posibil să-l încărc din nou, acum nu este disponibil

  16.   Ramiro el a spus

    Buna,
    Foarte buna contributia! Aș putea să vă cer să descărcați scriptul? Mulțumesc frumos 🙂