Copia de seguridad local con Raspberry
Publicado: 18 Nov 2016, 19:16
¡Buenas a todos! Justo acabo de terminar de realizar un proyecto que automatiza una copia de seguridad de archivos importantes.
Personalmente, a mí me gusta instalar, desinstalar y/o modificar programas, funciones y sistemas operativos en mi ordenador, por lo que siempre que me ponía manos a la obra (sin realizar un punto de restauración o una copia de seguridad en una unidad flash previamente), corría el riesgo de perder mis archivos importantes de trabajo o de investigaciones personales. Por lo que se me ocurrió llevar a cabo un sistema de compresión y envío de ficheros desde mi PC hasta una raspberry pi.
1. Requisitos previos.
Para poder realizar este proyecto, necesitamos:
- Raspberry pi (no importa el modelo o la versión).
- Memoria USB o HDD.
Se requiere poco material, porque la mayor parte de este proyecto es software
Sin embargo, necesitamos que la raspberry tenga:
- SSH
- FTP
- IP estática (Fundamental para los dos programas anteriores).
- Un sistema operativo. En mi caso usé OSMC, pero puedes usar el que quieras.
En nuestro PC, los requisitos cambian en función al sistema operativo instalado:
- En Linux es donde es más sencillo implementarlo, ya que es más manipulable.
- En Windows cuesta un poco más de trabajo, pero lo explico paso por paso, ya que lo configuré con este SO.
- En macOS no lo he podido desarrollar.
2. Vamos al lío.
Voy a comenzar con la configuración para un PC con WINDOWS:
1- Abrimos un bloc de notas en Windows.
2- Dentro de este bloc de notas, vamos a configurar un conjunto de líneas de comando que cree nuestro archivo comprimido. Para ello, debemos implementar el siguiente script:
guardáis el bloc de notas y le modificáis la extensión .txt por .bat, y ya tenéis vuestro archivo por lotes.
En mi caso, mi script borra la copia de seguridad anteriormente almacenada una vez que se ha creado la nueva, y le pone el mismo nombre que tenia la anterior. Si queréis ir haciendo historial de copias de seguridad os dejo este enlace para implementar bucles for en archivos .bat: http://profesoremiliobarco.blogspot.com ... s-bat.html
NOTA: debéis comprobar que vuestro símbolo del sistema os lee el comando RAR. Si os dice que no se reconoce el comando, os descargáis la aplicación winRAR, y una vez instalado, accedéis al disco duro>archivos de programas>WinRAR y copiáis el programa rar.exe, para pegarlo en la carpeta del disco duro>Windows>system32. Ejecutáis otra vez símbolo del sistema como administrador esta vez y volvéis a probar el comando, que debería funcionar ya.
3- Este paso es ya a gusto vuestro. Yo configuré Windows de manera que ejecutase el script al iniciar Windows. Si queréis podeis implementarlo también al iniciar sesión o al apagar equipo, o simplemente ejecutarlo cuando le déis click.
Debéis abrir el símbolo del sistema como administrador, y ejecutáis el siguiente comando: gpedit.msc.
Al ejecutarlo, se os abrirá una ventana como la siguiente:
Prácticamente, la configuración de equipo como de usuario es igual, sólo que la configuración del equipo inicia el script desde su arranque, y la configuración de usuario inicia el script desde su inicio de sesión.
Clicamos donde queremos que se inicie automáticamente nuestro script y nos aparecerá una ventana como esta:
Le damos a agregar, y nos pedirá el nombre del script, que lo buscamos en los directorios clicando en examinar…, y en parámetros del script añades un nombre cualquiera.
Y listo! ¡Ya tenemos configurado nuestro zip automático!
4- Ahora debemos configurar Windows para que trabaje con FTP. Para ello podemos seguir este tutorial donde se explica cómo configurarlo correctamente: http://www.ajpdsoft.com/modules.php?nam ... le&sid=461
5- Lo siguiente será crear otro .bat nuevo que llame a la raspberry e inicie la transferencia de archivos:
6- Puedes colocar el script al arranque como en el paso 3 .
comenzar con la configuración para un PC con LINUX:
es más fácil que con Windows si sabes manejar Linux! Pasemos a describir los pasos:
1- Abrimos gedit.
2- Dentro de este bloc de notas, vamos a configurar un conjunto de líneas de comando que cree nuestro archivo comprimido. Para ello, debemos implementar el siguiente script:
En mi caso, mi script borra la copia de seguridad anteriormente almacenada una vez que se ha creado la nueva, y le pone el mismo nombre que tenía la anterior. Si queréis ir haciendo historial de copias de seguridad os dejo este enlace para implementar bucles for en scripts: http://ovtoaster.com/shell-scripts-en-l ... -y-bucles/
Ahora guardamos el script con el nombre que sea, como por ejemplo “script.sh”. Debemos de meternos en terminal y darle permisos:
y listo! Ya tenemos nuestro script creado! Para ejecutarlo debemos irnos al terminal, acceder al directorio donde se encuentra e introducir por línea de comando: ./script
3- Este paso es ya a gusto vuestro. Se puede configurar para que se inicie el script al arrancar el ordenador. Para ello, debemos seguir los siguientes pasos:
estas líneas de comandos copian el script a la carpeta init.d, que es donde se inicializan los servicios de Linux. Si en un futuro lo queremos desinstalar, basta con escribir en la terminal:
y si lo queremos eliminar por completo, escribimos
4- Debemos instalar FTP en Linux. Para ello escribimos en línea de comandos:
5- Una vez instalado FTP, pasamos a crear un nuevo script con el que hacer un ping a la raspberry a ver si está conectada en nuestra red:
6- Puedes colocar el script al arranque como en el paso 3 .
configuración de la raspberry para el servicio de envío de datos.
Una vez que nuestro PC ya comprime nuestra información deseada, pasamos a configurar nuestra raspberry. Esta debe estar conectada a internet para poder usar este sistema de almacenamiento.
1- Debemos acceder a nuestra raspberry por SSH. Podemos usar PuTTY desde Windows, o la terminal desde Linux.
2- Una vez que accedemos a nuestra raspberry debemos de instalar FTP en ella, para ello introducimos:
3- Ahora pasamos a formatear la unidad externa donde vamos a almacenar los datos. Lo vamos a hacer en formato Ext4, ya que aprovecha mejor el espacio que con FAT32 predeterminado de Windows, aunque es exclusivo de Linux. Para ello podemos seguir este tutorial: https://raspberryparatorpes.net/proyect ... -casero-1/
¡Y hasta aquí el tutorial! Espero que lo disfrutéis y me comentéis posibles problemas ;)un saludo.
Personalmente, a mí me gusta instalar, desinstalar y/o modificar programas, funciones y sistemas operativos en mi ordenador, por lo que siempre que me ponía manos a la obra (sin realizar un punto de restauración o una copia de seguridad en una unidad flash previamente), corría el riesgo de perder mis archivos importantes de trabajo o de investigaciones personales. Por lo que se me ocurrió llevar a cabo un sistema de compresión y envío de ficheros desde mi PC hasta una raspberry pi.
1. Requisitos previos.
Para poder realizar este proyecto, necesitamos:
- Raspberry pi (no importa el modelo o la versión).
- Memoria USB o HDD.
Se requiere poco material, porque la mayor parte de este proyecto es software

Sin embargo, necesitamos que la raspberry tenga:
- SSH
- FTP
- IP estática (Fundamental para los dos programas anteriores).
- Un sistema operativo. En mi caso usé OSMC, pero puedes usar el que quieras.
En nuestro PC, los requisitos cambian en función al sistema operativo instalado:
- En Linux es donde es más sencillo implementarlo, ya que es más manipulable.
- En Windows cuesta un poco más de trabajo, pero lo explico paso por paso, ya que lo configuré con este SO.
- En macOS no lo he podido desarrollar.
2. Vamos al lío.
Voy a comenzar con la configuración para un PC con WINDOWS:
1- Abrimos un bloc de notas en Windows.
2- Dentro de este bloc de notas, vamos a configurar un conjunto de líneas de comando que cree nuestro archivo comprimido. Para ello, debemos implementar el siguiente script:
Código: Seleccionar todo
echo @off
RAR a -r "C:\directorio donde queremos almacenar\creando nuestro zip.zip" "C:\directorio donde se encuentra el archivo a comprimir\Universidad"
del "C:\directorio donde se encuentra almacenado el antiguo zip\nuestro zip.zip"
rename "C:\directorio donde queremos almacenar\creando nuestro zip.zip" nuestro zip.zip
exit
En mi caso, mi script borra la copia de seguridad anteriormente almacenada una vez que se ha creado la nueva, y le pone el mismo nombre que tenia la anterior. Si queréis ir haciendo historial de copias de seguridad os dejo este enlace para implementar bucles for en archivos .bat: http://profesoremiliobarco.blogspot.com ... s-bat.html
NOTA: debéis comprobar que vuestro símbolo del sistema os lee el comando RAR. Si os dice que no se reconoce el comando, os descargáis la aplicación winRAR, y una vez instalado, accedéis al disco duro>archivos de programas>WinRAR y copiáis el programa rar.exe, para pegarlo en la carpeta del disco duro>Windows>system32. Ejecutáis otra vez símbolo del sistema como administrador esta vez y volvéis a probar el comando, que debería funcionar ya.
3- Este paso es ya a gusto vuestro. Yo configuré Windows de manera que ejecutase el script al iniciar Windows. Si queréis podeis implementarlo también al iniciar sesión o al apagar equipo, o simplemente ejecutarlo cuando le déis click.
Debéis abrir el símbolo del sistema como administrador, y ejecutáis el siguiente comando: gpedit.msc.
Al ejecutarlo, se os abrirá una ventana como la siguiente:
Prácticamente, la configuración de equipo como de usuario es igual, sólo que la configuración del equipo inicia el script desde su arranque, y la configuración de usuario inicia el script desde su inicio de sesión.
Clicamos donde queremos que se inicie automáticamente nuestro script y nos aparecerá una ventana como esta:
Le damos a agregar, y nos pedirá el nombre del script, que lo buscamos en los directorios clicando en examinar…, y en parámetros del script añades un nombre cualquiera.
Y listo! ¡Ya tenemos configurado nuestro zip automático!
4- Ahora debemos configurar Windows para que trabaje con FTP. Para ello podemos seguir este tutorial donde se explica cómo configurarlo correctamente: http://www.ajpdsoft.com/modules.php?nam ... le&sid=461
5- Lo siguiente será crear otro .bat nuevo que llame a la raspberry e inicie la transferencia de archivos:
Código: Seleccionar todo
REM Generamos el script. Sobreescribirá cualquier temp.txt
echo open IPraspberry>>temp.txt
echo usuario>> temp.txt
echo contraseña>> temp.txt
echo cd directorio_donde_tienes_el_usb>> temp.txt
echo delete antiguo_archivo.zip>> temp.txt
echo rename archivo.zip antiguo_archivo.zip
echo put archivo.zip>> temp.txt
echo bye>> temp.txt
REM abrimos FTP and con el script
ftp -s:temp.txt
REM eliminamos archivo temporal
del temp.txt
comenzar con la configuración para un PC con LINUX:
es más fácil que con Windows si sabes manejar Linux! Pasemos a describir los pasos:
1- Abrimos gedit.
2- Dentro de este bloc de notas, vamos a configurar un conjunto de líneas de comando que cree nuestro archivo comprimido. Para ello, debemos implementar el siguiente script:
Código: Seleccionar todo
#!/bin/bash
cd directorio_donde_almacenamos_el_zip
zip nuevo_archivo.zip carpeta
rm archivo.zip
mv nuevo_archivo.zip archivo.zip
exit
Ahora guardamos el script con el nombre que sea, como por ejemplo “script.sh”. Debemos de meternos en terminal y darle permisos:
Código: Seleccionar todo
cd directorio_donde_almacenamos_el_script
sudo chmod -x script.sh
3- Este paso es ya a gusto vuestro. Se puede configurar para que se inicie el script al arrancar el ordenador. Para ello, debemos seguir los siguientes pasos:
Código: Seleccionar todo
sudo cp script.sh /etc/init.d/
sudo chmod +x /etc/init.d/script.sh
sudo update-rc.d script.sh defaults
Código: Seleccionar todo
sudo update-rc.d -f script.sh remove
Código: Seleccionar todo
sudo rm /etc/init.d/script.sh
Código: Seleccionar todo
sudo apt-get install ftp
sudo apt-get upgrade
Código: Seleccionar todo
#!/bin/bash
HOST='IPraspberrypi’
USER=’usuario’
PASSWD='contraseña'
FILE='archivo.zip'
if ping -c 1 $HOST &> /dev/null<<END_SCRIPT
then
ftp -n $HOST
quote USER $USER
quote PASS $PASSWD
cd directorio_donde_tienes_el_zip
delete antiguo_archivo.zip
rename archivo.zip antiguo_archivo.zip
binary
put $FILE
quit
fi
END_SCRIPT
Exit
configuración de la raspberry para el servicio de envío de datos.
Una vez que nuestro PC ya comprime nuestra información deseada, pasamos a configurar nuestra raspberry. Esta debe estar conectada a internet para poder usar este sistema de almacenamiento.
1- Debemos acceder a nuestra raspberry por SSH. Podemos usar PuTTY desde Windows, o la terminal desde Linux.
2- Una vez que accedemos a nuestra raspberry debemos de instalar FTP en ella, para ello introducimos:
Código: Seleccionar todo
sudo apt-get install ftp
sudo apt-get update
¡Y hasta aquí el tutorial! Espero que lo disfrutéis y me comentéis posibles problemas ;)un saludo.