
Ich weiß , dass es viele Beiträge darüber gibt, rsync
dass Ausschlüsse eine besondere Bedeutung haben, und ich habe einige Zeit damit verbracht, selbst nach einer Lösung zu suchen, dachte aber, dass es zweckmäßiger ist, sich auf die Gedankenkraft der Community zu verlassen, die mich sicherlich innerhalb von Sekunden auf die richtige Spur bringen kann.
Ich kopiere die Home-Verzeichnisse vieler verschiedener Benutzer, aber aus Gründen, die im Moment nicht relevant sind, muss ich grundsätzlich viele unterschiedliche Konfigurationen eliminieren, und da jeder Benutzer sehr unterschiedlich ist, möchte ich eine rsync
Zeile schreiben, die in jedem Home-Ordner für einen Benutzer ausgeführt werden kann und alle versteckten Ordner ausschließt (außer.sshUnd.mozillafalls zutreffend), erfasst aber trotzdem versteckte Dateien im Home-Ordner wie.bash_history,.Profilusw.
Einschließlich der.sshund andere angegebene Ordner sind im Moment wichtig, da andere allgemeine Ordner zu einem späteren Zeitpunkt zu dieser Liste hinzugefügt werden könnten/sollten. Aber im Moment muss ich grundsätzlich alle versteckten Ordner ausschließen, sofern nicht anders angegeben.
Ich dachte, das hier würde funktionieren, aber leider funktioniert es nicht:
$ rsync -vahP --delete-before --include="*" --include={".ssh/",".mozilla/"} exclude=".*/" ./ /mount/anotherdisk/username/
Was mache ich falsch?
Antwort1
Bei mir funktioniert es, wenn ich die Option entferne --include="*"
und die vergessenen Bindestriche zur --exclude
Option hinzufüge, wie:
rsync -vahP --delete-before --include={'.ssh/','.mozilla/'} --exclude='.*/' /home/username/ /mount/anotherdisk/username