Backups rsnapshot en GNU / Linux. (1/3)

rsnapshot

rsnapshot-Backup-copia-de-seguridad-tutorial

Backups rsnapshot en GNU / Linux. (1/3)
Backups rsnapshot en GNU / Linux. (2/3)
Backups rsnapshot en GNU / Linux. (3/3)

Facer backup (Backups) incremental e automático vía rsync, utiliza hardlinks para backups incrementais cos backups que ocupan pouco espazo no disco.

Basicamente, o programa fai unha copia en primeiro lugar e as copias posteriores copiar ficheiros e modificado, crear ligazóns de disco duro ficheiros que xa existían. Entón só ocupan copias sucesivas os novos ficheiros.

Ficheiro de Configuración

/etc / rsanpshot.conf

Uso cron para automatizar backups.

Paso

Servidor que quere facer backup de varias carpetas dentro dun cartafol no mesmo servidor.

Servidor

Hostname : Servidor
Sistema Operativo : Servidor Ubuntu 12.04
IP 192.168.1.235

Carpetas para gardar:

/casa
/etc
/var / log

Cartafol de destino:

/backup

Copias gardar: Copias están gardados todos os días da última 7 días
As copias son almacenadas fan semanal 4 semanas
As copias son almacenadas no último mes 6 meses
As copias son almacenadas no último ano 5 anos

  1. Rsnapshot Instalar
$ sudo apt-get install rsnapshot
  1. Rsnapshot Configurar editar o ficheiro / etc / rsanpshot.conf
 $ sudo nano / etc / rsnapshot.conf

Os valores de interese son os seguintes

  • snapshot_root indica onde imos gardar o extremo da hasta de copia de seguridade é importante, pero non recoñece os enderezos de directorios. Non coloque espazos, pero é tabelado pola mesma razón.
			snapshot_root / backup /
  • no_create_root Se usa para dicir ao programa se quere crear un directorio de destino ou non, descomente (#) se fai a copia de seguridade nun dispositivo extraíbel. Como o noso caso non é o que dixo.
			#no_create_root	
  • cmd_cp ruta do comando cp (esta é deixada como)
			cmd_cp / bin / cp 
  • cmd_rm Ruta del rm (esta é deixada como)
			cmd_rm / bin / rm
  • cmd_rsync camiño do comando rsync (esta é deixada como)
			cmd_rsync / bin / bin / rsync
  • cmd_ssh comando ssh descomente camiño se temos que facer copia de seguridade de rede con ssh (esta é deixada como)
			#cmd_ssh / usr / bin / ssh
  • cmd_de Usado para usar rsnapshot con du para atopar o espazo que están ocupando backups. (Comentario eliminado)
			cmd_du / usr / bin / du 
  • cmd_rsnapshot_diff Permite ver as diferenzas entre a copia de seguridade diferente. (Comentario eliminado)
			cmd_rsnapshot_diff / usr / bin / rsnapshot-diff
  • reter Usado para indicar o número de copias será almacenado como unha función de tempo de hora en hora 6 indica que cada tempo unha copia de seguridade se executa e almacenado os de 6 últimos exemplares. Para configurar a marcación enriba deixar esta sección segue.
# reter por hora 6   
reter diaria 7
reter semanal 4
reter mensual 6
reter anual 5
  • Logfile Usado para indicar onde está o ficheiro de rexistro rsnapshot. (Comentario eliminado)
			Logfile / var / log / rsnapshot.log
  • backup Utilizado para indicar onde son cartafoles que quere gardar a copia de seguridade. Despois de facer a copia de seguridade do directorio indicado e, a continuación, salvarse localhost/ salva-lo no cartafol de snapshot_root (/backup) por exemplo, se datos / queremos ter en /backup / datos / para gardar os datos que queremos nesta sección sería o seguinte.
 backup / home / localhost /
 backup / etc / localhost /
  backup / var / log / localhost / 

Xa que estes parámetros modificado o ficheiro de configuración quedaría segue. Cadro laranxa configurar parámetros.

#################################################
 # rsnapshot.conf - ficheiro de configuración do rsnapshot #
 #################################################
 # #
 # Sexa consciente das regras SEGUINTES: #
 # #
 # Este ficheiro require tabulacións entre elementos #
 # #
 # Directorio esixen unha barra ao final: #
 # dereito: /home / #
 # mal: /casa #
 # #
 #################################################

 #######################
 # Config Versión do ficheiro #
 #######################

 config_version 1.2

 ###########################
 # Instantáneas directorio raíz #
 ###########################

 # Todos os snapshots serán almacenados neste directorio raíz.
 #
 snapshot_root / backup /

 # Se no_create_root está activado, rsnapshot non creará automaticamente o
 # directorio snapshot_root. Isto é especialmente útil se está facendo
 # en medios removível, tales como FireWire ou unidade USB.
 #
 #no_create_root 1

 #################################
 # Dependencias programa externo #
 #################################

 # LINUX USUARIOS: Asegúrese de descomentar "cmd_cp". Isto dálle recursos extra.
 # TODOS MAIS: Deixar "cmd_cp" comentada por compatibilidade.
 #
 # Consulte o ficheiro README ou a páxina de manual para máis detalles.
 #
 cmd_cp / bin / cp

 # descomentar esta a utilizar o programa rm en vez de built-in de rutina perl.
 #
 cmd_rm / bin / rm

 # rsync debe estar habilitado para calquera cousa ao traballo. Este é o único comando que
 # debe ser activado.
 #
 cmd_rsync / usr / bin / rsync

 # Descomente este para permitir backups remotos por ssh rsync.
 #
 #cmd_ssh / usr / bin / ssh

 # Comentar isto para desactivar o soporte syslog.
 #
 cmd_logger / usr / bin / logger

 # Descomente esta opción para especificar o camiño para "de" para comprobacións de uso de disco.
 # Se ten unha versión máis antiga do "de", Tamén pode querer comprobar a
 # "du_args" parámetro abaixo.
 #
 cmd_du / usr / bin / du

 # Descomente esta opción para especificar o camiño para rsnapshot-diff.
 #
 cmd_rsnapshot_diff / usr / bin / rsnapshot-diff

 # Especifique o camiño para un script (e calquera argumentos opcionais) a funcionar ben
 # antes rsnapshot sincroniza arquivos
 #
 #cmd_preexec / path / to / preexec / script

 # Especifique o camiño para un script (e calquera argumentos opcionais) a funcionar ben
 # despois rsnapshot sincroniza arquivos
 #
 #cmd_postexec / path / to / postexec / script

 # Camiños para lvcreate, lvremove, comandos umount montaxe e, para o seu uso co
 # Linux LVMs.
 #
 #linux_lvm_cmd_lvcreate / sbin / lvcreate
 # Linux_lvm_cmd_lvremove / sbin / lvremove
 # Linux_lvm_cmd_mount / bin / mount
 # Linux_lvm_cmd_umount / bin / umount
#########################################
 # Intervalos de backup #
 # Debe ser único e en orde crecente #
 # i.. de hora en hora, diario, semanal, etc. #
 #########################################

 # reter por hora 6
 reter diaria 7
 reter semanal 4
 reter mensual 6
 reter anual 5
############################################
 # Opcións globais #
 # Todos son opcionais, con estándares sensibles #
 ############################################

 # Nivel detallado, 1 mediante 5.
 # 1 Só erros mortais Silencio impresión
 # 2 Erros de impresión estándar e avisos só
 # 3 Verbose Amosar comandos shell equivalentes en execución
 # 4 Extra detallado Amosar información extra detallado
 # 5 Modo de depuración Todo
 #
 falador 2

 # O mesmo que "falador" anterior, pero controla a cantidade de datos enviados para o
 # Logfile, se está a ser usado. O estándar é 3.
 #
 loglevel 3

 # Se activa esta, datos serán gardados no arquivo que especifique. O
 # cantidade de datos gravados é controlada pola "loglevel" parámetro.
 #
 Logfile / var / log / rsnapshot.log

 # Se está activado, rsnapshot vai escribir un lockfile para evitar que dúas instancias
 # de execución simultaneamente (e desorde o snapshot_root).
 # Se activa esta, comprobe que o directorio non é lockfile mundo
 # escribir. En caso contrario, non se pode impedir que o programa sexa executado.
 #
 lockfile / var / run / rsnapshot.pid

 # Por defecto, comprobación rsnapshot lockfile, comprobar que o PID está en execución
 # e se non, considerar lockfile como obsoleto, a continuación, iniciar
 # A activación desta rsnapshot parada se PID en lockfile non está en execución
 #
 #stop_on_stale_lockfile 0

 # Args rsync defecto. Todos os comandos rsync ter, polo menos, estas opcións de set.
 #
 #rsync_short_args-a
 # Rsync_long_args - DELETE - numéricos-IDs - relativas - delete-excluídos

 # ssh non ten argumentos pasados ​​por defecto, pero pode especificar algúns aquí.
 #
 #ssh_args-p 22

 # Argumentos estándar para o "de" programa (para espazo en disco de informes).
 # A versión de GNU de "de" é preferido. Vexa a páxina de manual para máis detalles.
 # Se a súa versión do "de" non soporta a-h, tente-k en vez.
 #
 #du_args-csh

 # Se está activado, rsync non medirá particións do sistema de ficheiros dentro dun
 # punto de copia de seguridade. Isto esencialmente pasa a opción-x ao rsync.
 # O estándar é 0 (fóra).
 #
 #one_fs 0

 # A inclusión e exclusión parámetros, se está habilitada, simplemente son pasadas directamente
 # ao rsync. Se ten varios incluír / eliminar patróns, que cada un nunha
 # liña separada. Por favor, busque o - incluír e - opcións no borrar
 # páxina man rsync para máis detalles sobre como especificar patróns de nome de ficheiro.
 #
 #incluír ???
 #incluír ???
 #eliminar ???
 #eliminar ???

 # Os parámetros include_file e exclude_file, se está habilitada, simplemente obter
 # pasados ​​directamente rsync. Por favor, busque a - inclúense de e
 # --exclúense de opcións na páxina man rsync para máis detalles.
 #
 #include_file / path / to / include / ficheiro
 # Exclude_file / path / to / eliminar / ficheiro

 # Se a súa versión do rsync soporta - link-dest, considerar permitir esta.
 # Esta é a mellor forma de apoiar arquivos especiais (FIFOs, etc) multiplataforma.
 # O estándar é 0 (fóra).
 #
 #link_dest 0

 # Cando sync_first está activado, cambia o comportamento por defecto do rsnapshot.
 # Normalmente, cando rsnapshot chámase co seu rango menor
 # (ou sexa,: "rsnapshot horaria"), ha sincronizar arquivos e executar o máis pequeno
 # intervalos. Con sync_first habilitado, "rsnapshot sync" trata sobre a sincronización de ficheiros,
 # e todas as chamadas de intervalo simplemente executar arquivos. Vexa a páxina de manual para máis
 # detalles. O estándar é 0 (fóra).
 #
 #sync_first 0

 # Se está activado, rsnapshot pode mover o directorio máis antigo para cada intervalo
 # para [interval_name].eliminar, a continuación, el ha eliminar o ficheiro de bloqueo e eliminar
 # este directorio só antes de saír. O estándar é 0 (fóra).
 #
 #use_lazy_deletes 0

 # Número de rsync re-ses. Se ten algún problema de rede ou
 # problemas da tarxeta de rede que tenden a causar ssh para porco-out con
 # "Corrupted MAC na entrada" erros, por exemplo, estabelecela a un distinto de cero
 # valor para ter a operación rsync re-xulgado
 #
 #rsync_numtries 0

 # LVM parameters. Usado para facer copia de seguridade coa creación de LVM snapshot antes de backup
 # e eliminando o logo. Isto debe garantir a consistencia dos datos nalgún especial
 # casos
 #
 # LVM instantáneo(s) tamaño (lvcreate - opción de tamaño).
 #
 #linux_lvm_snapshotsize 100m

 # Nome a usar ao crear o instantáneo volume lóxico LVM(s).
 #
 #linux_lvm_snapshotname rsnapshot

 # Camiño ao volume LVM Grupos.
 #
 #linux_lvm_vgpath / dev

 # Punto de montaxe para montar a usar temporalmente o instantáneo(s).
 #
 #linux_lvm_mountpath / path / to / mount / LVM / snapshot / durante / backup

 ###############################
 ### PUNTOS backup / Scripts ###
 ###############################

 # LOCALHOST

 backup / home / localhost /
 backup / etc / localhost /
 backup / var / log / localhost /
 #backup / home / localhost /
 # Backup / etc / localhost /
 # Backup / usr / local / localhost /
 # Backup / var / log / rsnapshot localhost /
 # Backup / etc / passwd localhost /
 # Backup / home / foo / My Documents / localhost /
 # Backup / foo / bar / localhost / one_fs = 1, rsync_short_args =-urltvpog
 # Backup_script / usr / local / bin / backup_pgsql.sh localhost / postgres /
 # Debe establecer linux_lvm_ * parámetros de embaixo antes de usar snapshots LVM
 # Backup LVM://vg0/xen-home / lvm-vg0/xen-home /

 # EXAMPLE.COM
 # Backup_script / bin / data "+ copia de seguridade de example.com comezou o% c" unused1
 # Backup root@example.com:/home / example.com /   rsync_long_args = - bwlimit = 16, eliminar = núcleo
 # Backup root@example.com:/etc / example.com / eliminar = mtab,eliminar = núcleo
 # 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 / data "+ copia de seguridade de example.com rematou ás% c" unused9

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

  # RSYNC.SAMBA.ORG
  # Backup rsync://rsync.samba.org / rsyncftp / rsync.samba.org / rsyncftp /

 

Para comprobar a configuración correcta do rsnapshot execute a seguinte orde

$ sur rsnapshot configtest
Sintaxe OK

Cando retorna Syntax OK é que a configuración é correcta.

Descubrimos que funciona a realizar o primeiro backup co comando.

$ sudo rsnapshot diaria

Nós descubrimos que o cartafol créase /backup / diaria.0/localhost ligantes que conteñen casa, etc y var / log que queriamos salvar.

$ sudo ls-la / backup / diaria.0/localhost

O día seguinte, imos seguir co noso titorial rsnapshot.

Backups rsnapshot en GNU / Linux. (1/3)
Backups rsnapshot en GNU / Linux. (2/3)
Backups rsnapshot en GNU / Linux. (3/3)


Sobre Ignacio Alba Obaya

Spanish técnico e adestrador para o emprego. Amante das novas tecnoloxías. Director de GNU / Linux e Windows.

5 Comentarios:

  1. Ola,

    Por si te interesa, ElkarBackup é un programa de copia de seguridade usando rsnapshot. É basicamente unha interface web para rsnapshot, pero tamén moito máis.

    https://github.com/elkarbackup/elkarbackup

    Ademais de facilitar a xestión e recuperación de copias de seguridade, Eu creo que o seu gran potencial son pre-scripts e post-scripts. Curso, software é libre eo código está dispoñible.

  2. Se estou a diario a copia de seguridade dun directorio local, digamos / backup / no directorio rsnapshot / backup_r /, hai algunha maneira de non esixir / backup_r / diaria.0/backup / ser unha copia, senón un conxunto de enlaces a / backup, aforrar espazo no disco?

    Grazas.

    Lester

  3. Eu creo que unha boa solución é: Comece / backup_r / baleiro. Despois:

    mkdir-m 0755 -p / backup_r / diaria.0/
    /bin / cp-al / backup / / backup_r / diaria.0/ &

    Dende / backup / xa está apoiada por proveedor de VPS por uns días, entón iso debería funcionar para o recheo de máis días. Eu só non sei se hai desvantaxes para este plan?

Deixar unha resposta