# BackupPC

BackupPC es un software libre de respaldo disco-a-disco, con una interfaz web. El software es multiplataforma, y puede ejecutarse en cualquier sistema tipo Linux, Solaris o servidor basado en Unix. No se requiere el uso de clientes, ya que el servidor es en sí mismo el cliente para múltiples protocolos que son manejados por otros servicios nativos del sistema operativo. En 2007, BackupPC fue mencionado como uno de los tres software de respaldo de código abierto más conocidos, a pesar de que es una de las herramientas que son “asombrosas, pero que desafortunadamente, si nadie habla de ella, nunca nadie oirá de ella".
La desduplicación de datos reduce el espacio necesario para almacenar los respaldos en la piscina de discos. Es posible utilizarlo como una solución D2D2T, si la función de archivado de BackupPC es usada para respaldar el pool de disco a cinta. BackupPC no es un sistema de respaldo a nivel de bloque, como puede ser Ghost4Linux, pero realiza respaldos y restauraciones a nivel de archivos. No es adecuado para el respaldo de imágenes de disco o partciones en crudo.
BackupPC incorpora un cliente SMB que puede ser utilizado para respaldar recursos compartidos de red de computadoras que ejecutan Windows. Paradójicamente, bajo esa configuración, el servidor BackupPC puede ser ubicado detrás de un cortafuegos NAT, mientras que la máquina Windows opera sobre una dirección IP pública. Si bien esto puede no ser recomendable para tráfico SMB, es más útil para servidores web que estén corriendo SSH con GNU tar y rsync, ya que permite a BackupPC ser ubicado en una subred separada de la DMZ de los servidores.
Está publicado bajo una licencia Licencia Pública General GNU.

## Protocolos Soportados

Soporta NFS, SSH, SMB y rsync
Puede respaldar sistemas tipo Unix con soporte nativo para ssh y tar o rsync, como Linux, BSD, y Mac OSX, como también recursos compartidos Microsoft Windows con una mínima configuración.
En Windows, implementaciones de tercar parte de tar, rsync, y SSH (como por ejemplo Cygwin) son requeridas para utilizar dichos protocolos.

## Elección de Protocolo

LA elección entre tar y rsync es dictada por el hardware y ancho de banda disponible al cliente. Clientes respaldados por rsync usan considerablememte más tiempo de CPU que clientes que usan tar o SMB. Clientes que usan SMB o tar consumen un ancho de banda considerablemente mayor que los que usan rsync. Esas relaciones de compromiso son inherentes a la diferencia entre los protocolos. Usar tar o SMB transfiere cada archivo enteramente, usando poca CPU pero ancho de banda máximo. El método rsync calcula sumas de verificación para cada archivo en el cliente y el servidor, en una manera que permite transferir únicamente las diferencias entre los dos archivos; esto usa más recursos de CPU, pero minimiza el ancho de banda.

## Almacenamiento de Datos

BackupPC usa una combinación de enlaces duros y compresión para reducir el espacio en disco total usado para archivos. Al primer respaldo completo, todos los archivos son transferidos al servidor, opcionalmente comprimidos, y son comparados. Los archivos que son idénticos son enlazados de manera dura, lo que solo usa una entrada adicional de directorio. El resultado es que un administrador del sistemas podría realizar una copia de seguridad de diez ordenadores portátiles de Windows XP con 10 GB de datos cada una, y si 8 GB se repiten en cada máquina (archivos binarios de Office y Windows) se vería como necesarios 100 GB, pero solo 28 GB (10 GB x 2 + 8 GB) serían utilizados. La compresión de los datos en el back-end reducirá aún más ese requisito.
Al navegar entre las copias de seguridad, las novedades de las copias de seguridad incrementales se integran con la copia de seguridad completa anterior. Volviendo cada copia de seguridad una copia completa y total de los datos de cara al usuario.

## Rendimiento

Una copia de seguridad de una unidad SMB remota suele alcanzar tasas de transferencia de 3–4 Mbit/s.. Un disco local empleado como depositario de las copias puede operar a velocidades de 10+ Mbit/s, en función del rendimiento de la CPU.. Naturalmente, una CPU más rápida facilitará la compresión y la generación de la suma de verificación MD5. Las tasas de transferencia por encima de 13 MB/s están al alcance de redes Gigabit cuando se realizan copias de respaldo de un cliente Linux usando rsync sobre SSH, aun cuando el dispositivo de destino no sea local.

## Forks y proyectos relacionados

* BackupAFS (anteriormente BackupPC4AFS) es una versión de BackupPC parcheada para realizar copias de seguridad de volúmenes AFS u OpenAFS en el disco local de un servidor de copias de seguridad o en un RAID conectado. Soporta todas las características de BackupPC, incluyendo los volcados completos e incrementales de varios niveles, la expiración exponencial y la configuración a través de archivos conf o una interfaz web. Cuando se realizan copias de seguridad completas de volúmenes AFS de varios gigabytes, no son infrecuentes las velocidades de 24-35 megabytes por segundo a través de gigabit ethernet.
* BackupPC SME Contrib es un complemento de SME Server que permite la integración de BackupPC en la interfaz de usuario de SME.
* La edición comunitaria de Zmanda de BackupPC ha añadido la capacidad de utilizar FTP, así como otros parches que forman parte de la versión 3.2.0 de la línea principal.