Backups en Nextcloud
2017-09-05
Índice
Antes de actualizar Nextcloud es importante realizar una copia de seguridad de la base de datos y los ficheros.
Vamos a ver como, con dos simples instrucciones podemos crear y posteriormente automatizar, los backups de nuestra nube privada.
Copia de ficheros y carpetas
Empezamos haciendo una copia de los ficheros y carpetas
sudo rsync -Aax -progress /var/www/nextcloud/ nextcloud-dirbkp_`date +"%Y%m%d"`/
Donde nextcloud-dirbkp es el la carpeta donde se creará la copia.
Copia Base de datos
Y ahora realizamos el backup de la base de daos, el ejemplo es sólo para bases de datos mysql/mariadb, si instalaste Nextcloud con otro gestor de base de datos este mótodo no te funcionará.
mysqldump --single-transaction -h [server] -u [username] -p[password] [nombre_db] > nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
Donde: - server es la dirección ip del servidor donde está funcionando mysql - username es el nombre de usuario con privilegios de administración de la base de datos, si leíste mis anteriores artículos sobre nextcloud, verás que el usuario creado se llamaba nextcloud - password es la conraseña del usuario anterior - nombrebd es el nombre de la base de datos de nextcloud, yo la llamó tambión nextcloud
Yo lo tengo así:
/usr/bin/mysqldump --single-transaction -h localhost -u nextcloud -p'contraseña' nextcloud > /media/Nas01/Backups/RPi/nextcloud/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
Automatizar copia de seguridad
Creamos un fichero llamado backup.sh y ponemos en su interior, los dos comandos anteriores, debes de cambiar ruta por el path o carpeta donde quieres dejar la copia de seguridad :
#!/bin/sh
/usr/bin/sudo /usr/bin/rsync -Aax -progress /var/www/nextcloud/ /ruta/nextcloud-dirbkp_`date +"%Y%m%d"`
/usr/bin/sudo /usr/bin/mysqldump --single-transaction -h [server] -u [username] -p[password] [db_name] > /ruta/nextcloud-sqlbkp_`date +"%Y%m%d"`.bak
Le damos permisos de ejecución:
chmod 700 backup.sh
Probamos que el script funciona
~/nextcloud/backup.sh
ls -l /ruta/
total 20760
drwxr-x--- 15 pi www-data 4096 jul 22 13:44 nextcloud-dirbkp_20170725
-rw-r--r-- 1 pi pi 21250215 jul 25 18:56 nextcloud-sqlbkp_20170725.bak
Si todo ha ido bien editamos crontab para añadir el fichero y programar su ejecución
crontab -e
Y copiamos el siguiente código:
0 2 * * * ~/nextcloud/backup.sh >/dev/null 2>&1
Esto hará que se ejecute el fichero todos los días a las 2 de la mañana
Para guardar el fichero pulsamos CTRL+x pra guardar los cambios y sali Espero que te haya gustado, pasa un buen día. 🐧