Feb
22
Feb
22
Si os preguntáis que es una VTL os lo resumo a grandes rasgos, conoceréis la típica librería de cintas, bien, pues una VTL emula esa librería de cintas. La ventaja es que es barato y ofrece una rápida restauración pero su desventaja es que puede llegar a ser más lento escribiendo.
Para hacer esto utilizaremos un software llamado linuxvtl2, open source claro esta. Explicaré el proceso de instalación hoy, y a lo largo de esta semana nos adentraremos un poco más. Continued…
TweetDic
23
Es importante hacer backup de las cosas, si no pasa lo que me pasó a mi recientemente, como no quiero volver a repetir fallos he decidido hacer backup de esta.
Necesitaremos el ejecutable mysqldump que se encuentra en el paquete mysql-client. Desde mi maquina local ejecuto lo siguiente:
#mysqldump -u admin -p -h maquina.remota.com database1 > fecha.sql
Hace un backup con el usuario admin, que debe de tener los privilegios de poder bloquear la base de datos en -p nos pide la password el -h el host remoto la database1, la base de datos que queréis salvar y el > `date`.sql exporta la salida del comando a un archivo con el nombre la fecha de hoy .sql
Si queremos restaurar basta con eliminar la base corrupta, crear otra y desde la shell escribir lo siguiente:
Tweet#mysql -u usuario -p -h maquina.remota.com database1<archivo_backup.sql
Jul
22
A veces es muy bonito ponerse a crear servidores y eso, pero todo el mundo sabe que en algún momento pueden fallar y necesitaremos tener algo que nos respalde, para ello utilizaremos bacula, que me parece una herramienta bastante avanzada para gestionar nuestros backup’s.
Si andáis un poco perdidos sobre bacula, son necesario 2 servidores y el agente
En mi caso particular los tres los tengo en el mismo servidor, (hace backup de si mismo también, aun que no lo pondré para no agrandarlo más) y después tengo los bacula-fd donde quiero realizar más backups. Utilizaré mysql para que bacula-director almacene los datos, y dispongo de un RAID 5. Configuraremos dos clientes de prueba, un Linux y un Windows.
Empezamos con el Debian actualizado:
#apt-get update
Instalamos la mysql
#apt-get install mysql-server
Ahora el turno a bacula, si os fijáis bien pongo los 3 servidores que mencione antes:
#apt-get install bacula-client bacula-console bacula-director-mysql bacula-sd
Ahora podréis comprobar que tenemos 3 servicios más en el init.d: bacula-dir, bacula-sd y bacula-fd. No los arranquéis todavía por que no funcionarán. Los ficheros de configuración son un tanto sensibles así que solo funcionará si están perfectamente configurados.
Entramos en la mysql y creamos la base de datos, primero la arrancamos si la tenemos parada:
#/etc/init.d/mysql start
Entramos y creamos la base de datos:
#mysql -u root -p
mysql>create database bacula;
mysql>exit
Ya nos olvidamos de mysql, ahora solo nos queda bacula. Los archivos de configuración como siempre los encontraremos en /etc y este caso concreto en /etc/bacula. Empezaremos configurando el bacula-dir, que es el directorio.
Director {
Name = directorio #Nombre que querais
DIRport = 9101
QueryFile = “/etc/bacula/scripts/query.sql”
WorkingDirectory = “/var/lib/bacula”
PidDirectory = “/var/run/bacula”
Maximum Concurrent Jobs = 1
Password = “123456″ #Pongo esto de passwd por que es más sencillo para mi
Messages = Daemon
}#Estos son los clientes de bacula, donde se hará el backup
Client {
Name = correo
Address = 10.100.0.59
FDPort = 9102
Catalog = MyCatalog
Password = “123456″
File Retention = 30 days
Job Retention = 6 months
AutoPrune = yes
}Client {
Name = windows
Password = 123456
Address = 10.100.0.58
FDPort = 9102
Catalog = MyCatalog
File Retention = 30 days
Job Retention = 6 months
}#Unidades de almacenamiento
Storage {
Name = File
Address = 10.100.0.57 #Esto es la ip del servidor donde almacenaremos los datos, en mi caso es la ip local de mi servidor
SDPort = 9103
Password = “123456″
Device = FileStorage
Media Type = File
}#Datos de la base de datos
Catalog {
Name = MyCatalog
dbname = bacula; DB Address = “localhost” ; user = root; password = “lo_que_quieras”
}#Sistema de logs
Messages {
Name = Standard
mailcommand = “/usr/lib/bacula/bsmtp -h localhost -f \”\(Bacula\) %r\” -s \”Bacula: %t %e of %c %l\” %r”
operatorcommand = “/usr/lib/bacula/bsmtp -h localhost -f \”\(Bacula\) %r\” -s \”Bacula: Intervention needed for %j\” %r”
mail =admin@linuxadmin.es = all, !skipped #Deberéis configurar el exim4 para que os envié el log a una cuenta externa de correo
operator = root@localhost = mount
console = all, !skipped, !saved
append = “/var/lib/bacula/log” = all, !skipped
}Messages {
Name = Daemon
mailcommand = “/usr/lib/bacula/bsmtp -h localhost -f \”\(Bacula\) %r\” -s \”Bacula daemon message\” %r”
mail = tu-mail@tu-dominio.es = all, !skipped
console = all, !skipped, !saved
append = “/var/lib/bacula/log” = all, !skipped
}Pool {
Name = Default
Pool Type = Backup
Recycle = yes
AutoPrune = yes
Volume Retention = 365 days
}#Consola
Console {
Name = directorio #igual que el nombre de la segunda linea: “Name = …”
Password = “123456″
CommandACL = status, .status
}#Esta tarea, hace backup del /var menos de /var/no_lo_quiero
FileSet {
Name = “correos”
Include {
File = /var
Options {
signature = MD5
}
}
Exclude {
File = /var/no_lo_quiero
}
}#Esto es para al backup de windows, del disco d
FileSet {
Name = “disco d”
Include {
Options {
signature = MD5
}
File = d:/
}
}#Esta es la parte donde decimos el ciclo
Schedule {
Name = “CicloSemanal”
Run = Incremental mon-sat at 01:00 #De lunes a sabado backup a la 1 de la madrugada
Run = Full sun at 01:00 #Domingo backup entero a la 1 de la madrugada
}
Schedule {
Name = “Diario”
Run = Full sun-sat at 23:10
}#Este es el primer trabajo,
JobDefs {
Name = “copia de etc del servidor de correo”
Enabled = yes
Type = Backup
Level = Incremental
Client = correo
FileSet = “correos” #Nombre de la tarea, lo tenemos arriba
Schedule = “CicloSemanal”
Storage = File
Messages = Standard
Pool = Default
Priority = 10
}Job {
Name = “Correos”
JobDefs = “copia de etc del servidor de correo”
Write Bootstrap = “/var/lib/bacula/correos.bsr”
}JobDefs {
Name = “portatil windows”
Enabled = yes
Type = Backup
Level = Incremental
Client = windows
FileSet = “disco d”
Schedule = “CicloSemanal”
Storage = File
Messages = Standard
Pool = Default
Priority = 10
}Job {
Name = “backup portatil disco d”
JobDefs = “portatil windows”
Write Bootstrap = “/var/lib/bacula/backup_portatil.bsr”
}#Es necesario meter estas lineas para la restauración
#Restaura el disdo D de la maquina windows
Job {
Name = “Restauracion de disco D”
Type = Restore
client = windows
FileSet = “disco d”
Storage = File
Pool = Default
Messages = Standard
Where = d:/restaurado #Restaura en la misma maquina cliente
}#Restaura /var de la maquina Linux
Job {
Name = “Restauracion de var”
Type = Restore
client = windows
FileSet = “correos”
Storage = File
Pool = Default
Messages = Standard
Where = /var/restore #Restaura en la misma maquina cliente
}
Ahora el bacula-sd.conf, este arvhivo debe de estar en el servidor de almacenamiento. Los backuups se depositan en /media/datos
Storage {
Name = respaldadora-sd
SDPort = 9103
WorkingDirectory = “/var/lib/bacula”
Pid Directory = “/var/run/bacula”
Maximum Concurrent Jobs = 20
}Director {
Name = respaldadora-dir
Password = “Satur012″
}Device {
Name = FileStorage
Media Type = File
Archive Device = /media/datos
LabelMedia = yes;
Random Access = Yes;
AutomaticMount = yes;
RemovableMedia = no;
AlwaysOpen = no;
}Messages {
Name = Standard
director = respaldadora-dir = all
}
Ahora el fichero de configuración de la consola de bacula, bconsole.conf:
Director {
Name = localhost
DIRport = 9101
address = 127.0.0.1
Password = “123456″
}
Con estos tres archivos ya tendriamos la parte dificil. Ahora los arrancamos:
#/etc/init.d/bacula-dir start
#/etc/init.d/bacula-sd start
Y si todo ha ido bien debería de arrancar sin problemas. Lo ideal es empezar a configurar los clientes. El cliente de windows lo podréis bajar aquí buscais Win32/64. Importante. Bajad la versión del cliente igual que la del servidor, esto os evitará quebraderos de cabeza.
Ahora entraremos en la consola de bacula:
# bconsole
Connecting to Director localhost:9101
1000 OK: directorio Version: 2.4.4 (28 December 2008)
Enter a period to cancel a command.
*
Una vez en este promp podreis configurar todo lo relacionado con el backup. Lo ideal es que ejecutéis un “status” antes de empezamos a configurar la unidad de almacenamiento. Si todo esta ok menos los clientes no pasaría nada y podríamos continuar.
*label
Automatically selected Catalog: MyCatalog
Using Catalog “MyCatalog”
Automatically selected Storage: File
Enter new Volume name: datos
Automatically selected Pool: Default
Connecting to Storage daemon File at 10.100.0.57:9103 …
Sending label command for Volume “datos” Slot 0 …
3000 OK label. VolBytes=198 DVD=0 Volume=”datos” Device=”FileStorage” (/media/datos)
Catalog record for Volume “datos”, Slot 0 successfully created.
Requesting to mount FileStorage …
3906 File device “FileStorage” (/media/datos) is always mounted.
You have messages.
*
Lo ideal seria dar permisos solo al usuario bacula en el directorio /media/datos
#chown -R bacula:bacula /media/datos
En cuanto a la parte cliente es lo más sencillo de configurar, el archivo de bacula-fd.conf:
Director {
Name = directorio
Password = 123456
Address = 10.100.0.57 #IP del bacula-dir
}FileDaemon {
Name = correo
FDport = 9102
WorkingDirectory = /var/lib/bacula/working
Pid Directory = /var/run/
Maximum Concurrent Jobs = 20
}Messages {
Name = Standard
director = directorio = all, !skipped, !restored
}
No explico la instalación del cliente bacula en windows por que es siguiente, siguiente, siguinte. Cuando este instalado nos dirigiremos a Inicio > Programas > Bacula > Configuration > Edit Client Configuration y metemos las lineas de abajo:
Director {
Name = directorio
Password = 123456
Address = 10.100.0.57 #IP del bacula-dir
}FileDaemon {
Name = windows
FDport = 9102
WorkingDirectory = “C\\Documents and Settings\\All Users\\Datos de programa\\Bacula\\Work”
Pid Directory = “C\\Documents and Settings\\All Users\\Datos de programa\\Bacula\\Work”
Maximum Concurrent Jobs = 20
}Messages {
Name = Standard
director = directorio = all, !skipped, !restored
}
Guardamos y reiniciamos el servicio de bacula, como nota, si el servicio de bacula no inicia, es que el archivo esta mal. En linux seri:
#/etc/init.d/bacula-fd start
Reiniciad todas las maquinas y comprobad que todo se inicia en el arranque y solo quedaria ejecutar bconsole y movernos por las diferentes opciones que tenemos.
#bconsole
*status all #comprueba que todo este correcto
*run #ejecuta una tarea
*restore #restaura archivos, los seleccionamos con el comando mark y con done ejecutamos
*help #indespansable
Como detalle seria ideal conigurar exim4 para poder enviar correos a una cuenta externa de correo. Solo queda disfrutar que funcione y ojala que no lo tengáis que usar.
TweetMay
18
Back In Time es una herramienta de backup con interfaz gráfica, para KDE y GNOME, este backup se basa en snapshot, a grandes rasgos solo hace backup de los datos modificados, esto nos evita un gran espacio en disco. Como dicen en su pagina web Back In Time es solo una herramienta gráfica que mueve rsync, diff y cp.
Vamos a instalarlo, para ello nos dirigimos a esta web, y como siempre bajamos el código fuente que es lo más universal.
Una vez bajado, lo descomprimimos:
#tar xvf backintime-0.9.24_src.tar.gz
#cd backintime-0-9-24
Si hacemos un ls veremos que tenemos dos carpetas llamativas, kde4 y gnome pues según el escritorio que estemos entramos en el directorio, en mi caso es kde4 pero el proceso es el mismo para gnome
#cd kde4
#./configure
Nos debe de salir algo así:
All OK. Now run:
make
sudo make install
Ahora tal y como nos dice, hacemos un make y un make install:
#make
#sudo make install
Ahora podemos arrancarlo desde el menú de kde o gnome

Como veis la interfaz tiene lo necesario y opciones bastante sencillas, como podéis ver en la pestaña General se ve el donde guardaremos los datos y con la opción de una tarea programada con cron, recordemos que si queremos adentrarnos más en cron deberemos modificarlo a mano.

En la pestaña Incluir vemos las carpetas de las que queremos hacer el backup.

La pestaña Excluir nos muestra los archivos que no queremos que se haga backup, podemos establecerlo por un patrón: *.conf, por un fichero en concreto o una carpeta en concreto.

La pestaña Autoeliminar, muestra cada cuanto tiempo se deberá borrar un backup, con la opción interesante de que si el espacio libre en disco es menor que X borrara archivos antiguos.

Yo recomiendo habilitar las notificaciones, siempre conviene saber lo que esta pasando en nuestro sistema.

Una vez configurado nuestra nueva herramienta, bastaría con darle aceptar y nos aparecerá una nueva ventana con nuestros snapshot, desde esta ventana podremos manejarlo.

Como veis es una herramienta bastante sencilla, para todo el publico, fácil de instalar, con las opciones necesarias y con una interfaz bastante amigable, así que os animo a probarlo.