Backup Klipper
Siempre es aconsejable disponer de una copia de seguridad de nuestro sistema o ficheros de configuración para, en caso de desastre, poder restaurarlo rápidamente.
Última actualización
¿Te fue útil?
Siempre es aconsejable disponer de una copia de seguridad de nuestro sistema o ficheros de configuración para, en caso de desastre, poder restaurarlo rápidamente.
Última actualización
¿Te fue útil?
Algo muy aconsejable es disponer de un backup de los ficheros de configuración de nuestra impresora, os vamos a enseñar la forma en que nosotros lo hacemos para tener un backup que nos pueda salvar en caso de un desastre con nuestra SD teniendo siempre disponibles.
Os vamos a sugerir dos formas diferentes que pueden ser complementarias:
Copia/imagen de nuestra SD que nos permita recuperar exactamente nuestra instalación de Klipper, suele ser un proceso aconsejable cuando hagamos una actualización importante en nuestros componentes de Klipper.
Copia con gestión de versiones en de nuestros ficheros de configuración, en este caso solamente realizamos una copia de los ficheros críticos pero, por otro lado, el proceso será tan sencillo como lanzar una macro además de disponer de este backup online y con gestión de cambios.
Tal como os adelantábamos podemos hacer un respaldo completo de nuestra SD ya sea creando una imagen o clonando directamente en otra SD.
Dado que suele ser el sistema operativo más extendido, empezaremos por Windows. En este caso vamos a utilizar una herramienta llamada que nos va a facilitar el proceso:
Apagaremos de forma correcta nuestro host Klipper, esto lo podremos hacer directamente desde nuestra UI o desde SSH.
Ahora tan solo tendremos que pulsar sobre el botón Read
Si usamos MacOS como nuestro sistema operativo podremos realizar directamente el proceso de backup sin necesitad de instalar otras herramientas.
Insertaremos nuestra SD en nuestro Mac
Abriremos la utilidad Disk Utility, ya sea usando el Launchpad... buscando dentro de Applications desde el finder... o usando la tecla CMD+SPACE para usar Spotlight
Desde el menú File elegiremos la opción de crear New Image y seleccionaremos From... nuestra unidad SD. A continuación en la siguiente imagen tenéis los pasos numerados
Seleccionaremos la ubicación y nombre de nuestro backup asegurándonos que no marquemos la imagen como encriptada y pulsaremos Save. Es imporatante aceptar cualquier aviso de seguridad de acceso para que se realice el proceso.
Podemos hacer el proceso directamente desde nuestra Raspberry haciendolo sobre un pendrive USB.
Insertaremos nuestro pendrive USB en nuestro host Klipper Raspberry y, conectando por SSH, lanzaremos el comando df -h para identificar el punto de montaje de nuestro pendrive.
Para simplificar el proceso vamos a usar un script del compañero Jinx para realizar y automatizar el proceso. Este script básicamente utiliza la utilidad rsync para crear una imagen. Comenzaremos por instalarlo:
Ahora ya podremos lanzar nuestro backup lanzando el siguiente comando donde indicaremos la ruta y nombre de la imagen... en nuestro caso /media/pi/MYBACKUPDRIVE/klipper_backup.:
Podemos automatizar el backup abriremos el fichero de configuración de la utilidad Crontab:
Presionaremos CTRL+X y después Y y ENTER para guardar los cambios
Puede ser muy interesante mejorar el proceso realizando una compresión de la imagen que reduzca significativamente el espacio y facilitar la transferencia a otra SD o incluso usar una de menor tamaño:
Para ello os aconsejamos utilizar la utilidad PiShrink, del compañero Drewsif, la cual nos va a permitir comprimir la imagen.
Una vez ya la tenemos instalada y creada nuestra imagen con el sistema anterior realizaremos un post-procesado de esta con PiShrink. PiShrink revisará y comprimirá la imagen reduciendo, si es posible, su tamaño.
Seleccionaremos Use Custom como OS
Seleccionamos nuestra imagen y la SD card nueva
Pulsaremos sobre el botón Write y esperaremos a que finalice el proceso
Otra forma más rápida y enfocada a tener un historial y backup externo de nuestros ficheros de configuración es, mediante una macro Shell, efectuar este backup en GitHub. Para nosotros el método, que complementario con el anterior, más usamos antes de aplicar ciertos cambios en nuestra configuración.
haremos login en nuestra cuenta Github
crearemos un repositorio para el backup de nuestra impresora haciendo click en el botón de New
ajustaremos los detalles de nuestro repositorio:
En nuestro caso lo llamaremos voron0_klipper_3dwork que usaremos para guardar la configuración de nuestro directorio ~/printer_data/config
Seleccionaremos el tipo de repositorio entre Public o Private, va a vuestra elección si queréis que sea accesible o no
La autenticación que vamos a usar en nuestros scripts de backup necesita que creemos un token de acceso a nuestro repositorio de backup creado.
seleccionaremos Generate new token (classic), normalmente nos va a solicitar que volvamos a confirmar nuestro login por seguridad
daremos un nombre a nuestro token, idealmente algo que sea bastante descriptivo, usando No expiration como Expiration date y marcamos workflow y read:ord en la sección admin.org
Pulsaremos el botón Generate token y nos aparecerá el token en nuestra lista... es muy importante que guardemos este en un lugar seguro ya que si lo perdemos no tendremos forma de recuperarlo y tendremos que crear uno nuevo
Instalación automática desde Kiauh
La forma más sencilla y cómoda es usar el interfaz de Kiauh para instalarlo:
[Main Menu] --> 4)[Advanced] --> 9)[Shell Command]
Instalación manual
Por último y para que nuestro plugin funcione reiniciaremos Klipper:
Una vez instalada la extensión G-Code Shell Command tendremos que crear nuestro script de bakcup a Github.
Podremos hacer este paso desde la propia iterfaz de Klipper (Mainsail/Fluidd) añadiendo un nuevo archivo de configuracion con el nombre antes indicado en nuestro directorio config.
En nuestro caso de ejemplo realizamos la instalación en una distribución para Raspberry Pi basada en MainsailOS, os aconsejamos que ajustéis los path a vuestra instalación en el caso que no coincidan con los ejemplos mostrados a continuación.
por SSH, nos colocaremos en nuestro directorio config:
descargaremos el script a nuestro directorio config:
una vez descargado ajusteremos la configuración del script para nuestro caso. En nuestro ejemplo que no usamos Fluidd comentaremos la línea fluidd_folder. Normalente dejaremos habilitado nuestro config_folder, klipper_folder y moonraker_folder... dependiendo de la UI que usemos habilitaremos mainsail_folder o fluidd_folder.
Presta atención al valor usado en branch ya que ha de coincidir con el que usemos al crear nuestro repositorio... por defecto suele ser main aunque en ocasiones puede usarse master
finalizados nuestros ajustes guardaremos los cambio con CTRL+X y Y para salir y guardar cambios
como último paso vamos a dar permisos de ejecución en nuestro script
Si hemos creado o modificado el script desde nuestra UI, Mainsail... Fluidd..., estos permisos pueden desaparecer por lo que tendremos que volver a realizar este paso.
Accediendo a nuestrop host por SSH nos aseguraremos de que tenemos el cliente git instalado:
Iremos a nuestra carpeta printer_data y montaremos nuestro git
con nuestro repositorio local inicializado correctamente configuraremos nuestro repositio remoto (Github) usando vuestro token y la URL de nuestro repositorio
verificaremos que se añadieron correctamente nuestro repositorio remote
continuaremos configurando nuestro mail y nombre que usaremos, si no lo hacemos en este paso nos lo solicitará más tarde
inicializaremos nuestros repositorios
ahora si volvemos a nuestro Github, y todo funcionó correctamente, ya tendremos el contenido de nuestra configuración de Klipper en Github!!!
El último paso es crear la macro G-Code Shell Command en nuestro fichero CFG de macros o en nuestro printer.cfg
command: sh <path nuestro script shell>
deberá a apuntar a la localización de nuestro script previamente creado... debería ser /home/pi/printer_data/config/backup_cfg_github.sh
recuerda que el script debe ser ejecutable -> chmod +x <script> desde SSH
el timeout de 30 segundos es solamente un ejemplo, en cualquier caso no uses un tiempo muy corto ya que dependiendo del tiempo de proceso puede hacer que falle
Ahora que ya tenemos todo listo ya solamente nos queda lanzar nuestros backups cuando queramos y tener siempre una copia de seguridad con gestión de versiones de nuestros ficheros de configuración de Klipper.
Para lanzarlos es tan sencillo como ir a nuestra sección de Macros y simplemente lanzar BACKUP CFG o el nombre que le dimos anteriormente:
En la consola podremos ver información del proceso:
También podremos desde Github ver nuestras configuraciones y control de cambios:
Si utilizas KGB, aunque compatible con el explicado en puntos anteriores, te aconsejamos eliminar el anterior.
Básciamente KGB ejecuta sus scripts al iniciar nuestro host Klipper, o si configuramos que se realice cada x tiempo, espera a disponer de conexión y hace un push a Github del contenido del directorio de configuración que configuremos.
Revisar que disponemos de git en nuestra instalación
sudo apt-get install git -y
Descargaremos el repositorio KGB
cd ~ && git clone https://github.com/Low-Frequency/Klipper-Git-Backup.git
Iniciamos KGB
chmod +x ~/Klipper-Git-Backup/*.sh && ./Klipper-Git-Backup/kgb.sh
Si todo ha ido bien accederemos al menú de gestión de opciones de KGB desde el cual seleccionando el número de opción podremos realizar los siguientes pasos... por lo menos deberemos seguir la opción 1) Configure para ajustar nuestro nombre de usuario de Github, nuestro mail, nuestro repositorio de Github para el backup y la carpeta de configuración de Klipper a realizar el backup
Añadir una llave SSH a tu cuenta Github:
Durante el proceso de configuración el script te va a facilitar una "private key" que deberemos añadir a nuestra cuenta de Github. Desde Github iremos a Profile/Settings/SSH and GPG keys y añadiremos una nueva key copiando la que nos facilitó el proceso de configuración de KGB.
Esperemos que no lo necesites!!! pero en caso que necesites restaurar tus ficheros tenemos las siguientes opciones...
Podemos ir a nuestro repositorio en Github y copiar linea a linea cada fichero o descargar en zip nuestro repositorio y copiarlos a nuestra SD desde el ordenador o transfiriendo por SSH usando una herramienta estilo WinSCP o similar.
En el caso de querer restaurar completamente nuestra configuración por la que tenemos en Github y disponemos del directorio original klipper_config realizaremos el siguiente proceso:
IMPORTANTE!!! esto va a borrar todo el contenido que tengas en el directorio ~/printer_data/config por lo que tengas en tu Github, asegurate que antes tienes una copia por si acaso.
Si queremos reinstalar desde una nueva instalación realizaremos los siguientes pasos
Insertaremos la SD en nuestro equipo Windows y abriremos . Nos aseguraremos que seleccionamos el Device: correcto (1) y pulsaremos en el icono de carpeta (2) para seleccionar donde guardar nuestra imagen a la cual debemos de usar .img como extensión... por ejemplo: KlipperBaclup.img
Para restaurar la imagen deberemos de usar uno de los métodos explicados en el apartado
Para restaurar la imagen deberemos de usar uno de los métodos explicados en el apartado
Dependiendo de nuestras necesidades ajustaremos la frecuencia y si queremos un único backup incremental o multiples backups. Para más información sobre ajustar la frecuencia podéis revisar la .
Para restaurar la imagen deberemos de usar uno de los métodos explicados en el apartado
Instalaremos si no lo tenemos instalado desde
Instalaremos en este caso
Insertaremos nuestra nueva SD y abriremos usando la opción Flash From File
abriremos de nuevo , asegurando antes de insertar la nueva SD, y seleccionaremos en Device: (1) esta. A continuación pulsaremos sobre el icono de carpeta (2) y seleccionaremos nuestra imagen previamente generada.
En nuestro caso utilizamos GitHub para tener un backup de nuestras impresoras, así que primero, y si no lo tenemos ya, iremos a .
una vez tenemos creado el repositorio nos anotaremos la URL que usaremos más tarde para configurar nuestros backups, en nuestro caso :
desde el siguiente enlace podremos acceder a
Antes de nada necesitamos instalar las G-Code Shell Command que es una extensión de Klipper y que podréis encontrar más información .
Podemos también instalar de forma manual copiando a klipper/klippy/extras
.
Pegaremos el contenido del plugin que podéis obtener y guardaremos los cambios.
Dado que nuestro script de backup se basa en el que contiene Kiauh encontrar la última versión del script de estos para comparar o en caso de problemas si fuera necesario, aunque no deberían variar en mucho salvo cualquier posible modificación por nuestra parte para adaptarlo a nuestro .
La comunidad siempre trabaja duro para mejorar los procesos, en este caso el compañero ha creado unos scripts y procesos al estilo Kiauh llamados (Klipper Git Backup) para poder realizar backups de nuestro Klipper a Github.