The UNIX and Linux Forums  


Go Back   El UNIX y Linux Foros > Especial Foros > Programación Web, Web 2.0 y Mashups
.
google unix.com



Programación Web, Web 2.0 y Mashups Discutir y Programación Web Administración de Servidor Web, incluyendo LAMP, Apache, MySQL, Flash, HTML, SEO, Mashups y Web API y otros temas.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Desarrolladores de MySQL, se reúnen "Quan" (también conocido como el Analizador de consultas de MySQL) iBOT MySQL DevZone RSS 0 05-15-2009 02:30 PM
MySQL University - Capacitación en Desarrollo y MySQL Internos iBOT BigAdmin Solaris RSS 0 11-12-2008 09:10 AM
cómo romper el archivo sql mysql vertedero learnbash Programación de scripts de shell y 2 05-14-2008 06:39 AM
restaurar mysql archivo de volcado en muchos servidores remotos? blesets Programación de scripts de shell y 2 09-13-2006 02:17 AM
ayuda, ¿cuál es la diferencia entre core dump volcado y el pánico? Aileen UNIX for Dummies Preguntas y Respuestas 1 06-11-2001 09:08 PM

Reply
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Calificación: Thread Rating: 1 votes, 5.00 average. Modos de visualización
  #1 (Enlace permanente)  
Old 05-29-2009
jzacsh jzacsh is offline
Usuario Registrado
  
 

Fecha: abril 2009
Puestos: 29
Question Quizá confundido acerca de MySQL y PHP Volcado

Hola. el fin de mis esfuerzos ahora son más grandes para obtener una secuencia de comandos de la mina (que el administrador me dijo que había puesto en cron para mí) correctamente copias de seguridad de mi base de datos MySQL. Para probar la copia de seguridad sql parte (antes de llegar a toda la secuencia de comandos en cron, y hacer que no funcione) que quería probarla. Así que aquí está lo que hice:

Archivo PHP para hacer mi ensayo (en el servidor)
Código:
<?php

$test = shell_exec('echo $SHELL');
echo "<pre>$test</pre>";

$output = shell_exec('sh ./sqlBack.sh');
echo "<pre>$output</pre>";
?>
Script se llama por el PHP
Código:
#!/usr/local/bin/bash

# MYSQL BACKUP:
sql_bDir="./sql_backups/" #LOCATION FOR SQL BACKUPS TO LAND
sql_bName=SqlBackup_$(date "+%A")

echo "The Shopping Cart's database backup will be in $sql_bDir and will be named $sql_bName" #NOTICE OF DATABASE BACKUP
mysqldump -uNAME -pPASS --opt DBASENAME > $sql_bDir$sql_bName.tgz
sólo para las pruebas, ambos archivos se han fijado a 777 en el servidor. La salida del archivo PHP sólo se ve como debería, pero me parece que la . / sql_backups / directorio vacío. He intentado la nombre de usuario, contraseña y base de datos de la última línea de esa secuencia de comandos en mayúsculas y minúsculas (leer algún capitales que funciona mejor .. de todas formas). No estoy experimentado con php / mysql .. He encontrado que la sintaxis para mysqldump línea en un artículo.

Gracias de antemano por toda su ayuda!
  #2 (Enlace permanente)  
Old 06-02-2009
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderador ala Modo
  
 

Fecha: febrero 2007
Lugar: Innsbruck, Austria
Mensajes: 1.886
Si él va a poner en un cronjob, no puede asumir lo que la razón PWD (actual directorio de trabajo) serán, de manera que la línea:
Código:
sql_bDir="./sql_backups/" #LOCATION FOR SQL BACKUPS TO LAND
No tiene sentido. Usted necesita una ruta de acceso completa, o tal vez algo con el prefijo $ HOME.

En segundo lugar, la línea debe ser mysqldump:
Código:
mysqldump -u NAME -p PASS  DBASENAME
Finalmente, usted debe entender que la salida no es automáticamente comprimido. Hacerlo por separado, a través de una tubería
Código:
mysqldump -u NAME -p PASS  | gzip -c > $sql_bName.gz
Finalmente, usted podría ganar rendimiento por la memoria de salida a través de un programa llamado "dd". Esto permite mysqldump para realizar su trabajo durante un tiempo más largo antes de pasar a hacer la compresión.
Código:
mysqldump -u NAME -p PASS DBASENAME  | dd bs=1M | gzip -c > $sql_bName.gz
Para mi un vertedero, me aseguro de que el vertedero se hace en una "sola transacción" para garantizar que el vertedero es un estado recuperable. (es decir, las operaciones no tienen lugar en el vertedero). Asimismo, enviar la salida a una mayor compresión bzip2.
Código:
mysqldump -u NAME -p PASS --single-transaction DBASENAME | dd bs=1M | bzip2 -c >dumpfile
  #3 (Enlace permanente)  
Old 06-02-2009
jzacsh jzacsh is offline
Usuario Registrado
  
 

Fecha: abril 2009
Puestos: 29
Gracias por la respuesta!

Cita:
Publicado originalmente por otheus View Post
Si él va a poner en un cronjob, no puede asumir lo que la razón PWD (actual directorio de trabajo) serán, de manera que la línea:
Código:
sql_bDir="./sql_backups/" #LOCATION FOR SQL BACKUPS TO LAND
No tiene sentido. Usted necesita una ruta de acceso completa, o tal vez algo con el prefijo $ HOME.
buen punto, me doy cuenta de que, si bien y sólo tuve. / en el lugar como algo temporal como yo manual de pruebas (con el tipo más fácil para las pruebas)

Cita:
Publicado originalmente por otheus View Post
En segundo lugar, la línea debe ser mysqldump:
Código:
mysqldump -u NAME -p PASS  DBASENAME
Finalmente, usted debe entender que la salida no es automáticamente comprimido. Hacerlo por separado, a través de una tubería
Código:
mysqldump -u NAME -p PASS  | gzip -c > $sql_bName.gz
Gracias, yo no había podido leer lo que la opción de "aceptar" opción (se pasa un artículo en línea de la sugerencia de utilizar lo que dice no optar por compresión)
Esto es lo que encontré:
Cita:
o - optar

Esta opción es la abreviatura, es el mismo que se especifique
- add-gota de mesa - add-cerraduras - crear opciones - disable-keys
- extended-insertar - bloqueo de tablas - rápida - set-charset. Debe
darle una operación de volcado rápida y produce un archivo de volcado que puede ser
recargadas en un servidor MySQL rápidamente.

El - optar opción es permitido por predeterminado. Usar - skip-optar para desactivar
ello. Véase la discusión al principio de esta sección para
selectivamente información sobre la activación o desactivación de algunas de las
afectadas por las opciones - optar.
Si no sé lo que la mayoría de los ^ hacer (como no estoy familiarizado con MYSQL) sugeriría usted que acabo de palo con el simple código que establece? o que las opciones anteriores de "optar" no duele?

Cita:
Publicado originalmente por otheus View Post
Finalmente, usted podría ganar rendimiento por la memoria de salida a través de un programa llamado "dd". Esto permite mysqldump para realizar su trabajo durante un tiempo más largo antes de pasar a hacer la compresión.
Código:
mysqldump -u NAME -p PASS DBASENAME  | dd bs=1M | gzip -c > $sql_bName.gz
Esto es genial, gracias!
Cita:
Publicado originalmente por otheus View Post
Para mi un vertedero, me aseguro de que el vertedero se hace en una "sola transacción" para garantizar que el vertedero es un estado recuperable. (es decir, las operaciones no tienen lugar en el vertedero). Asimismo, enviar la salida a una mayor compresión bzip2.
Código:
mysqldump -u NAME -p PASS --single-transaction DBASENAME | dd bs=1M | bzip2 -c >dumpfile
Hay más de 8.100 artículos en nuestra cesta de la compra. después de leer el hombre yo lo veo, se sugiere usar "rápido" en relación con "una sola operación" para los grandes cuadros. ¿Qué es un "gran" mesa? 8.000 + artículos es considerado una gran mesa? Si utilizo "rápido" va a derrotar el propósito de ejecutar la opción bs \u003d 1M con dd?

Gracias por toda su ayuda!
  #4 (Enlace permanente)  
Old 06-02-2009
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderador ala Modo
  
 

Fecha: febrero 2007
Lugar: Innsbruck, Austria
Mensajes: 1.886
Usted no necesita utilizar - ya que la opción activada por defecto. 8000 elementos no es mucho. El "rápido" opción de no frustrar el propósito de usar bs \u003d 1M.
  #5 (Enlace permanente)  
Old 06-02-2009
jzacsh jzacsh is offline
Usuario Registrado
  
 

Fecha: abril 2009
Puestos: 29
Question

Cita:
Publicado originalmente por otheus View Post
Usted no necesita utilizar - ya que la opción activada por defecto. 8000 elementos no es mucho. El "rápido" opción de no frustrar el propósito de usar bs \u003d 1M.
Muchas gracias por tu ayuda. Estoy tratando de probar esto en mi sitio web de la base de datos de wordpress en primer lugar. por lo que he subido un archivo test.php para ejecutar el script de shell, así:

test.php
Código:
<?php

$output=shell_exec('sh /home/jzacsh/public_html/private/scripts/dbackup.sh');

echo "<pre>$output</pre>";

?>
el script de shell para ejecutar su conjunto es la siguiente:

Código:
#!/bin/sh

sql_bDir=./sql_pickup/

#START SQL BACKUP + TGZ 
echo " " #VISUAL PADDING
echo "# BEGINNING DATABASE BACKUP PORTION:" #VISUAL
    #MYSQL LANDING DIR. CHECK
    echo "Checking if sql backup landing directory exists: $sql_bDir"
    if test -d "$sql_bDir"
    then
        echo "Directory to receive database backup exists"
    else
        echo "Directory to receive database backup does not exist, creating it"
        mkdir $sql_bDir
    fi #ENDIF SQL DIR. CHECK

echo " " #VISUAL PADDING

# MYSQL BACKUP
sql_bName=SQLBackUp_$(date +%A).gz
sql_Path=$sql_bDir$sql_bName

echo "The Shopping Cart's database backup will be:" $sql_Path #NOTICE OF DATABASE BACKUP
echo "Note: If the main backup is backing up the root directory, you do not need to separately download the database backup."

mysqldump -u name -p wppass --single-transaction db123 | dd bs=1M | gzip -c > $sql_Path
entonces visita la test.php ^ a través de navegador y obtenemos esta salida:
Código:
 
# BEGINNING DATABASE BACKUP PORTION:
Checking if sql backup landing directory exists: ./sql_pickup/
Directory to receive database backup exists
 
The Shopping Cart's database backup will be: ./sql_pickup/SQLBackUp_Tuesday.gz
Note: If the main backup is backing up the root directory, you do not need to separately download the database backup.
Cuando descargue el archivo de su único 4KB, y unarchiving sobre el archivo, me parece un archivo KB Cero, que con "gato" a través de la terminal muestra que el archivo es, en efecto, en blanco.

Todas las ideas lo que podría estar haciendo mal?
  #6 (Enlace permanente)  
Old 06-02-2009
otheus's Avatar
otheus otheus is offline Forum Staff  
Moderador ala Modo
  
 

Fecha: febrero 2007
Lugar: Innsbruck, Austria
Mensajes: 1.886
1. cambio sql_bDir a $ PWD / sql_pickup / para que podamos ver dónde realmente a los productos.
2. para la prueba, apague la compresión y pase el comando dd ... salida directamente al archivo.
  #7 (Enlace permanente)  
Old 06-02-2009
jzacsh jzacsh is offline
Usuario Registrado
  
 

Fecha: abril 2009
Puestos: 29
Question

Cita:
Publicado originalmente por otheus View Post
1. cambio sql_bDir a $ PWD / sql_pickup / para que podamos ver dónde realmente a los productos.
2. para la prueba, apague la compresión y pase el comando dd ... salida directamente al archivo.
bien, hacer. no parecen hacer una diferencia (el archivo todavía sale 0 B, sin apenas)

test.php salida:
Código:
 
# BEGINNING DATABASE BACKUP PORTION:
Checking if sql backup landing directory exists: ./sql_pickup/
Directory to receive database backup exists
 
The Shopping Cart's database backup will be: ./sql_pickup/SQLBackUp_Tuesday
Note: If the main backup is backing up the root directory, you do not need to separately download the database backup.
fuente de dbackup.sh
Código:
#!/bin/sh

sql_bName=SQLBackUp_$(date +%A)
mysqldump -u jzacsh_jzacsh -p wordpres --single-transaction jzacsh_jzwp  > $PWD/sql_pickup/$sql_bName
realmente ... sólo en el anuncio de que ^ me di cuenta de que no han comprobado:
echo $ SHELL

... regresó
/ usr / local / cPanel / bin / noshell

Estoy adivinando que significa que no se puede ejecutar bien las cosas? (No estoy seguro, obviamente tenía un depósito para la salida de un archivo con todo ... y yo sólo no tuvo éxito en la salida de un archivo BUENA)
Reply

Marcadores

Etiquetas
copia de seguridad, mysql, php prueba

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 03:48 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0