Sauvegarde SD

Comment utiliser Win32DiskImager, putty, winscp ? c'est par ici que ça se passe

Modérateur : Francois

Répondre
Avatar du membre
CDBI30
Messages : 48
Enregistré le : dim. 16 nov. 2014 17:43

Sauvegarde SD

Message par CDBI30 » lun. 27 nov. 2023 13:22

comment lancer le SD Card Copier d'un Raspi en ligne de commande
pour ensuite pouvoir le lancer dans un Script Python
Merci d'avance
CDBI

mike913
Raspinaute
Messages : 248
Enregistré le : mar. 7 oct. 2014 09:46
Localisation : Morsang / Orge - Essonne
Contact :

Re: Sauvegarde SD

Message par mike913 » lun. 27 nov. 2023 13:32

Bonjour,
Installer rpi-clone https://github.com/billw2/rpi-clone
DS712+ 2x Western Digital WD10EADS-00L 1000 GB (SHR) - Firmware: DSM 6.1.6-15266
Raspberry - RFXTRX433 - Aeon Labs ZStick V2 - Domoticz
FreeBox v6
https://meteo.folcke.net
https://wiki.folcke.net

SonopaalFounik

Re: Sauvegarde SD

Message par SonopaalFounik » mar. 2 janv. 2024 10:38

Pour lancer le SD Card Copier d'un Raspberry Pi en ligne de commande, utilisez la commande suivante :

sudo sh /usr/bin/sdcard-clone.sh
Cette commande clonera la carte SD actuelle du Raspberry Pi sur une nouvelle carte SD.

Pour lancer le SD Card Copier dans un script Python, vous pouvez utiliser la fonction suivante :

Python
import subprocess

def run_sdcard_clone():
subprocess.call(["sudo", "sh", "/usr/bin/sdcard-clone.sh"])

if __name__ == "__main__":
run_sdcard_clone()

Cette fonction lance la commande sudo sh /usr/bin/sdcard-clone.sh en utilisant la fonction subprocess.call().

Voici un exemple d'utilisation de la fonction dans un script Python :

Python
import subprocess

def run_sdcard_clone():
subprocess.call(["sudo", "sh", "/usr/bin/sdcard-clone.sh", "/dev/sda1", "/dev/sdb1"])

if __name__ == "__main__":
run_sdcard_clone("/dev/sda1", "/dev/sdb1")

Cette fonction clonera la partition /dev/sda1 de la carte SD actuelle sur la partition /dev/sdb1 de la nouvelle carte SD.

Vous pouvez également utiliser la fonction subprocess.Popen() pour lancer le SD Card Copier dans un script Python. Voici un exemple :

Python
import subprocess

def run_sdcard_clone():
proc = subprocess.Popen(["sudo", "sh", "/usr/bin/sdcard-clone.sh"], stdout=subprocess.PIPE)
output, err = proc.communicate()
print(output)

if __name__ == "__main__":
run_sdcard_clone()

Cette fonction affiche la sortie du SD Card Copier.
Modifié en dernier par SonopaalFounik le mer. 21 févr. 2024 05:53, modifié 1 fois.

SangakaraMoory
Messages : 2
Enregistré le : ven. 22 déc. 2023 11:38

Re: Sauvegarde SD

Message par SangakaraMoory » jeu. 1 févr. 2024 12:52

Pour lancer le SD Card Copier d'un Raspberry Pi en ligne de commande, vous pouvez utiliser la commande suivante :

sudo rpi-clone [options] [source_image] [destination_card]
Les options disponibles sont les suivantes :

-v : Affiche des informations détaillées sur le processus de clonage.
-i : Indique l'image source à utiliser.
-o : Indique la carte de destination sur laquelle copier l'image.
Par exemple, pour cloner une image d'un Raspberry Pi 4 vers une carte SD de 16 Go, vous pouvez utiliser la commande suivante :

sudo rpi-clone -v -i 2022-07-20-raspios-bullseye-arm64-lite.img -o /dev/sdX
Où 2022-07-20-raspios-bullseye-arm64-lite.img est le nom de l'image source et /dev/sdX est le nom de la carte de destination.

Pour pouvoir lancer le SD Card Copier dans un script Python, vous pouvez utiliser la fonction subprocess.call(). Par exemple, le code suivant clonera l'image d'un Raspberry Pi 4 vers une carte SD de 16 Go :

import subprocess

def clone_sd_card(source_image, destination_card):
"""
Clone une image SD d'un Raspberry Pi.

Args:
source_image: Le chemin de l'image source.
destination_card: Le nom de la carte de destination.

Returns:
0 si le clonage est réussi, une valeur non nulle en cas d'erreur.
"""

command = ["sudo", "rpi-clone", "-v", "-i", source_image, "-o", destination_card]
return subprocess.call(command)

if __name__ == "__main__":
source_image = "2022-07-20-raspios-bullseye-arm64-lite.img"
destination_card = "/dev/sdX"
clone_sd_card(source_image, destination_card)

Ce code utilise la fonction subprocess.call() pour exécuter la commande rpi-clone. La fonction call() renvoie la valeur de retour de la commande exécutée. Dans ce cas, une valeur de retour de 0 indique que le clonage a réussi.

Répondre

Retourner vers « Les utilitaires et le Raspberry Pi »