Llevo unas semanas escribiendo programas para mi Raspberry Pi (ejecutando Raspbian) y me gustaría asegurarme de proteger el trabajo que he realizado.
¿Cómo puedo hacer una copia de seguridad de los archivos que he creado?
¿Puedo simplemente conectar la tarjeta SD a mi PC con Windows (XP o 7) y copiarla en el disco duro u otra tarjeta SD?
git
ohg
, de esa manera, no solo tiene copias de su código en varios lugares, sino que también tiene el historial completo de cómo ha cambiado ese código.Respuestas:
Si desea preservar todos los datos, probablemente tendrá que crear una imagen de disco. Además, Windows no puede reconocer los sistemas de archivos típicos de Linux, por lo que probablemente ni siquiera podrá ver sus archivos cuando conecte su tarjeta SD.
La creación de una imagen de disco preservará no solo los archivos sino también la estructura del sistema de archivos y cuando decida actualizar su nueva tarjeta SD, podrá conectarla y funcionará.
Linux
En Linux, puede usar la
dd
herramienta estándar :¿Dónde
/dev/sdx
está tu tarjeta SD?Mac
En Mac, también puede usar la
dd
herramienta estándar con una sintaxis ligeramente diferente:¿Dónde
/dev/rdiskx
está tu tarjeta SD?(usar rdisk es preferible ya que es el dispositivo sin formato, más rápido)
Para saber qué disco es su dispositivo, escriba
diskutil list
en el símbolo del sistema; también, es posible que deba ser root; para hacer este tiposudo -s
e ingrese su contraseña cuando se le solicite.Ventanas
Opción 1
En Windows, puede usar el proceso inverso que usó al flashear la tarjeta SD.
Puede usar Win32 Disk Imager , que es la herramienta preferida para flashear una tarjeta SD de Foundation. Simplemente ingrese el nombre del archivo (la ubicación y el nombre del archivo de imagen de respaldo que se guardará), seleccione el dispositivo (la tarjeta SD) y presione leer:
Por supuesto, también puede usar RawWrite ,
dd
para Windows o herramientas similares, el proceso es bastante similar.opcion 2
Si no desea hacer una copia de seguridad de todo su sistema, sino solo archivos específicos, le sugiero que se conecte a su Raspberry Pi a través de SFTP y copie los archivos a su computadora local (puede usar el cliente WinScp ). Si tiene SSH habilitado, SFTP generalmente no requiere una configuración especial en el lado de Raspberry Pi.
Otra opción es copiar los archivos a un sistema remoto usando rsync .
También puede instalar controladores especiales para que su Windows pueda leer los
ext
sistemas de archivos (y así podrá leer toda la tarjeta SD), por ejemplo,ext2fsd
pero probablemente no valga la pena el esfuerzo.Dado que la imagen tendrá el mismo tamaño que su tarjeta SD, es posible que desee comprimirla. Esto se puede lograr simplemente usando su herramienta de compresión favorita, como
gzip
7zip, WinZip, WinRar ...fuente
rsync
viassh
probablemente sería más fácil. Además, para el código fuente, como ya dijo Mark Booth , absolutamente debe usar un DVCSSi está ejecutando Linux, puede usar el
dd
comando para hacer una copia de seguridad completa de la imagen:o para la compresión:
¿Dónde
sdx
está tu tarjeta SD?Para restaurar la copia de seguridad, invierte los comandos:
o cuando está comprimido:
fuente
:)
)bs=1M
omitir el o algún parámetro similar. El tamaño de bloque predeterminado de 512 bytes eliminará el rendimiento de la copia.Además de esas copias de seguridad a nivel de bloque, existen dos enfoques comunes para tratar con las fuentes: archivarlo continuamente (1) o utilizar el sistema de control de revisión (2).
Vamos a utilizar la línea de comandos (cualquier terminal local o conexión SSH a una máquina Raspberry Pi), ¿verdad?
1. Archivo
2. RCS (Git por ejemplo)
fuente
En Mac no quieres usar
/dev/diskn
. En su/dev/rdiskn
lugar, debe usar , donde n es el número que usa el sistema operativo para identificar su tarjeta SD. Esto disminuye el tiempo requerido para copiar en una gran cantidad.Entonces, para el proceso de copia de seguridad óptimo en una Mac, recomendaría hacer lo siguiente:
Ejecute
diskutil list
y encuentre el disco correspondiente a la tarjeta SD de su Raspberry Pi:Claramente
/dev/disk1
es mi tarjeta SD de 8GB, el nombre de la partición de Linux también es una pista.Sin embargo, en lugar de usar
/dev/disk1
condd
, debe usar/dev/rdisk1
, así:Y para restaurarlo, simplemente cambie los parámetros
if
(archivo de entrada) yof
(archivo de salida):O, con
gzip
, para ahorrar una cantidad sustancial de espacio:Y, para copiar la imagen nuevamente en la SD:
Para obtener más información, consulte esta página wiki .
fuente
Puede ejecutar este comando desde su PC con Linux con mucho espacio:
Como requisito previo que tendrá que tener las claves generadas .ssh y el copiado
id_XXX.pub
a/root/.ssh/authorized_keys
.Es posible tener problemas con el sistema de archivos ya que es una copia de seguridad en vivo, pero si su Raspberry Pi no está realmente ocupada, generalmente estará bien.
Probablemente sea más rápido hacer la compresión en la PC de esta manera:
fuente
ssh root@raspberry dd if=/dev/mmcblk0 bs=1M | pv | gzip -c > img.gz
Si está utilizando Windows:
Descargar Win32 Disk Imager.
Cree la ruta del archivo que desea usar para guardar su imagen. (Yo uso C: \ RasPi_Bkp)
Ejecute Win32 Disk Imager
Busque el punto de ruta del archivo de respaldo y escriba un nombre de archivo.
Clic en Guardar
Asegúrese de que el dispositivo que se muestra en el menú desplegable a la derecha de la ruta del archivo sea el que desea respaldar.
Haga clic en "Leer"
Espere.
fuente
Si todos sus programas están en el ID de usuario pi, realmente no hay razón para hacer una copia de seguridad de todo el sistema de archivos, como se sugiere. lo que hago es hacer una copia de seguridad de la identificación única. Ejecuto el comando:
desde el directorio de inicio de pi, que crea el archivo pi.tgz, que contiene todos los archivos y directorios contenidos allí (excepto los archivos ocultos). Luego transfiero este archivo a otra computadora Linux, pero puedes enviarlo por correo electrónico o enviarlo por correo electrónico a algún lugar para guardarlo ... cualquier cosa que lo tenga en otra computadora.
Esto crea un archivo mucho más pequeño para su copia de seguridad.
¿Preocupado por todos los paquetes adicionales que ha instalado en el camino? Cree una secuencia de comandos que realice esas instalaciones nuevamente si necesita volver a crear su tarjeta SD y guárdela en el directorio de inicio de pi en alguna parte. (Tengo un directorio ~ / bin para tales cosas). Tenga todos los comandos que necesita para realizar las instalaciones para regresarlo a la posición en la que desea estar. Documenta sus cambios y le permite construir rápidamente una nueva tarjeta SD. Contendría comandos en forma de:
Comience con
para que su sistema también se actualice al nivel actual antes de comenzar a agregar sus paquetes.
Dado que esto estará en su archivo pi.tgz, lo tendrá cuando lo necesite.
fuente
Ejecuto Raspbian y uso dd y cron para hacer copias de seguridad automáticas de mi tarjeta SD en mi unidad USB externa.
Es una solución realmente simple. Funciona una vez a la semana a las 2 am los lunes por la mañana y crea una imagen de la tarjeta SD.
Escribí un script que apaga servicios como lighttpd y cron, para minimizar el riesgo de que la tarjeta SD se escriba en el medio de la copia de seguridad, luego llama a dd, antes de comenzar los servicios nuevamente cuando la copia de seguridad ha finalizado.
Puse el script y algunas instrucciones en mi blog, http://www.stuffaboutcode.com/2012/08/raspberry-pi-auto-backups.html
fuente
dd
crear unsd?
dispositivo con particiones montadas no parece seguro.Para Debian puedes usar dd y tar. Esto haría una copia completa de su tarjeta SD y requeriría un almacenamiento externo (a la tarjeta SD), probablemente una unidad de red o USB montada.
Con / dev / sdd es la ubicación de su tarjeta SD y
of
el nombre del archivo de salida.fuente
.tar.gz
archivo del archivo dd? ¿No sería mejor simplemente ejecutargzip
obzip2
en el archivo dd directamente?/dev/mmcblk0p1
y/dev/mmcblk0p2
la lista ...Afortunadamente, Raspberry Pi puede crear una copia de seguridad de sí mismo que es independiente del sistema operativo principal utilizado para acceder a Raspberry (Windows, Linux, Mac). dd, tar y rsync son herramientas diferentes para crear copias de seguridad en Linux. El Pi en ejecución puede crear todos estos tipos de copias de seguridad siempre que detenga todas las tareas ocupadas como mysql, smb, dlna, owncloud, seafile, apache y otros antes de crear la copia de seguridad. Hay una pregunta diferente donde el enfoque se explica con más detalle y una posible solución se explica aquí.
fuente
Si su Raspberry Pi está conectado a una red y desea copias de seguridad automáticas sobre la marcha, probablemente la forma más fácil es Bittorent Sync: instalación muy fácil y funcionamiento sin problemas y estable en Pi y muchas otras plataformas.
fuente
No más dd, sync, tar, ..., copiadora de tarjetas SD amigable para principiantes
La nueva versión de Raspbian llamada stretch tiene una aplicación amigable para principiantes llamada SD Card Copier. No necesita usar las herramientas de Linux como dd, etc. Incluso puede copiar tarjetas grandes en tarjetas pequeñas.
Cómo hacerlo
Comienza con el ícono del menú de la aplicación GUI RPi en la esquina superior izquierda, vaya a Accesorios y luego haga clic en Copiadora de tarjeta SD.
¡Todo lo que necesita hacer es un par de clics dentro de la GUI!
Después de hacer la tarjeta SD de respaldo, puede usar el Administrador de disco de Windows para leer la imagen de la tarjeta en un archivo de Windows y almacenarla en cualquier directorio de Windows. De esta manera, solo necesita una tarjeta SD física y almacenar muchas versiones de imágenes en la PC con Windows.
Por supuesto, puede usar la tarjeta de respaldo como copia de trabajo para reemplazar su tarjeta original, que ahora se convierte en su tarjeta maestra, y guardarla en un lugar seguro.
fuente
Mientras buscaba crear una imagen de mi tarjeta SD personalizada, encontré esta publicación. La mejor respuesta aquí discute la obtención de imágenes de la tarjeta SD, pero lo que estaba buscando requería reducir el sistema de archivos para que la imagen fuera lo más pequeña posible. Terminé creando mi propia herramienta para hacer esto y resumir el proceso en: https://raspberrypi.stackexchange.com/a/37899/32585
fuente
Aquí hay 3 opciones:
En la última versión de Raspbian, hay una herramienta que convierte su sistema operativo y sus archivos en un archivo .img que luego puede colocar en un USB o en su PC.
Conecte su tarjeta SD a una PC con Windows e inicie Win32 Disk Imager (instale aquí si aún no lo ha hecho).
En (1) escriba un nombre de archivo y ubicación para el archivo de imagen. En (2), seleccione la letra de unidad de su tarjeta SD. Luego presione 3. Esto hace lo mismo que la opción 1.
Conecte una memoria USB a su Pi y copie todos los archivos importantes.
fuente
Esta aplicación de Android leerá una tarjeta SD en un archivo .img y la comprimirá al mismo tiempo: https://play.google.com/store/apps/details?id=com.redrobe.raspicardimager
fuente
Creé una utilidad para hacer una copia de seguridad de tu raspberry pi si eres Linux. Esto también reducirá la imagen de su raspberry pi, por lo que puede colocar el .iso en una tarjeta SD más pequeña: RaspberryPiShrink
Esto ejecutará un script de Python que lo guiará a través del proceso. Simplemente conecte su tarjeta microSD en su computadora Ubuntu, Linux Mint o Debain, y siga las instrucciones de la terminal.
fuente
He estado usando usbit para Windows. Es la única herramienta que puedo encontrar que te permitirá cambiar de una tarjeta SD más grande a una más pequeña. Todo lo que hice fue marcar lo siguiente en la página de opciones; Ignorar las comprobaciones de tamaño y truncar las imágenes de gran tamaño .
Esto me permitió cambiar mis imágenes OpenELEC y Xbian de una tarjeta SD de clase 4 de 16 GB a una tarjeta de clase 10 de 8 GB.
Es MUCHO más fácil que cambiar el tamaño de las tablas de particiones, etc.
fuente
find -type f -exec md5sum {} \; > filelist.txt
?