Crear un archivo tar.gz y transferirlo al servidor de red.
Tengo una Raspberry Pi funcionando en mi red doméstica junto con una Macintosh que actúa como servidor de respaldo. Estoy intentando crear un script de Python3 que se ejecute en la Pi para crear una copia de seguridad tar.gz de la carpeta de inicio de la Pi (junto con todo su contenido) y transferirla a la Macintosh mediante SSH. Tengo la conexión SSH (usando claves) funcionando, pero me quedo atascado cuando intento crear el archivo de respaldo y transferirlo.
Mi código hasta ahora:
import paramiko
import tarfile
import os
ssh_cliente = paramiko.SSHClient()
ssh_cliente.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh_cliente.connect(hostname='192.168.1.151', username='nombredeusuarioponeraquí')
print("¡Estoy conectado!")
#El siguiente bloque de código es el problema según lo veo
tar_cmd = 'tar czvf - ./home/PiOne/ | ssh_cliente -w:gz "cat > ./Volumes/PiBackups/PiOne/PiOneClone.tar.gz"'
ssh_cliente.exec_command(tar_cmd)
print("¡Archivo transferido!")
ssh_cliente.close()
¡Agradecería cualquier ayuda para crear el script!
davy.ai
Creando un script de Python para hacer una copia de seguridad de la carpeta de inicio de una Raspberry Pi y transferirla a un Macintosh usando SSH
Para resolver tu problema, podemos dividir la tarea en tres partes:
1. Crear una copia de seguridad tar.gz de la carpeta de inicio de la Raspberry Pi.
2. Transferir el archivo tar.gz al Macintosh usando SSH.
3. Crear un script de Python3 que automatice las dos partes anteriores.
Creando una copia de seguridad tar.gz
Podemos usar el módulo
tarfile
en Python para crear un archivo de copia de seguridad tarball de la carpeta de inicio de la Raspberry Pi. También podemos usar el módulosubprocess
para ejecutar comandos de shell. Aquí tienes un ejemplo:Transferir el archivo de copia de seguridad al Macintosh usando SSH
Podemos usar el módulo
paramiko
en Python para transferir el archivo de copia de seguridad al Macintosh usando SSH. Aquí tienes un ejemplo:Creando un script de Python3
Ahora que tenemos las dos partes funcionando, podemos juntarlas en un solo script de Python3. Aquí tienes un ejemplo:
¡Espero que esto te ayude con tu script de Python3 para hacer una copia de seguridad de la carpeta de inicio de tu Raspberry Pi y transferirla a tu Macintosh usando SSH!