2011-07-11 27 views
9

Actualmente estoy tomando una copia de seguridad de la base de datos usando phpmyadmin export como un volcado sql, el nombre del archivo resultante será spbkYYMMDD (Y; año m: mes D: día). ¿Hay alguna forma de automatizar? db backup para que obtenga sql dump para intervalos regulares y el nombre de archivo se genere de manera automática. Puede explicarme la lógica.Cómo automatizar la copia de seguridad de la base de datos usando phpmyadmin

+0

¿lo necesita como interfaz web para hacer? – Sudantha

+0

sí, ¿cómo podemos hacer eso? – n92

+0

¿Qué quiere decir con la necesidad de una interfaz web? ¿Qué vas a tener en la interfaz? – Balanivash

Respuesta

8

Run crontab en el shell de Unix y crear la regla para poner en marcha el proceso para la creación de copias de seguridad de bases de datos

0 0 * * * /usr/local/bin/mysqldump -uLOGIN -PPORT -hHOST -pPASS DBNAME | gzip -c > `date “+\%Y-\%m-\%d”`.gz 

También compruebe this

EDITAR

La interfaz web es suficiente con escribir, No creo que puedas encontrar un código listo para eso. Pero necesita utilizar el trabajo cron, para automatizar una función para que se ejecute a intervalos regulares en una máquina Unix. Puede encontrar más información sobre cómo escribir un cron-job here. Así que ahora solo necesita escribir una interfaz web, que obtiene datos del usuario y cambia la regla según la entrada (que creo que puede hacerlo usted mismo)

+0

mysqldump no funciona desde el exterior si su servidor de base de datos solo está disponible en localhost o en alguna dirección [RFC 1918] (http://www.faqs.org/rfcs/rfc1918.html). –

+0

Consulte mi respuesta a http://stackoverflow.com/a/11031535/219640 si REALMENTE necesita hacer esto con phpMyAdmin. –

+1

Quite esas comillas extrañas si la fecha se queja del formato: '" ':' fecha "+ \% Y - \% m - \% d" '=>' fecha + \% Y - \% m - \% d' –

1

La mejor manera de automatizar la copia de seguridad de bases de datos MySQL es usar algunos software de copia de seguridad junto con phpmyadmin utilidad. La segunda forma, que a menudo tiene la ventaja de no tener que pagar nada y es una desventaja de la seguridad no controlada, es implementar una secuencia de comandos con cron.

Personalmente, prefiero Handy Backup además de mi phpMyAdmin. Ver the link to an article como un ejemplo. No es la mejor solución de copia de seguridad, pero es relativamente barata y muy estable.

1

El Código será así:

@echo off 
    for /f "tokens=1" %%i in ('date /t') do set DATE_DOW=%%i 
    for /f "tokens=2" %%i in ('date /t') do set DATE_DAY=%%i 
    for /f %%i in ('echo %date_day:/=-%') do set DATE_DAY=%%i 
    for /f %%i in ('time /t') do set DATE_TIME=%%i 
    for /f %%i in ('echo %date_time::=-%') do set DATE_TIME=%%i 
    "j:\xamppp\bin\mysqldump" -u root -p --all-databases>j:\backupmysql\%DATE_DAY%_%DATE_TIME%_database.sql 

y guardarlo como .bat y U puede ejecutarlo desde el programador de tareas

1

Escribí un guión rápida para este caso de uso exacta , ya que no tenía acceso a la consola para mysqldump y por lo tanto es necesario que a mí mismo:

Descargas:Github: phpmyadmin_sql_backup.py

Uso en su caso:

./phpmyadmin_sql_backup.py "https://www.example.com/phpmyadmin_login_page" USERNAME PASSWORD --basename "" --prepend-date --prefix-format "spbk%y%m%d" --overwrite-existing -o OUTPUT_DIRECTORY 

Es de esperar que demuestra ser útil para los demás.

+0

La secuencia de comandos python no funciona, línea de error 66: sintaxis no válida – Jerry1

+0

Jerry1: Necesita utilizar Python 3 para que esto funcione (como se indica en la página de github) – phoibos

Cuestiones relacionadas