Site is under maintenance mode. Please wait few min!
Saltar al contenido

Comprensión init en Go

marzo 4, 2020

 Espacios

Introducción

digitalocean pueden proporcionar una solución de almacenamiento de objetos para los datos de WordPress sitio. Estos datos son a menudo diversos, incluyendo los recursos multimedia y archivos de bases de datos, por lo que es un candidato bueno para el almacenamiento de objetos. Debido a soluciones como espacios pueden almacenar grandes cantidades de datos no estructurados, que pueden acomodar activos estáticas de su sitio. estáticas activos que almacenan por separado pueden optimizar el rendimiento del sitio liberando espacio y los recursos de los servidores. Si su sitio tiene elementos dinámicos – recursos con alta frecuencia de petición o archivos de bases de datos que necesitan modificaciones frecuentes – usted puede considerar el emparejamiento de una solución de almacenamiento bloque con su espacio digitalocean para almacenar de forma óptima sus datos. Para obtener más información objeto y el bloque de almacenamiento, echa un vistazo a nuestro tutorial sobre el almacenamiento de objetos frente a Block Servicios de Almacenamiento.

En este tutorial, vamos a utilizar los espacios para realizar copias de seguridad de datos de WordPress. Debido a la API de espacios digitalocean interoperable con la API de AWS S3, seremos capaces de utilizar S3-compatible plugins para gestionar nuestras copias de seguridad, así como S3cmd, una herramienta de cliente para trabajar con S3 y S3 objeto almacena-comptabile. Vamos a repasar varios métodos diferentes para la creación de copias de seguridad: el uso de un plugin de WordPress, la creación de copias de seguridad manuales utilizando S3cmd, y la automatización de copias de seguridad con S3cmd y un guión creado a tal efecto.

Requisitos previos

Este tutorial asume que tiene una instancia de WordPress en el servidor, así como un espacio digitalocean. Si no es así, se puede configurar el siguiente:

  • Una Ubuntu 16.04 servidor, creado a raíz de nuestra configuración inicial del servidor con Ubuntu 16.04 tutorial. pila
  • una lámpara, instalado en el servidor después de nuestro tutorial sobre cómo instalar Linux, Apache, MySQL, PHP (LAMP) pila en Ubuntu 16.04.
  • WordPress, instalado en el servidor después de nuestro tutorial sobre cómo instalar WordPress con lámpara en Ubuntu 16.04.
  • Un espacio digitalocean y clave de API, creados siguiendo cómo crear un espacio digitalocean y clave de API.

Con estos requisitos en su lugar, podemos empezar a ir a través de copias de seguridad de un sitio de WordPress a los espacios.

Modificación de WordPress Permisos

largo de este tutorial, vamos a trabajar con el wp-content / carpeta de archivos en nuestro proyecto de WordPress, por lo que es importante que esta carpeta existe y tiene los permisos correctos. Se pueden crear con el comando mkdir, usando la opción -p para crear la carpeta si no existe, y evitar tirar un error si lo hace:

sudo mkdir -p /var/www/html/wp-content/uploads

  • sudo mkdir -p / var / www / html / wp -contenido / uploads

ahora puede establecer permisos en la carpeta. En primer lugar, establecer su propiedad a su usuario (vamos a utilizar Sammy aquí, pero asegúrese de usar el usuario no root sudo), y el grupo al que pertenece al grupo www-data:

sudo chown -R sammy:www-data /var/www/html/wp-content/uploads

  • sudo chown -R Sammy: www-data / var / www / html / wp-content / uploads

a continuación, establezca los permisos que le darán el servidor web acceso de escritura a esta carpeta:

sudo chmod -R g+w /var/www/html/wp-content/uploads

  • sudo chmod -R g + w / var / www / html / wp-content / uploads

ahora vamos a ser capaces de utilizar plugins para crear copias de seguridad de los activos en la carpeta wp-content / uploads, y para colaborar con nuestros activos de la interfaz de WordPress.

el uso de plugins para crear copias de seguridad

Hay una gran variedad de plugins compatibles con S3 que se puede utilizar para copia de seguridad de su sitio de WordPress a su espacio. Un factor a tener en cuenta al evaluar los plugins es si o no desea hacer copia de seguridad de sus archivos de bases de datos, ya que algunos de estos recursos no ofrecen esa capacidad. Otro factor a tener en cuenta es si el plugin se tire de los recursos de otros plugins. Si está utilizando un gestor de documentos, por ejemplo, es posible que desee considerar si es o no su plugin de copia de seguridad capturará los archivos y recursos creados por el gestor de documentos dentro de la wp-content / carpeta de archivos.

la instalación de plugins con WP-CLI

Es posible trabajo con WP-CLI para administrar sus plugins de WordPress desde la línea de comandos. Vamos a instalarlo en esta sección y utilizarlo en la siguiente para demostrar cómo trabajar con plugins para realizar copias de seguridad de datos de WordPress a los espacios.

Para instalar WP-CLI, vamos a seguir los pasos sugeridos del proyecto. Ejecute el siguiente comando para descargar el binario a la carpeta tmp:

cd mp
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar

  • cd / tmp
  • rizo -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli .phar

Para que este archivo ejecutable y utilizable desde la línea de comandos, escriba lo siguiente:

chmod +x mp/wp-cli.phar

  • chmod + x mp/wp-cli.phar

Una vez que hemos hecho el archivo ejecutable, se puede cambiar el nombre y moverlo a un lugar en nuestro camino:

sudo mv mp/wp-cli.phar /usr/local/bin/wp

  • sudo mv mp/wp-cli.phar / usr / local / bin locales / wp

Si queremos comprobar que nuestra instalación se realizó correctamente, podemos ejecutar lo siguiente: wp

wp --info

  • –info

Esto nos dará información general acerca de la versión que estamos utilizando y su ruta.

Ahora podemos usar WP-CLI de instalar ningún plugin que queremos usar y gestionar otras tareas relacionadas con nuestro sitio de WordPress.

Instalación y configuración de copia de seguridad UpdraftPlus

Si está preocupado acerca de la copia de seguridad de archivos de base de datos, junto con otros activos de medios de comunicación, entonces es posible que desee utilizar un plugin que ofrece una opción de copia de seguridad de base de datos. UpdraftPlus ofertas de copia de seguridad compatible con un S3, versión libre de costo que permite copias de seguridad de bases de datos y los medios de comunicación, junto con la programación de copia de seguridad.

Para instalar UpdraftPlus, podemos navegar a nuestro directorio de WordPress plugin:

cd /var/www/html/wp-content/plugins

  • cd / var / www / html / wp-content / plugins

A partir de aquí, podemos instalar updraftplus usando el comando WP:

wp plugin install updraftplus

  • WP plugin instalamos updraftplus

para activar el plugin, podemos ejecutar:

wp plugin activate updraftplus

  • wp plugin de activar updraftplus

a partir de aquí, podemos navegar a la pestaña de plugins en el lado izquierdo de nuestro panel de control de administración de WordPress:

al seleccionar instalado plugins , vamos a llegar a una página que muestra los plugins instalados. Debemos ver UpdraftPlus – Backup / Restore en la lista de opciones disponibles:

Para configurar los ajustes para las copias de seguridad, vaya a la pestaña Ajustes en su panel de control administrativo y seleccione UpdraftPlus copias de seguridad de la lista de opciones disponibles. Habrá una pantalla de aterrizaje que tiene este aspecto:

Cubriremos cómo hacer una copia de seguridad básica del sitio con este plugin. En la pestaña Ajustes en la parte superior de la página, encontrará un menú que le permite programar copias de seguridad:

Si quisiera probar que las obras plugin, puede salir de este conjunto en Manual . Vamos a preservar este entorno por ahora a la prueba de que el plugin funciona correctamente.

Debajo de este menú, podrá ver diferentes opciones de almacenamiento remoto. Seleccionar S3-compatible (Genérico) :

Al seleccionar esta opción, se le presentará un menú que le pide su información espacial digitalocean:

Con base en la URL de tu espacio, podrás capaz de determinar su nombre de depósito y el punto final. Por ejemplo, si la URL de su espacio es https://example-name.nyc3.digitaloceanspaces.com, entonces ejemplo- nombre será su cubo, y nyc3.digitaloceanspaces.com será su punto final. La ubicación S3 será su nombre de depósito, y S3 punto final será su punto final.

Por debajo de este, se pueden encontrar opciones para los archivos para incluir y excluir de la copia de seguridad:

Una vez que haya completado estos ajustes para reflejar lo que le gustaría hacer copia de seguridad, puede navegar de nuevo al Estado actual pestaña . Al seleccionar copia de seguridad ahora de los botones disponibles en la parte superior de la pantalla, se le presentará con el siguiente menú:

Aquí, puede seleccionar si desea o no desea hacer copia de seguridad de su base de datos.

Una vez que haya seleccionado la opción de copia de seguridad Ahora en la parte inferior de este menú, los archivos de copia de seguridad debe llenar su cubo. Puede navegar a la página de los espacios en el panel de control digitalocean para comprobar que están ahí. Una vez que haya probado la funcionalidad del plugin, puede modificar la configuración de programación de copia de seguridad para que se adapte a sus necesidades.

Copia de seguridad de WordPress con S3cmd

Como una herramienta de línea de comandos para la gestión de datos en soluciones de almacenamiento de objetos, S3cmd ofrece una variedad de opciones para hacer copias de seguridad de sus datos de WordPress a los espacios. Se puede utilizar en los comandos aislados y en los scripts que automatizan el proceso de copia de seguridad.

Si aún no ha instalado s3cmd en su servidor, puede instalarlo siguiendo la sección “Instalar S3cmd” de este tutorial y configurarlo con su información Espacios siguiendo la sección “Configurar S3cmd”.

Ahora debería haber s3cmd instalado y configurado con la información de los espacios. Puede comprobar la configuración s3cmd escribiendo:

s3cmd --dump-config

  • s3cmd –dump-config

Debería ver una salida como la siguiente:

Output
[default]
access_key = Your_Spaces_Access_Key
access_token =
add_encoding_exts =
add_headers =
bucket_location = US
ca_certs_file =
cache_file =
check_ssl_certificate = True
check_ssl_hostname = True
cloudfront_host = cloudfront.amazonaws.com
default_mime_type = binary/octet-stream
delay_updates = False
delete_after = False
delete_after_fetch = False
delete_removed = False
dry_run = False
enable_multipart = True
encrypt = False

...

Una vez que hemos inspeccionado nuestra información de configuración s3cmd para asegurarse de que coincide con nuestras credenciales espacios que estará listo para su uso s3cmd hacer copias de seguridad en nuestro espacio. Vamos a hacerlo de forma manual en primer lugar, antes de pasar a crear un script que automatiza este trabajo.

Creación de copias de seguridad manuales de la wp-content / uploads carpeta

Para crear una copia de seguridad de nuestra wp-content / carpeta de archivos, vamos a utilizar un comando llamado sincronización s3cmd. Esto nos permitirá transferir sólo los archivos que aún no existen en nuestro espacio. Aunque esto puede no ser significativo para una transferencia por una sola vez, puede convertirse rápidamente en importante medida que se mueven más datos en el espacio. Vamos a utilizar sammys-cubo para nuestro cubo, y Sammys-copias de seguridad para designar una carpeta de copia de seguridad en nuestro espacio, pero se debe reemplazar estos con los nombres de su cubo y la carpeta de copia de seguridad (si es aplicable). Para asegurar que nuestros archivos se van a su destino, vamos a utilizar la opción de correr con –dry s3cmd, de la siguiente manera:

s3cmd sync --dry-run /var/www/html/wp-content/uploads s3://sammys-bucket/sammys-backups/

  • s3cmd sincronización –dry-run / var / www / html / wp-content / subidas s3: // sammys-cubo / Sammys-copias de seguridad /

Si la salida del comando indica que los datos llegarán a su destino, a continuación, puede seguir adelante y ejecutar el comando sin la opción –dry de gestión:

s3cmd sync /var/www/html/wp-content/uploads s3://sammys-bucket/sammys-backups/

  • s3cmd sincronización / var / www / html / wp-content / uploads s3: // sammys-cubo / Sammys-copias de seguridad /

Creación de copias de seguridad manuales de la base de datos MySQL

ahora podemos crear una copia de seguridad manual de nuestra base de datos MySQL. Esto sucederá en 4 partes. En primer lugar, podemos crear una carpeta en nuestro directorio principal para mantener nuestros archivos de base de datos:

mkdir ~/mysqldmp

  • mkdir ~ / mysqldmp

A continuación, vamos a crear un archivo para mantener nuestra base de datos de usuario y contraseña. Esto nos ayudará a evitar pasar esa información a la línea de comandos en el proceso de creación de copias de seguridad de nuestros archivos. Opciones específicas del usuario para MySQL se almacenan típicamente en ~ / .my.cnf, por lo que vamos a crear ese archivo en nuestro directorio personal. Tipo:

nano ~/.my.cnf

  • nano ~ / .my.cnf

Dentro del archivo, vamos a especificar el nombre de usuario y contraseña para nuestro cliente MySQL:


[client]
user=mysql_user
password=mysql_password

Guardar este archivo escribiendo CTRL + X seguido por Y.

para restringir los permisos de lectura y escritura al nuestro usuario, podemos escribir lo siguiente:

chmod 600 .my.cnf

  • chmod 600 .my.cnf

Ahora vamos a ser capaz de ejecutar el comando mysqldump para hacer una copia de nuestros archivos de bases de datos sin pasar contraseña información a la línea de comandos. Cuando corremos mysqldump, se buscará nuestro archivo .my.cnf como parte de su proceso para la lectura de las opciones por defecto. Para comprimir la salida de nuestra base de datos, también podemos utilizar gzip, de la siguiente manera:

mysqldump mysqldatabase_name | gzip > ~/mysqldmp/mysql_dump.sql.gz

  • mysqldatabase_name mysqldump | gzip > ~ / mysqldmp / mysql_dump.sql.gz

Por último, podemos utilizar s3cmd para enviar el archivo comprimido en nuestro espacio:

s3cmd sync mysqldmp/mysql_dump.sql.gz s3://sammys-bucket/sammys-backups/

  • s3cmd sincronización mysqldmp / mysql_dump.sql.gz s3: // sammys-cubo / Sammys-copias de seguridad /

ahora debería ver el archivo de base de datos comprimida en su espacio.

Automatización de WordPress Copias de seguridad con Cron

Automatización de las copias de seguridad se asegurará de que sus datos de WordPress sigue siendo accesible y recuperable. Aunque es posible crear copias de seguridad de forma manual, este es un proceso que consume tiempo que puede ser útil automatizado con el planificador de tareas cron. Para obtener más información acerca del uso de cron para programar tareas, echa un vistazo a nuestro tutorial sobre cómo programar tareas rutinarias con Cron y Anacron en un VPS.

Para crear un archivo de copia de seguridad para nuestro script, podemos usar el siguiente comando:

nano ~/wp-sync.sh

  • nano ~ / wp-sync.sh

Dentro del archivo vacío, primero escribir la siguiente para indicar que este script ser ejecutado por el intérprete de comandos:


#!/bin/bash

a continuación, vamos a declarar variables que especifican información acerca de qué archivos y bases de datos vamos a realizar copias de seguridad. Nuestros variables de base de datos y UPLOADS_DIR especificarán información acerca de la base de datos y la carpeta que vamos a realizar copias de seguridad. Vamos a declarar estas variables como matrices, lo que nos permite especificar más de un valor:

...
DATABASE=("mysqldatabase_name") # To add more than one database, separate values with spaces: ("database1" "database2")
UPLOADS_DIR=("/var/www/html/wp-content/uploads") # To add more than one directory, separate values with spaces: ("folder1" "folder2")

BACKUP_DIR=/home/sammy/mysqldmp

El variables BASE DE DATOS especifica el nombre de la base de datos de WordPress o bases de datos que va a realizar copias de seguridad mysqldump. UPLOADS_DIR apunta al directorio o directorios que son copias de seguridad. BACKUP_DIR le indica al guión donde mysqldump debe escribir el archivo de copia de seguridad.

A continuación, vamos a fijar nuestra información s3cmd, incluyendo nuestros espacios de cubo información. Esta información será un reflejo de la información depósito de S3 de nuestro fichero de configuración s3cmd. Cuando especificamos nuestra variable S3_CMD, incluiremos una ruta al binario s3cmd de cron. También incluiremos una variable de fecha, lo que nos permitirá crear marcas de tiempo para nuestros archivos de copia de seguridad:

...

DATE=$(date +%y%m%d-%H_%M_%S)

S3_CMD="/usr/local/bin/s3cmd"
S3_BUCKET=s3://sammys-bucket/sammys-backups/$DATE/

Aquí, hemos hecho la variable FECHA muy granular, para capturar el año (% a), el mes (% m), días (% d), horas (% H), minutos (% M), y segunda (% S) de nuestra copia de seguridad. Dependiendo de la frecuencia de su horario de copia de seguridad, puede modificar esto de una manera que le permitirá realizar un seguimiento de las copias de seguridad de manera útil. Nuestra variable S3_CMD apuntará al ejecutable s3cmd que nos permitirá ejecutar nuestras órdenes.

A continuación, vamos a incluir un conjunto de comandos que va a crear nuestro directorio mysqldmp, en el caso de que no exista ya, y eliminar todos los archivos de ese directorio en el curso del proceso de actualización:

...

mkdir -p $BACKUP_DIR
rm -rf "${BACKUP_DIR:?}/*"

Por último, vamos a crear para los bucles para ejecutar sincronización s3cmd para nuestros archivos de bases de datos. más vamos a utilizar mysqldump para crear un archivo de base de datos comprimida, pero vamos a añadir a ella la opción –defaults-extra-file, que dice mysqldump para leer .my.cnf además de los ficheros de opciones estándar. También vamos a iterar a través de nuestra gama de bases de datos, la promulgación de la misma serie de acciones en cada base de datos:

...

for DB in "${DATABASE[@]}"
do
mysqldump --defaults-extra-file=/home/sammy/.my.cnf "$DB" | gzip > "$BACKUP_DIR/mysql_dump.sql.gz"
$S3_CMD sync "$BACKUP_DIR/mysql_dump.sql.gz" "$S3_BUCKET"
done

El mysqldump y los comandos de sincronización s3cmd hacer el mismo trabajo como lo hicieron en la sección anterior. Sin embargo, como hemos añadido la marca de tiempo de la variable de fecha en nuestro cubo, nuestros archivos se crean en nuestro espacio de una manera que nos permite seguir fácilmente cuando fueron creados.

A continuación, vamos a crear un bucle de nuestro directorio. Una vez más, vamos a iterar a través de la matriz UPLOADS_DIR de promulgar las mismas acciones en cada directorio:

...

for DIR in "${UPLOADS_DIR[@]}"
do
$S3_CMD sync "$DIR" "$S3_BUCKET"
done

Una vez más, el comando s3cmd sincronización es idéntico al comando que usamos para hacer una copia de seguridad manual de este directorio. La diferencia es la marca de tiempo que consigue pegada en este material en nuestro espacio.

La secuencia de comandos en su totalidad se verá así:

#!/bin/bash

DATABASE=("mysqldatabase_name") # To add more than one database, separate values with spaces: ("database1" "database2")
UPLOADS_DIR=("/var/www/html/wp-content/uploads") # To add more than one directory, separate values with spaces: ("folder1" "folder2")

BACKUP_DIR=/home/sammy/mysqldmp

DATE=$(date +%y%m%d-%H_%M_%S)

S3_CMD="/usr/local/bin/s3cmd"
S3_BUCKET=s3://sammys-bucket/sammys-backups/$DATE/

mkdir -p $BACKUP_DIR
rm -rf "${BACKUP_DIR:?}/*"

for DB in "${DATABASE[@]}"
do
mysqldump --defaults-extra-file=/home/sammy/.my.cnf "$DB" | gzip > "$BACKUP_DIR/mysql_dump.sql.gz"
$S3_CMD sync "$BACKUP_DIR/mysql_dump.sql.gz" "$S3_BUCKET"
done

for DIR in "${UPLOADS_DIR[@]}"
do
$S3_CMD sync "$DIR" "$S3_BUCKET"
done

Ahora podemos hacer nuestra wp-sync.sh script ejecutable:

chmod +x ~/wp-sync.sh

  • chmod + x ~ / wp-sync.sh

Para probarlo, podemos ejecute:

sudo ~/wp-sync.sh

  • sudo ~ / wp-sync.sh

Navegar hasta su espacio, y asegúrese de que los archivos copiados según lo previsto. Una vez que haya comprobado esto, se puede editar el archivo crontab para ejecutar la secuencia de comandos en un intervalo deseado.

abierto por el archivo crontab escribiendo:

crontab -e

  • crontab -e

Si esta es la primera vez que la edición de este archivo, se le pedirá que elija un editor:

no crontab for root - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin
ano <---- easiest 3. /usr/bin/vim.basic 4. /usr/bin/vim.tiny Choose 1-4 [2]: ...

Puede seleccionar 2 para nano o introducir el número correspondiente al editor de su elección.

En la parte inferior del archivo, vamos a añadir una línea para especificar la frecuencia nuestro script se debe ejecutar. Para probar la funcionalidad de nuestro script, podemos establecer nuestra intervalo de tiempo de dos minutos de la siguiente manera:

...

*/2 * * * * /home/sammy/wp-sync.sh

Después de dos minutos, debería ver un depósito con fecha y hora de los archivos en su espacio. Ahora puede modificar el archivo crontab para especificar el intervalo de tiempo que desea utilizar para sus copias de seguridad.

Conclusión

hemos cubierto varias maneras en que puede copia de seguridad de sus datos de WordPress para el servicio de almacenamiento de espacios de objetos de digitalocean.

Para obtener más información acerca de trabajar con s3cmd y espacios, echa un vistazo a nuestra guía para configurar s3cmd 2x para gestionar los espacios digitalocean y nuestro tutorial sobre la gestión de los espacios digitalocean con s3cmd. También puede consultar nuestros tutoriales sobre cómo automatizar las copias de seguridad con espacios digitalocean y cómo a la reserva sus espacios de Git repositorio Para digitalocean para más ejemplos de scripts de automatización y opciones de copia de seguridad. Por último, para obtener más información sobre cómo optimizar la forma en que utiliza los espacios, echa un vistazo a las mejores prácticas para el funcionamiento de Espacios digitalocean.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *