2011-07-05 11 views
8

Hola quiero hacer una copia de seguridad de la base de datos a media noche utilizando cron job ... y el nombre de la copia de seguridad de la base de datos debe agregarse con la fecha actual ... el formato del archivo de copia de seguridad debe ser mydata_aaaa_mm_dd.sql ... archivo de copia de seguridad debe colocarse en/directorio raízCopia de seguridad diaria de la base de datos usando Cron Job

Respuesta

17

algo así como

0 0 * * * /path/to/mysqldump ... > /path/to/backup/mydata_$(date +"%Y_%m_%d").sql 

debería funcionar.

Lea

  • fecha hombre
  • man 5 crontab
+6

he tenido que añadir barras que escapan a la ''%, como ''% es a menudo interpretado por cron como un carácter de nueva línea. Por ejemplo, '.../path/to/backup/mydata _ $ (date +" \% Y _ \% m _ \% d ")'. – cloudrave

+0

centos 6.4 está bien. No necesité los escapes –

+0

@ wonk0 por favor guíame con respecto a esto. http://stackoverflow.com/questions/33057744/send-email-via-cron-job-every-day-with-database-csv-xls-or-xml-file-backup-usi –

4

Crear un archivo cron.sh con este contenido:

mysqldump -u root -p{PASSWORD} DBNAME 2>> "/filename_`date '+%Y-%m-%d'`.sql" 

Y dar el permiso de lectura o total permiso de acceso para ese archivo cron.sh

y añadir esta línea en el archivo crontab ($ crontab -e)

0 0 * * * cron.sh 
Cuestiones relacionadas