J'essaye de mettre en place une sauvegarde automatique sur un système Raspberry pi connecté à un disque dur externe.Comment comparer deux répertoires, et si ce sont les EXACT MEME, supprimer le second
Fondamentalement, j'ai des dossiers partagés et ils sont montés via Samba sur le rPI sous
/mnt/Comp1
/mnt/Comp2
je alors le disque dur externe branché et monté avec deux dossiers sous
/media/external/Comp1
/media/external/Comp2
Je vais ensuite exécuter une copie récursive de/mnt/Comp1 * vers/media/external/Comp1/* et la même chose avec Comp2.
Ce que je besoin d'aide avec est à la fin des copies (parce que ce sera un total de 5 ordinateurs), je voudrais vérifier que tous les fichiers transférés, et s'ils l'ont fait et tout est l'externe, alors je peux supprimer de la machine locale automatiquement. Je comprends que c'est risqué, parce que presque inévitablement il va supprimer des choses qui ne peuvent pas être sauvegardées, mais j'ai besoin d'aide pour savoir par où commencer.
que j'ai trouvé beaucoup d'informations sur le contrôle contenu d'un dossier, et je sais que je peux utiliser la commande diff, mais je ne sais pas comment l'utiliser dans ce pseudo-code
use diff on directories /mnt/Comp1/ and /media/external/Comp1
if no differences, proceed to delete /mnt/Comp1/* recursively
if differences, preferably move the files not saved to /media/external/Comp1
repeat checking for differences, and deleting if necessary
Avez-vous essayé 'si diff -q/chemin/dir1/chemin/dir2; alors rm -r/chemin/dir2; fi' (pour supprimer 'dir2' si' dir1' et 'dir2' sont les mêmes?' 'diff '' est assez bon pour expliquer les options Utiliser' else' pour effectuer le déplacement si des différences sont trouvées –
J'apprécie votre prompt Je vais tester cela plus tard sur le système lui-même, il semble que cela fonctionnerait, puisque je viens de le tester sur mon ordinateur local.Qu'est-ce que fi fait? Et aussi, s'il n'y a pas de différence, la commande de copie a un moyen Puis-je faire autre chose? Puis-je faire autrement cp -n/chemin/dir1/*/chemin/dir2/*? – rAFTA
Ceci est un problème résolu.Utilisez 'rsync'. – chepner