Ver Mensaje Individual
  #3 (permalink)  
Antiguo 13/06/2008, 06:43
Avatar de Tombar
Tombar
 
Fecha de Ingreso: junio-2008
Ubicación: /home/tombar
Mensajes: 198
Antigüedad: 16 años, 8 meses
Puntos: 11
Respuesta: ayuda para crear un comando

lo que tienes que hacer es escribir un script en bash similar a esto

Código:
#[path/donde/queres/guardar/el/respaldo] = la ruta a donde quieres guardar el respaldo

cd [path/donde/queres/guardar/el/respaldo]

#[usuario] = tu user en la db
#[password] = tu pass en la db
#[basededatos] = el nombre de la db

#$(date +%Y%m%d) = 20080613 por ejemplo. 
# para sacar solo el dia (cosa q no te aconsejo) seria $(date +%d)

mysqldump -u [usuario] -p [password] [base de datos] > respaldoDB_$(date +%Y%m%d).sql

#aca seteamos permisos de solo lectura para el owner del archivo
chmod 400 respaldoDB_$(date +%Y%m%d).sql
con ese archivo lo que tenes que hacer es salvarlo dentro de tu home x ejemplo con el nombre respaldo_sql.sh y darle permisos de lectura y ejecucion solamente

chmod 500 respaldo_sql.sh

luego te creas una nueva tarea de cron y la apuntas a ese respaldo_sql.sh

Atencion:

estas guardando tu contrasena de base de datos en un archivo plano. esto no hay ninguna forma simple de evitarlo. hay un par de workarrounds de todas formas. si te interesa solo dilo y te guio en como hacerlo.

tu quieres guardar respaldos diarios y pisarlos x mes. yo lo que te aconsejaria seria hacer respaldos diarios y no pisarlos x mes, vamos que no hay necesidad alguna de hacerlo. hoy en dia el espacio sobra :P

si tienes problemas de espacio solo agrega el siguiente comando en el script despues del mysqldump y listo :P

bzip2 -9 respaldoDB_$(date +%Y%m%d).sql

con eso comprimes de maravilla el .sql (una db de 4.6GB la pasas a unos 500mb x ejemplo)

Última edición por Tombar; 13/06/2008 a las 06:48 Razón: agregado la compresion