Script per backups automàtics del teu servidor

Els que administrem servidors sabem l'important que és tenir salves, còpies de seguretat de tot ... doncs, en cas d'algun problema o decisió, la còpia de seguretat serà el nostre millor amic i ens ajudarà a restablir els serveis 🙂

Fa un temps enrere (diversos mesos ... bastants mesos) aquí no es feien còpies de seguretat de configuracions en els servidors, logs o alguna cosa així de forma automàtica. I simplement no podia ser així jaja, em vaig plantejar fer servir Bacula, Però ... DÉU !! per al que jo volia això era massa, molt però molt complicat al meu parer, si el que es vol és simplement fer backups i guardar aquests (o enviar-los a un altre servidor, o per email) no hi ha necessitat d'usar Bacula, amb un simple script es solucionen tots els problemes, per aquest motiu jo decidís fer el meu propi script i així quedava més satisfet 😀

I precisament aquest script és el que comparteixo amb vostès, explico molt breument què és el que fa:

  1. Crea una carpeta on es guardarà tot, i aquesta carpeta és la que després es comprimirà.
  2. Aquesta carpeta tindrà de nom l'any, mes i dia present, per exemple avui aquesta carpeta es diria: 2012-04-26
  3. còpia / Etc / (i tot el seu contingut) A aquesta carpeta.
  4. Còpia logs (/ Var / log /) Cap a aquesta carpeta abans esmentada.
  5. Exporta les bases de dades de MySQL que tinguem.
  6. Comprimeix amb un password (CONTRASENYA) Aquesta carpeta, la comprimeix en .rar.
  7. Genera un arxiu (data.info) Amb tot el log del que abans fet (log de còpia de archvios i compressió a .rar), A més de posar en aquest arxiu la mida (a MBs) De l'arxiu .rar, que els recordo, conté tot el que vam decidir salvar.
  8. Esborra la carpeta en la qual vam posar els arxius i que després comprimim, ja que si ja tenim aquesta carpeta comprimida, no hi ha necessitat de més tenir-la sense comprimir.
  9. Envia emails als administradors o persones relacionades amb el servidor, informant que el backup es va fer de manera correcta, i se'ls enviarà adjunt en aquest correu electrònic l'arxiu amb el log de tot (data.info.rar)

Òbviament, aquest script no és executar-lo i ja jaja, han de obrir-lo i canviar-hi la contrasenya de MySQL de vostès, doncs jo no em sé el password de root de les seves bases de dades LOL !!!, així com canviar els emails als que volen que s'enviï la notificació, ja que els correus electrònics que vaig posar són només d'exemple.

Si desitgen comprimir-lo en .tar.gz i no en .rar (com està configurat l'script) Aquí els vaig deixar la línia comentada, és només descomentarla i comentar la de .rar. A l'igual, si volen copiar per SSH (usant SCP) l'arxiu comprimit cap a un altre servidor o hosting, també els vaig deixar la línia a al final (està comentada), en ella han de posar les dades d'accés al seu servidor o hosting (usuari i domini o URL de servidor), però perquè això funcioni més hauran configurar SSH sense contrasenya, Ja que l'script no podrà accedir a l'servidor si no té accés permès en aquest.

Ah, si desitgen que això de l'enviament de correus electrònics funcioni, han de tenir postfix instal·lat al servidor, gairebé tots len postfix però bé, és vàlida l'aclariment 🙂

Encara que ... podrien modificar i utilitzar un script a Pitó que vaig deixar fa un temps, Però crec que seria treballar una mica més ^ - ^ U

I bé, només queda deixar-los el script:

VPS Backup Script

Recordin que han de donar-li permisos d'execució (chmod + x vps_backup-script.sh)

Perquè s'executi cada dia a les 10:XNUMX, posen això en una terminal:

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

Suposant que l'script estigui guardat com: /root/vps_backup-script.sh

Bé suficient, que no vull fer semblar això massa complicat, cosa que no ho és jaja, en realitat això és una cosa summament senzill, només que a l'veure'l per primera vegada pot espantar una mica 🙂

Qualsevol dubte, pregunta o suggeriment me la fan saber, ja saben que m'agrada ajudar 😀

Salutacions

PD: Aclareixo que no sóc ni em considero programador jaja, ni de prop LOL !! sé que es pot optimitzar molt més l'script, però bé ... no sóc programador 🙂


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

  1.   Faustod va dir

    allunyant,

    Salutacions,

    Com aquestes molt interessant, però una excepció; si aquest script es corre avui es digués 2012-04-25, avui és el dia de la guàrdia.

    Gràcias
    Faustod

    1.    KZKG ^ Gaara va dir

      JAJAJA cert jajaja, és que jo com que visc al futur ... LOL !!!

  2.   linuxman va dir

    Molt interessant, de fet em mostra com fer diverses coses, estic desenvolupant el meu propi i vaig a prendre algunes peces de codi de el teu per agregar funcionalitats.

    En el meu cas vaig a utilitzar rsync en lloc de cp per copiar els arxius.

    Salutacions !!

    1.    KZKG ^ Gaara va dir

      Sí, fer servir rsync és una bona idea però preferia usar cp perquè, copiaré arxius cap a una carpeta en blanc, no sincronizaré amb cap altra informació jaja, per això simplement vaig usar cp 😀

      Si vols saber més tips per bash revisa el tag aquí en el lloc ... trobaràs com fer arxius de lock, control de quins usuaris poden executar l'script, etc 😀
      https://blog.desdelinux.net/tag/bash/

      Salutacions i gràcies per comentar 🙂

  3.   Edwin va dir

    un servidor amb ssh sense contrasenya?

    1.    KZKG ^ Gaara va dir

      No sense contrasenya, sinó que accepti connexions SSH amb confiança des d'una IP específica, això es fa de forma MOLT segura amb l'ús de claus públiques i privades, en l'enllaç que vaig deixar ho explico tot a l'detall 🙂

      1.    Edwin va dir

        Amb claus si, per un moment em vaig espantar xD

        1.    KZKG ^ Gaara va dir

          LOL !!! ni que fos jo un suïcida LOL !!!

          1.    Valor va dir

            No, però dins de les coses emos a tu t'agrada molt queixar-te

  4.   andresnetx va dir

    genial aquest script.
    espero que segueixin publicant scripts. ajuden als que ens estem passant a linux a ser més productius en temps i en disminuir el temps d'aprenentatge.

    1.    KZKG ^ Gaara va dir

      😀 les gràcies a tu per fer comentaris.
      En breu public altre tip sobre bash 😉

      Salutacions

      1.    marcs talp va dir

        gràcies locuraaaa! algun dia tornaré els favors q em donen els camarades d'aquesta bonica comunitat linux!

  5.   ivan va dir

    com puc copiar-el contingut de diversos arxius logs i ubicar-lo en un de sol arxiu ,,,, de forma automàtica cada 5 minuts, tenint en compte ,,,,, que el contingut dels fitxers a copiar es midifican constantment

    1.    elwuilmer va dir

      La meva recomanació, (suggeriment), aportació seriosa ... Crear una condició que cada 5 minuts el verifiqui l'arxiu o els arxius, ja sigui amb:

      * Última entrada = atime
      * Darrera modificació = mtime
      * Últim canvi d'informació = ctime

      D'acord amb això, si hi ha algun canvi en els fitxers, agrupar-los i / o llegir-los (cat) i enviar-los> logsficheros.

      És un exemple clar aquesta, qüestió de provar, intentar, verificar i modificar.

  6.   KZKG ^ Gaara va dir

    Testing Memòria cau Plugin ...

  7.   Santiago va dir

    Molt bona informació la veritat que em va servir de molt, estic realitzant un projecte de gran port (òbviament és fictici, perquè és de l'estudi) i em va venir molt bé aquesta informació.
    Moltes gràcies !!

  8.   Moreneta va dir

    Com faries un shell script que :?
    Li demani a l'usuari especificar el nom de directori a recolzar
    Li demani la ubicació on va recolzar el directori
    Incloure la data de suport

    1.    KZKG ^ Gaara va dir

      Hola,

      Amb «read» puc sol·licitar-li a l'usuari totes aquestes dades, després se'ls va assignar a variables i llest.

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

      Salutacions

      PD: La data de suport ja està inclosa en l'script.

  9.   ana_gaby va dir

    presenti un script mes senzill per recolzar carpetes des ubuntu i transferir-les per ftp a un altre servidor gràcies

  10.   juan va dir

    Hola com faig un backup de tot el sistema operatiu Linux i enviar-lo a una altra pc. Els agrairia l'atenció moltes gràcies !!

  11.   Franco Valdettaro va dir

    Podries enviar-me l'script al meu correu fvaldettaro@gmail.com Siusplau.

  12.   Javier va dir

    podria si us plau enviar l'script al meu correu, un milió de gràcies, salutacions.

  13.   WuilmerBolivar va dir

    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.   Esquirols a la xarxa va dir

    Si, no és possible accedir a l'script perquè paste. et redirecciona, ho podràs pujar en algun altre costat?

    1.    AlexStreaming va dir

      S'ha solucionat el problema per obtenir el script?

      Gràcies.

      1.    Luigys Toro va dir

        S'ha solucionat, ja poden accedir als codis

      2.    Esquirols a la xarxa va dir

        Ara si, gràcies!

  15.   paco va dir

    bona tarda, m'agradaria poder descarregar l'script, seria possible pujar-lo de nou, ara no està disponible

  16.   Ramiro va dir

    Hola,
    Molt bona aportació! Et podria demanar l'script per descarregar? Moltes gràcies 🙂