El que farem perquè fer un back up del nostre WP en una màquina virtual sigui més fàcil i ràpid farem un script el qual executi automàticament les comandés una darrera de l'altre, això farà que el procés sigui quasi automàtic, i molt més ràpid.
V1 Pseudocodi
# Psuedocodi
# v1
# Revisar que existen los ficheros copiados en el directorio “/home/vagrant/”
# Descomprime el archivo "20250402-agarcia" de la MV
# Crea el directorio "/var/www/html/agarcia"
# Copia el contenido del directorio "20250402-agarcia" dentro del directorio “/var/www/html/agarcia
# Revisar si los archivos se han copiado bien dentro de la carpeta
# Cambia el propietario del directorio que has creado y todo su contenido con el usuario "www-data"
# Copia el archivo "$NOM.conf" dentro del directorio /etc/nginx/sites-available/" con el mismo nombre
# Crea un enlace simbólico del archivo que acabas de copiar en "/etc/nginx/sites-enabled/" con el mismo nombre
# Ejecuta los mandatos del archivo "$NOM.sql" dentro del servidor de BBDD
# Restaurar el archivo "20250317-$NOM.sql" dentro de la BBDD que has creado
# Reiniciar el servidor web "nginx"
# Mirar el estado del servicio de nginx
Codi final
#!/bin/bash
TIME=$1
USERNAME=$2
FILE1=$TIME-$USERNAME.tar.gz
DOCROOT=/var/www/html/$USERNAME
FILE2=$TIME-$USERNAME
DIRHOME=/home/vagrant
# 1. Comprovar que el fitxer existeix
if [ -e $FILE1 ]
then
tar xzf $FILE1
echo "S'ha descomprimit el fitxer $FILE1 amb exit"
else
echo "El fitxer $FILE1 no existeix"
exit 1
fi
# 2. Cramos, copiamos los datos del WP, y le damos permisos a esta carpeta
mkdir $DOCROOT
cp -r $DIRHOME/$FILE2/* $DOCROOT
chown -R www-data $DOCROOT
# 3. Copiamos el archivo de configuracion de Nginx, y creamos un enlace
cp $DIRHOME/nginx/$USERNAME.conf /etc/nginx/sites-available/
ln -s /etc/nginx/sites-available/$USERNAME.conf /etc/nginx/sites-enabled/
# 3. Creamos base de datos y la remplazamos con la que tenemos
mysql -u root < mariadb/$USERNAME.sql
mysql -u root $USERNAME < /home/vagrant/$TIME-$USERNAME.sql
# 4. Reiniciamos servicio Nginx
systemctl restart nginx.service