rsnapshot
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
- Rsnapshot Instalar
$ sudo apt-get install rsnapshot
- 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)
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.
Gracias probare a ver que me parece y os comento.
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
copia de seguridade foi hard links para que a copia só ocupa espazo no disco ficheiros modificados.
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?