Les còpies de seguretat rsnapshot bany GNU / Linux. (1/3)

rsnapshot

rsnapshot-backup-còpies-de-seguretat-tutorial

Les còpies de seguretat rsnapshot bany GNU / Linux. (1/3)
Les còpies de seguretat rsnapshot bany GNU / Linux. (2/3)
Les còpies de seguretat rsnapshot bany GNU / Linux. (3/3)

Realitza còpies de seguretat (Les còpies de seguretat) incrementals i automàtiques per mitjà de rsync, utilitza enllaços durs per a les còpies incrementals de manera que les còpies de seguretat ocupen poc espai al disc.

Bàsicament, el programa realitza una primera còpia i en posteriors còpies copia els arxius nous i modificats, creant enllaços durs als arxius que ja existien. Així que les còpies successives només ocupen els arxius nous.

Fitxer de configuració

/etc / rsanpshot.conf

Utilitzarem cron per automatitzar les còpies de seguretat.

Escenari

Servidor del qual volem fer còpies de diverses carpetes dins d'una carpeta del mateix servidor.

Servidor

Hostname : Servidor
Sistema operatiu : Servidor d'Ubuntu 12.04
IP 192.168.1.235

Carpetes a salvar:

/casa
/etc
/var / log

Carpeta destí:

/reserva

Còpies a salvar: Còpies cada dia s'emmagatzemen els últims 7 dies
Còpies cada setmana s'emmagatzemen les últimes 4 setmanes
Còpies al mes s'emmagatzemen els últims 6 mesos
Còpies l'any s'emmagatzemen els últims 5 anys

  1. Rsnapshot Instal · lar
$ sudo apt-get install rsnapshot
  1. Configuració rsnapshot editant el fitxer / etc / rsanpshot.conf
 $ sudo nano / etc / rsnapshot.conf

Els valors que ens interessen són els següents

  • snapshot_root indica on anem a guardar les còpies de seguretat la barra del final és important sinó no reconeix les direccions dels directoris. No es posen espais sinó que es tabula per la mateixa raó.
			snapshot_root / backup /
  • no_create_root S'utilitza per indicar al programa si de crear el directori destinació o no, treu el comentari (#) si realitzes la còpia de seguretat en un dispositiu extraïble. Com que no és el nostre cas ho deixem comentat.
			#no_create_root	
  • cmd_cp ruta de la comanda cp (es deixa com aquesta)
			cmd_cp / bin / cp 
  • cmd_rm ruta de la comanda rm (es deixa com aquesta)
			cmd_rm / bin / rm
  • cmd_rsync ruta de la comanda rsync (es deixa com aquesta)
			cmd_rsync / bin / bin / rsync
  • cmd_ssh ruta de la comanda ssh es descomenta si anem a realitzar còpies de seguretat per xarxa mitjançant ssh (es deixa com aquesta)
			#cmd_ssh / usr / bin / ssh
  • cmd_de Serveix per utilitzar rsnapshot amb du per saber l'espai que estan ocupant les còpies de seguretat. (es treu el comentari)
			cmd_du / usr / bin / du 
  • cmd_rsnapshot_difF Serveix per veure les diferències que hi ha entre les diferents còpies de seguretat. (es treu el comentari)
			cmd_rsnapshot_diff / usr / bin / rsnapshot-diff
  • conservar Serveix per indicar quantes còpies s'emmagatzemaran en funció del temps cada hora 6 indica que cada hora es realitza una còpia de seguretat i s'emmagatzemen les de les 6 últimes còpies. Per configurar el marcat anteriorment deixarem aquesta secció de la següent manera.
# retenir per hora 6   
mantenir al dia 7
retenir setmanal 4
retenir mensual 6
retenir a l'any 5
  • logfile Serveix per indicar on està el fitxer de log de rsnapshot. (es treu el comentari)
			fitxer de registre / var / log / rsnapshot.log
  • reserva Serveix per indicar on estan les carpetes que volem salvar a la còpia de seguretat. Després de backup s'indica el directori a salvar i posteriorment si posem localhost / el salva a la carpeta indicada a snapshot_root (/reserva) si posem per exemple dades / ens ho guardaria en /Còpia de seguretat / data / per salvar les dades que volem aquesta secció quedaria de la següent manera.
 backup / home / localhost /
 backup / etc / localhost /
  backup / var / log / localhost / 

Un cop modificats aquests paràmetres al fitxer de configuració em quedaria de la següent manera. Marc en taronja els paràmetres a configurar.

#################################################
 # rsnapshot.conf - fitxer de configuració rsnapshot #
 #################################################
 # #
 # PER FAVOR TINGUI EN COMPTE LES SEGÜENTS NORMES: #
 # #
 # Aquest arxiu requereix fitxes entre els elements #
 # #
 # Directoris requereixen una barra: #
 # dret: /casa / #
 # mal: /casa #
 # #
 #################################################

 #######################
 # VERSIÓ ARXIU CONFIG #
 #######################

 config_version 1.2

 ###########################
 # DIRECTORI ARREL INSTANTÀNIA #
 ###########################

 # Totes les instantànies s'emmagatzemen en aquest directori arrel.
 #
 snapshot_root / backup /

 # Si no_create_root està habilitat, rsnapshot no crearà automàticament el
 # directori snapshot_root. Això és particularment útil si s'està realitzant una còpia
 # seguretat en un mitjà extraïble, com ara FireWire o USB.
 #
 #no_create_root 1

 #################################
 # DEPENDÈNCIES programa extern #
 #################################

 # Els usuaris de Linux: Assegureu-vos de comentari a "cmd_cp". Això li dóna característiques addicionals.
 # TOTS ELS ALTRES: Deixar "cmd_cp" comentada per compatibilitat.
 #
 # Consulteu el fitxer README o la pàgina de manual per a més detalls.
 #
 cmd_cp /bin/cp

 # comentari a aquesta opció per utilitzar el programa de rm en lloc de la incorporada a la rutina perl.
 #
 cmd_rm /bin/rm

 # rsync ha d'estar habilitat per a res a la feina. Aquest és l'únic comandament que
 # han d'estar habilitades.
 #
 cmd_rsync / usr / bin / rsync

 # Descomenteu aquesta opció perquè les còpies de seguretat de ssh remots mitjançant rsync.
 #
 #cmd_ssh / usr / bin / ssh

 # Comentar aquest a desactivar el suport per Syslog.
 #
 cmd_logger / usr / bin / logger

 # Descomenteu aquesta opció per especificar la ruta d'accés "de" per als controls d'ús del disc.
 # Si vostè té una versió anterior d' "de", és possible que també vulgui comprovar la
 # "du_args" paràmetre per sota de.
 #
 cmd_du /usr/bin/du

 # Descomenteu aquesta opció per especificar la ruta d'accés a rsnapshot-diff.
 #
 cmd_rsnapshot_diff / usr / bin / rsnapshot-diff

 # Indiqueu la ruta a un script (i els arguments opcionals) per córrer a la dreta
 # abans rsnapshot sincronitza arxius
 #
 #cmd_preexec / ruta / al / preexec / script

 # Indiqueu la ruta a un script (i els arguments opcionals) per córrer a la dreta
 # després rsnapshot sincronitza arxius
 #
 #cmd_postexec / ruta / al / postexec / script

 # Senders de lvcreate, lvremove, ordres mount i umount, per funcionar amb
 # Linux LVM.
 #
 #linux_lvm_cmd_lvcreate / sbin / lvcreate
 # Linux_lvm_cmd_lvremove / sbin / lvremove
 # Linux_lvm_cmd_mount / bin / mount
 # Linux_lvm_cmd_umount / bin / umount
#########################################
 # INTERVALS DE SUPORT #
 # Ha de ser únic i en ordre ascendent #
 # I.E. cada hora, diari, setmanal, etc. #
 #########################################

 # retenir per hora 6
 mantenir al dia 7
 retenir setmanal 4
 retenir mensual 6
 retenir a l'any 5
############################################
 # OPCIONS GLOBALS #
 # Tots són opcionals, amb els paràmetres per defecte #
 ############################################

 # Nivell detallat, 1 mitjançant 5.
 # 1 Imprimir només Quiet errors fatals
 # 2 Errors d'impressió predeterminades i advertències només
 # 3 Detallat Mostra comandaments de shell equivalents en execució
 # 4 Extra detallat Mostra informació extra verbose
 # 5 La manera de depuració Tot
 #
 verbós 2

 # Igual que "verbós" dalt, però controla la quantitat de dades enviades a la
 # logfile, si un s'està utilitzant. Per omissió és 3.
 #
 nivell de registre 3

 # Si activeu aquesta, les dades s'escriuen en el fitxer especificat. La
 # quantitat de dades escrites és controlat pel "nivell de registre" paràmetre.
 #
 fitxer de registre / var / log / rsnapshot.log

 # Si està habilitat, rsnapshot escriurà un fitxer de bloqueig per evitar que dues instàncies
 # s'executi simultàniament (i fer malbé la snapshot_root).
 # Si activeu aquesta, assegureu-vos que el directori d'arxiu de bloqueig no és el món
 # gravable. En cas contrari, ningú pot impedir que el programa s'executi.
 #
 fitxer de bloqueig / var / run / rsnapshot.pid

 # Per defecte, xec rsnapshot fitxer de bloqueig, comprovar si el PID està executant
 # i si no es, considerar com a fitxer de bloqueig ranci, a continuació, iniciar
 # L'activació d'aquesta rsnapshot parada si PID en fitxer de bloqueig no s'està executant
 #
 #stop_on_stale_lockfile 0

 # Args defecte rsync. Totes les comandes rsync han establert almenys aquestes opcions.
 #
 #rsync_short_args-A
 # Rsync_long_args - Eliminar - numèrics-ids - relatius - exclosos-delete

 # ssh no té arguments passats per defecte, però pot especificar alguns aquí.
 #
 #ssh_args-p 22

 # Els arguments predeterminats per al "de" programa (per a la informació d'espai en disc).
 # La versió GNU de "de" es prefereix. Vegeu la pàgina man per obtenir més detalls.
 # Si la vostra versió de "de" no és compatible amb l'opció-h, tractar-k en lloc.
 #
 #du_args-csh

 # Si està habilitat, rsync no abastarà les particions del sistema de fitxers dins d'un
 # punt de còpia de seguretat. Això passa essencialment l'opció-x per rsync.
 # Per omissió és 0 (apagat).
 #
 #one_fs 0

 # El incloure i excloure els paràmetres, si està habilitat, simplement es passa directament
 # a rsync. Si vostè té múltiples incloure / excloure patrons, posar a cada un en un
 # línia separada. Si us plau, consulteu el - include i - excloure opcions al
 # pàgina man rsync per obtenir més detalls sobre com especificar els patrons de nom de fitxer.
 #
 #incloure ???
 #incloure ???
 #excloure ???
 #excloure ???

 # Els paràmetres include_file i exclude_file, si està habilitat, simplement obtenir
 # va passar directament a rsync. Si us plau, consulteu el - incloent-des i
 # --excloure-d'opcions en la pàgina man rsync per obtenir més detalls.
 #
 #include_file / ruta / al / include / arxiu
 # Exclude_file / ruta / al / excloure / arxiu

 # Si la vostra versió de rsync suporta - link-dest, consideri activar aquesta.
 # Aquesta és la millor manera de donar suport als arxius especials (FIFO, etc) multiplataforma.
 # Per omissió és 0 (apagat).
 #
 #link_dest 0

 # Quan sync_first està habilitat, canvia el comportament predeterminat de rsnapshot.
 # Normalment, quan rsnapshot es diu amb el seu interval més baix
 # (és a dir: "rsnapshot hora"), serà sincronitzar arxius i giri el més baix
 # intervals. Amb sync_first habilitat, "sincronització rsnapshot" s'encarrega de la sincronització d'arxius,
 # i totes les trucades d'interval, simplement giren arxius. Vegeu la pàgina de manual per a més
 # detalls. Per omissió és 0 (apagat).
 #
 #sync_first 0

 # Si està habilitat, rsnapshot mourà el més antiga per a cada interval de
 # a [interval_name].esborrar, llavors s'eliminarà el fitxer de bloqueig i eliminar
 # aquest directori just abans que surti. Per omissió és 0 (apagat).
 #
 #use_lazy_deletes 0

 # Nombre de rsync reintents. Si teniu qualsevol problema de xarxa o
 # Problemes amb la targeta de xarxa que tendeixen a causar ssh per escombraries-amb
 # "Corrupted MAC a l'entrada" errors, per exemple, ajusti'l a un no-zero
 # valor de tenir l'operació rsync re-tractat
 #
 #rsync_numtries 0

 # Paràmetres LVM. S'utilitza per a la còpia de seguretat amb la creació d'instantànies lvm abans del respatller
 # i després de l'eliminació de. Això hauria de garantir la coherència de les dades en alguna especial
 # casos
 #
 # Instantània de LVM(s) mida (lvcreate - opció de mida).
 #
 #linux_lvm_snapshotsize 100 M

 # Nom que s'utilitzarà en crear la instantània de volum lògic LVM(s).
 #
 #rsnapshot linux_lvm_snapshotname

 # Camí als grups de volums LVM.
 #
 #linux_lvm_vgpath / dev

 # Punt de muntatge a utilitzar per muntar temporalment la instantània(s).
 #
 #linux_lvm_mountpath / ruta / al / mount / lvm / snapshot / durant / backup

 ###############################
 ### PUNTS DE SUPORT / SCRIPTS ###
 ###############################

 # Localhost

 backup / home / localhost /
 backup / etc / localhost /
 backup / var / log / localhost /
 #backup / home / localhost /
 # Còpia de seguretat / etc / localhost /
 # Còpia de seguretat / usr / local / localhost /
 # Còpia de seguretat / var / log / rsnapshot localhost /
 # Còpia de seguretat / etc / passwd localhost /
 # Còpia de seguretat / home / foo / Els meus documents / localhost /
 # Còpia de seguretat / foo / bar / localhost / one_fs = 1, rsync_short_args =-urltvpog
 # Backup_script / usr / local / bin / backup_pgsql.sh localhost / postgres /
 # Ha d'establir linux_lvm_ * paràmetres següents abans d'usar instantànies lvm
 Lvm backup://vg0/xen-home / lvm-vg0/xen-home /

 # EXAMPLE.COM
 # Backup_script / bin / date "+ còpia de seguretat de example.com començar a% C" unused1
 # Backup root@example.com:/casa / example.com /   rsync_long_args = - bwlimit = 16, excloure = core
 # Backup root@example.com:/etc / example.com / exclude = mtab,exclude = core
 # Backup_script ssh root@example.com "mysqldump-A > /var / db / dump / mysqlsql" unused2
 # Backup root@example.com:/var / db / dump / example.com /
 # Backup_script / bin / date "+ còpia de seguretat de example.com acabar a% c" unused9

  # CVS.SOURCEFORGE.NET
  # Backup_script / usr / local / bin / backup_rsnapshot_cvsroot.sh rsnapshot.cvs.sourceforge.net /

  # RSYNC.SAMBA.ORG
  # Còpia de seguretat rsync://rsync.samba.org / rsyncftp / rsync.samba.org / rsyncftp /

 

Per comprovar la correcta configuració de rsnapshot executem la següent ordre

$ sud rsnapshot configtest
Sintaxi Acceptar

Quan torna Syntax OK és que la configuració és correcta.

Vam comprovar que funciona fent la primera còpia de seguretat amb la comanda.

$ sudo rsnapshot diària

Comprovem que es crea la carpeta /backup / diari.0/localhost que conté les carpetes casa, etc i var / log volíem estalviar.

$ sudo ls-la / el suport / al dia.0/localhost

El proper dia continuarem amb el nostre tutorial de rsnapshot.

Les còpies de seguretat rsnapshot bany GNU / Linux. (1/3)
Les còpies de seguretat rsnapshot bany GNU / Linux. (2/3)
Les còpies de seguretat rsnapshot bany GNU / Linux. (3/3)


Sobre

Tècnic microinformàtic i formador per a l'ocupació. Amant de les noves tecnologies. Administrador de GNU / Linux i Windows.

5 comentarios

  1. Hola,

    En cas d'estar interessat, ElkarBackup és un programari de backup que utilitza RSnapshot. És bàsicament una interfície web sobre RSnapshot, però al mateix temps molt més.

    https://github.com/elkarbackup/elkarbackup

    A més de facilitar la gestió i la recuperació dels backups, al meu entendre la seva gran potencialitat són els pre-scripts i post-scripts. Per descomptat, és programari lliure i el codi està disponible.

  2. Si estic còpies diàries en un directori local, diguem / backup / al directori rsnapshot / backup_r /, Hi ha alguna manera de no requerir / backup_r / diari.0/backup / ser una còpia, sinó més aviat un conjunt d'enllaços a / backup, el consegüent estalvi d'espai en disc?

    Gràcies.

    Lester

  3. Crec que una bona solució és: Comenceu amb / backup_r / buit. Llavors:

    mkdir-m 0755 -p / backup_r / diari.0/
    /bin / cp-a / backup / / backup_r / diari.0/ &

    Des de / backup / Ja està recolzada pel proveïdor de VPS per uns dies, llavors això hauria de funcionar per omplir més dies. És només que no sé si hi ha desavantatges a aquest pla?

Deixa un comentari