Automatice su copia de seguridad de WordPress con shell simple Scripting y CRON

Automatice su copia de seguridad de WordPress con shell simple Scripting y CRON / Wordpress y desarrollo web

La última vez que hablamos sobre las copias de seguridad de WordPress, le mostré lo increíblemente fácil que era hacer una copia de seguridad de toda su base de datos y archivos a través de SSH Cómo hacer una copia de seguridad de su sitio web a través de la línea de comandos de SSH Cómo hacer una copia de seguridad de su sitio web a través de la línea de comandos de SSH sea ​​una tarea costosa y ardua, que requiera una variedad de complementos o planes adicionales de su proveedor de alojamiento, pero no tiene por qué serlo. Si tiene SSH ... Leer más con sólo unos pocos comandos. Esta vez, le mostraré cómo automatizar esos comandos, brindándole copias de seguridad de todo el sitio todas las semanas, con muy poco esfuerzo. Esto también servirá como una excelente introducción a los scripts de shell y CRON si nunca los ha tocado antes. La clave para aprender temas tan amplios es comenzar de inmediato con ellos para hacer algo útil para usted..

Resumen: copia de seguridad de todo

Cubrimos esto la última vez, pero un resumen rápido de los dos comandos necesarios para respaldar su base de datos y sus archivos, asumiendo que ya ha iniciado sesión y se ha trasladado al directorio del sitio web (lea el primer tutorial si no entiende). Asegúrese de hacerlos en este orden, para que su copia de seguridad de archivo incluya el archivo de base de datos que generó en el primer comando:

mysqldump --add-drop-table -u nombre de usuario -p databasename> databasebackup.sql tar -cf backupfile.tar .

Reemplace la nombre de usuario y nombre de la base de datos Elementos con su base de datos y detalles de nombre de usuario.

Automatización Paso Uno: Scripting

Por ahora, vamos a crear un nuevo script que simplemente ejecute los comandos que aprendió para la copia de seguridad, con algunas modificaciones para incluir la contraseña también (ya que se automatizará, no podrá escribir la contraseña cada vez). ). Cuando hayamos terminado, deberías quedarte con un solo comando para ejecutar que ejecutará dos comandos para ti!

También es hora de que también aprendas a editar archivos de texto a través de la línea de comandos, ya que no puedes confiar en FTP y GUI todo el tiempo. Puedes usar un editor simple basado en texto llamado vi para hacer esto.

Para iniciar la aplicación y crear su primer script, escriba:

vi mybackupscript.sh

Si el archivo no existe ya, se creará y se le mostrará una pantalla bastante desalentadora similar a esta:

vi tiene dos modos: edición y modo de comando. Para entrar en el modo de edición, presione i. Entonces puedes comenzar a escribir. Sabrás que funcionó, porque la esquina inferior izquierda se convertirá en -INSERT-

Comience escribiendo lo siguiente:

#! / bin / sh mysqldump --add-drop-table -unombre de usuario -pagcontraseña nombre de la tabla > dbbackup.sql tar -cf backup.tar .

Tenga en cuenta que esta vez, estamos incluyendo la contraseña en el comando. También tenga en cuenta que cuando usamos el modificador -p para especificar la contraseña, colocamos la contraseña inmediatamente después sin espacio entre ellos. Si prefieres, puedes escribir el comando así, pero funcionalmente no hay diferencia:

#! / bin / sh mysqldump --add-drop-table --user =nombre de usuario --contraseña =contraseña nombre de la tabla > dbbackup.sql tar -cf backup.tar .

Ahora tenemos que salvarlo. Presione ESC una vez para salir del modo de edición y entrar en el modo de comando del editor de texto. Tipo:

:escribir

y presiona enter, luego

:dejar

y entrar de nuevo.

Por lo tanto, a estas alturas ya habrá descubierto que cualquier comando que dé debe ir precedido por dos puntos. Eso es todo con vi por ahora.

De vuelta en la línea de comandos, siga adelante y haga que su nuevo script sea ejecutable escribiendo lo siguiente:

chmod 744 mybackupscript.sh

Y, finalmente, probarlo con:

./mybackupscript.sh

Obviamente, dependiendo del tamaño de su sitio y la velocidad de su servidor, puede tomar un tiempo. Al final, puede listar los archivos y debe encontrar un backup.tar. En mi servidor privado virtual me tomó cerca de 5 segundos crear la copia de seguridad del sitio de WordPress de 100MB.

Paso dos de la automatización: CRON

CRON es un programador de tareas para Linux. No lo cubriremos en profundidad aquí, pero le daré lo que necesita para ejecutar su script de copia de seguridad cada semana. También hemos cubierto cómo ejecutar trabajos CRON desde su panel de control de sitio web basado en GUI. Para agregar una tarea al programador CRON, simplemente agregue una línea a la “Crontab”. Edite esto escribiendo:

crontab -e

Esto abrirá el archivo CRON en su editor de texto, probablemente vi nuevamente. Si nunca ha agregado algo antes, también es probable que esté en blanco. Sin preocupaciones. Añade estas líneas:

00 4 * * 0 /httpdocs/mybackupscript.sh

El formato que sigue este comando es un poco difícil, pero es así:

minuto hora día del mes mes día de la semana

A * en el patrón ignora ese elemento. Entonces, en el ejemplo anterior, vamos a ejecutar nuestro script de copia de seguridad a los 00 minutos 4 horas, cada 0 (domingo) de la semana.

Aquí hay algunos otros ejemplos para ayudarlo a entender:

01 * * * * echo "Este comando se ejecuta un minuto después de cada hora" 17 8 * * * echo "Este comando se ejecuta diariamente a las 8:17 am" 17 20 * * * echo "Este comando se ejecuta diariamente a las 8 : 17 pm "00 4 * * 0 echo" Este comando se ejecuta a las 4 am todos los domingos "* 4 * * Sun echo" Así es este "42 4 1 * * echo" Este comando se ejecuta a las 4:42 am cada 1 de cada el mes "01 * 19 07 * echo" Este comando se ejecuta cada hora el 19 de julio "

Una vez que haya ingresado eso, guarde el archivo presionando ESC, luego escriba: write seguido de: quit. Una versión abreviada de esto es simplemente escribir: wq, que escribirá el archivo y se cerrará. Es práctico, pero si eres como yo, olvida estos pequeños atajos..

¡Eso es! Ahora tendrá una copia actualizada de su base de datos y de todo el sitio en la raíz, llamado backup.tar (o como quiera que lo nombre). Es posible que desee aprender un poco más sobre las secuencias de comandos para agregar la fecha al final del nombre de archivo y evitar sobrescribir el mismo cada vez, pero eso depende de usted para descubrirlo. Espero que puedan ver cuán poderosa es la línea de comando ahora!

Explore más sobre: ​​automatización de computadoras, respaldo de datos, programación, Wordpress.