Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 20/09/2020, à 07:28

arvernes

command cp

Bonjour,
Surement une question basique, mais je voudrais être sûr de ce que je fais.
Je veux copier un répertoire de mon disque dur sur un disque USB dans un script. Cependant, je veux copier, répertoire et sous-répertoires, mais surtout être sûr que les fichiers destination sont identiques aux fichiers sources, donc que la commande "copie" vérifie qu'il n'y a pas d'erreur lors de la copie, et si erreur il y a , que j'ai un message d'erreur.
Y a t'il mieux que :
cp -i -r -v /usr/local/mon_repertoire /media/moi/backups
(ce n'est pas un script qui va tourner en automatique, donc je suis devant l'écran, d'où le fait de mettre "-i" ne me gène pas).
merci d'avance. Francois

Hors ligne

#2 Le 20/09/2020, à 07:33

alex2423

Re : command cp

Tu sais que tu peux concaténer les options courtes de cette manière :

-irv

Dans ce cas, là, il faudrait que tu vérifies le md5sum Tu fasses la comparaison entre la source et la destination à la fin de ton script.

Ou sinon peut être rsync qui fonctionne aussi en local
https://doc.ubuntu-fr.org/rsync

Hors ligne

#3 Le 20/09/2020, à 07:41

Sciensous

Re : command cp

+1 pour rsync pour la vérification en +
mais bien faire la distinction du dossier source:
source va créer le dossier source dans le dossier destination
source/ ne va que copier les fichiers dans le dossier destination
... subtilité quand tu nous tiens

cool

Dernière modification par Sciensous (Le 20/09/2020, à 07:43)


antiX 19 et 21 et Ubuntu 20.04 et 22.04
( sous LXDE et gnome-shell )

Hors ligne

#4 Le 20/09/2020, à 07:42

arvernes

Re : command cp

alex2423 a écrit :

Dans ce cas, là, il faudrait que tu vérifies le md5sum Tu fasses la comparaison entre la source et la destination à la fin de ton script.

Merci.
Je peux faire un md5sum sur un répertoire complet ? je pensais qu'on ne pouvait le faire que sur un fichier. Vu que dans mon_repertoire j'ai des dizaine de milliers de fichiers, je ne peux pas le faire sur chaque fichier.
Comment je lance ça ? md5sum /usr/local/mon_repertoire > md5sum_mon_repertoire.txt
et après je le lance sur le disque usb ? donc itou md5sum /media/moi/mon_repertoire > md5sum_mon_repertoire_usb.txt
et je compare le résultat ?
Quand j'essaie ça, il me dit que /usr/local/mon_repertoire est un répertoire, donc ça ne marche pas.
Ou alors faut-il que je "tar" le repertoire source, puis le répertoire destination, que je lance md5sum sur chaque fichier tar et que je compare ? c'est lourd..
Merci de vos eclaircissements. Francois

Hors ligne

#5 Le 20/09/2020, à 14:00

alex2423

Re : command cp

Ah oui, bien, le md5sum doit être fichier par fichier. Tu dois faire un petit script wink.
Si tu as des sous répertoires de sous répertoires, tu peux utiliser la commande find avec l'option '-exec' pour passer une commande dès que tu trouves un fichier avec find. En l'occurence un md5sum dans ton cas. Tu l'écris dans un fichier le md5 et le chemin.

Et une fois que tu as la liste des md5sum et des fichiers avec leur chemin, tu fais l'opération inverse. Tu lis le fichier, ligne par ligne et tu vérifies si le md5sum est identique.

Cela demande un peu de reflexion mais cela peut être intéressant pour toi et challengeant de faire un petit script maison. Si tu as des difficultés, besoin de pistes, il ne faut pas hésiter à poster ici même avec tes points bloquants.

Sinon tu manques un peu de courage, tu peux essayer de voir du côté des outils de backup comme sbackup ou deja-dup (à vérifier si tu as le contrôle)

Hors ligne

#6 Le 24/09/2020, à 05:28

arvernes

Re : command cp

Bonjour, finalement j'ai suivi le conseil de passer par rsync, et ça me convient vraiment bien. Merci encore. Francois

Hors ligne

#7 Le 25/09/2020, à 07:11

alex2423

Re : command cp

hey sympa de faire un retour, cela fait toujours plaisir de savoir smile
J'en étais sur que tu n'aurais pas la motivation de faire un script smile , bonne option rsync

Hors ligne