software para hacer backup y subirlo a un ftp

Buenas;
tengo un pequeño servidor web con samba y apache+mysql del que querría hacer copias de seguriada de los archivos de configuración y que lo subiera a un ftp.
He buscado y aplicaciones como mondo o amanda no se ajustan a lo que necesito, así que recurro a vosotros a ver si teneis conocimiento de algun software que haga esto:

copia de los archivos de configuración de /etc y algunos otros
dump de la base de datos
empaquetarlo todo y subirlo a un ftp
Si ademas incorpora un sistema para restaurarlo en caso de catastrofe seria perfecto.

Se que se puede programar un script que lo haga todo, pero no tengo los conocimientos para que me haga el proceso de forma segura.

Muchas gracias
si tienes ubuntu o similares, tal vez te pueda servir este pybackpack

aptitude install pybackpack
Muchas gracias vegeta777, pero no es exactamente lo que necesito. pybackpack no sube las copias por ftp y en mi server no tengo entorno gráfico.

¿Algún otro paquete?
edito, no habia leido la parte del entorno grafico, lo siento
Échale un ojo a BackupPC a ver si es lo que necesitas.
Un saludo
Usa partimage, q permite hacer bachups de cualquier particion y hacerlo por red.
De backup pc me agrada que es configurable via web y permite enviar los backups por ssh, de partimage mola porque hace una iso de un partición, pero no veo claro como restaurarlo con éxito en otro disco duro (por la tabla de particiones)

Así que no se, sigo buscando...
En este caso lo mejor que puedes hacer es crearte un scripy que haga las tareas que quieres y programarlo en el cron.

Te dejo mi script de como lo hago yo

#!/bin/bash
# Script Copia de seguridad
#

# Source function library.
. /etc/rc.d/init.d/functions

Maquina=$(hostname)
LOGDIR=/var/log
BACKUPDIR=Directorio a copiar
BACKUPDIR2=Directorio secundario a copiar

  echo
  echo ">>>>>>>>>>>>>>>" $Maquina "<<<<<<<<<<<<<<<<<" >> $LOGDIR/backup.log
  echo "Inicio Copia Completa..." $(date +%X%t%d/%b/%y) >> $LOGDIR/backup.log
  echo -n $"Realizando copia completa: "
  tar cfvpPz /usr/local/backup/backup.tar.gz $BACKUPDIR $BACKUPDIR2 > /dev/null
if [ $? -eq 0 ]; then
     echo_success
     echo
     echo "Final Copia Completa..." $(date +%X%t%d/%b/%y) >> $LOGDIR/backup.log
     echo_success
     echo
     echo >> $LOGDIR/backup.log
     echo -n $"Recogida de datos: "
     echo Cantidad de datos copiados: >> $LOGDIR/backup.log
     du -shc $BACKUPDIR $BACKUPDIR2   >> $LOGDIR/backup.log
     echo_success
     echo
     echo .. .. .. >> $LOGDIR/backupLV.log
  else
     echo "Error: La copia fallo..." $(date +%X%t%d/%b/%y) >> $LOGDIR/backup.log
     echo .. .. .. >> $LOGDIR/backup.log
     echo_failure
     echo
  fi


echo -n $"Enviando backup: "
lftp -f /root/scripts/autoftp  --log=/var/log/backup.log
echo_success

open IP_FTP -u usuario,password
lcd /usr/local/backup/
pwd
mput  backup.tar.gz
bye


Te faltaria meter el dump de la base de datos.

Espero que te sirva, si es que atreves a ponerlo
Me gusta plnk, estoy a punto de usarlo, sólo una cosa;
me explicas esta linea por favor?

tar cfvpPz /usr/local/backup/backup.tar.gz $BACKUPDIR $BACKUPDIR2 > /dev/null
if [ $? -eq 0 ]; then
wil escribió:Me gusta plnk, estoy a punto de usarlo, sólo una cosa;
me explicas esta linea por favor?

tar cfvpPz /usr/local/backup/backup.tar.gz $BACKUPDIR $BACKUPDIR2
if [ $? -eq 0 ]; then


tar cfvpPz /usr/local/backup/backup.tar.gz $BACKUPDIR $BACKUPDIR2
Esta linea comprime los dos directorios que le pasamos como argumento al principio del fichero con destino "/usr/local/backup/backup.tar.gz"
c -> Crear
f -> Fichero
v -> Verbose (no seria necesario)
p -> Conservar permisos
P -> Conservar la ruta absoluta
z -> Comprimir con gzip

if [ $? -eq 0 ]; then[/code][/quote]
Esta linea lo que hace es que si el proceso de empaquetado anterior le devuelve un 0 (el proceso ha ido bien) hace esas condiciones y si no escribe error en el log


La parte de codigo de abajo es el fichero autoftp, que no lo habia puesto antes.

Para cualquier duda mas, no dudes en consultar.
plnk escribió:En este caso lo mejor que puedes hacer es crearte un scripy que haga las tareas que quieres y programarlo en el cron.

Te dejo mi script de como lo hago yo

#!/bin/bash
# Script Copia de seguridad
#

# Source function library.
. /etc/rc.d/init.d/functions

Maquina=$(hostname)
LOGDIR=/var/log
BACKUPDIR=Directorio a copiar
BACKUPDIR2=Directorio secundario a copiar

  echo
  echo ">>>>>>>>>>>>>>>" $Maquina "<<<<<<<<<<<<<<<<<" >> $LOGDIR/backup.log
  echo "Inicio Copia Completa..." $(date +%X%t%d/%b/%y) >> $LOGDIR/backup.log
  echo -n $"Realizando copia completa: "
  tar cfvpPz /usr/local/backup/backup.tar.gz $BACKUPDIR $BACKUPDIR2 > /dev/null
if [ $? -eq 0 ]; then
     echo_success
     echo
     echo "Final Copia Completa..." $(date +%X%t%d/%b/%y) >> $LOGDIR/backup.log
     echo_success
     echo
     echo >> $LOGDIR/backup.log
     echo -n $"Recogida de datos: "
     echo Cantidad de datos copiados: >> $LOGDIR/backup.log
     du -shc $BACKUPDIR $BACKUPDIR2   >> $LOGDIR/backup.log
     echo_success
     echo
     echo .. .. .. >> $LOGDIR/backupLV.log
  else
     echo "Error: La copia fallo..." $(date +%X%t%d/%b/%y) >> $LOGDIR/backup.log
     echo .. .. .. >> $LOGDIR/backup.log
     echo_failure
     echo
  fi


echo -n $"Enviando backup: "
lftp -f /root/scripts/autoftp  --log=/var/log/backup.log
echo_success

open IP_FTP -u usuario,password
lcd /usr/local/backup/
pwd
mput  backup.tar.gz
bye


Te faltaria meter el dump de la base de datos.

Espero que te sirva, si es que atreves a ponerlo



Hola que tal me acabo de topar con este foro buscando algo similar al script que necesito solo que lo intente modificar y usar para hacer mis backup para un servidor, solo que en este solo quiero respaldar los directorios de los usuarios así como sus perfiles pero individualmente, que no se modifiquen los permisos, intente usar este script solo modificando las rutas de los directorios pero me los guardaba todos en un solo directorio y al descomprimir solo una parte de este me cambiaba los permisos a root, solo si descomprimo todo me deja los permisos pero esto no me sirve cuando solo se requiere remplazar una carpeta o archivo perdido por algún usuario, yo apenas ando metiéndome al mundo de Linux por eso no se como hacer estos tipos de script por eso le pido ayuda si me pueden hacer el favor...

PD: el servidor esta trabajando con openSUSE 11
¿Como haces para descomprimirlo?
perdon, soy nuevo en esto, en un centos 5.x la prima parte va como piña. no entiedo la continuacion:

open IP_FTP -u usuario,password
lcd /usr/local/backup/
pwd
mput backup.tar.gz
bye
Por lo que puedo entender es un logueo sobre un ftp. pero me arroja el siguiente error:
couldn't find owner of current tty!
agradezco tu respuesta. [tadoramo]
adx_x2 escribió:perdon, soy nuevo en esto, en un centos 5.x la prima parte va como piña. no entiedo la continuacion:

open IP_FTP -u usuario,password
lcd /usr/local/backup/
pwd
mput backup.tar.gz
bye
Por lo que puedo entender es un logueo sobre un ftp. pero me arroja el siguiente error:
couldn't find owner of current tty!
agradezco tu respuesta. [tadoramo]



La segunda parte es el fichero /root/scripts/autoftp que se llama en la linea

lftp -f /root/scripts/autoftp --log=/var/log/backup.log

Ese fichero contiene las ordenes que le mandas al servidor ftp.

Para cualquier duda me comentas.
rsync, via consola, o grsync, que es una gui en GTK.
plnk escribió:¿Como haces para descomprimirlo?


tar xvfz backup.tar.gz

PD: ¿el script que has puesto reemplaza el backup de un día con el del siguiente?, porque no veo que al archivo lo llames backupDDMMYYYY.tar.gz
16 respuestas