Linuxhotel Wiki

Wie ging das nochmal?

Benutzer-Werkzeuge

Webseiten-Werkzeuge


admin_grundlagen:hardlink

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Beide Seiten, vorherige ÜberarbeitungVorherige Überarbeitung
Nächste Überarbeitung
Vorherige Überarbeitung
admin_grundlagen:hardlink [2013/06/25 10:34] – [Verzeichnisse zusammenführen] ingo_wichmannadmin_grundlagen:hardlink [2025/08/19 13:09] (aktuell) – [Backup] ingo_wichmann
Zeile 1: Zeile 1:
-====== Hardlinks ======+====== Links ====== 
 + 
 +Zur Unterscheidung zu [[symbolische Links|symbolischen Links]] werden die gewöhnlichen Links manchmal auch Hard Links genannt. 
 + 
 +===== einfache Beispiele ===== 
 +  cp /etc/passwd . 
 +  ls -li passwd* 
 +  ln passwd passwd-hardlink 
 +  ls -li passwd* 
 + 
 +umbenennen, verschieben, editieren, löschen (Ursprungdatei), ... ausprobieren 
 + 
 +  ls -li passwd* 
 +  cp -l passwd passwd-hardlink-cp 
 +  ls -li passwd* 
 + 
 +===== Wo befinden sich auf meinem System Hardlinks? ==== 
 +  find / -xdev -type f -links +1 -ls 
 +  find / -xdev -type f -links +1 -printf '%h\n' | uniq -c 
 +===== Datei umbenennen ohne Ausfallzeit ===== 
 +  cd /etc/postfix/maps 
 +  ln virtual_alias_maps.txt.db virtual_mailbox_maps.txt.db 
 +  postconf -e 'virtual_mailbox_maps = hash:/etc/postfix/maps/virtual_mailbox_maps.txt' 
 +  rm virtual_alias_maps.txt.db 
 ===== Backup ===== ===== Backup =====
-todo+(( Das Beispiel hier ist nicht sehr praxisnah. Eine bessere Variante beschreibe ich unter [[admin_grundlagen:rsync|rsync]] )) 
 +(( ''cp --reflink'': Reflink-Kopien benötigen ähnlich wenig Platz wie Hardlinks, haben aber ihre eignen Inodes inkl. Berechtigungen, Eigentümer usw. Reflinks benötigen BTRFS, ZFS oder eine aktuelle Version von XFS (xfsprogs 5.1 und Linux 5.4) )) 
 +=== 1. Backup === 
 +  mkdir /tmp/backup 
 +  cp -a ~/ /tmp/backup/sonntag 
 + 
 +---- 
 + 
 +Änderungen im Arbeitsverzeichnis (z.B. anlegen, löschen und bearbeiten von Dateien) 
 +=== 2. Backup === 
 +  cp -al /tmp/backup/sonntag /tmp/backup/montag 
 +  rsync -a --del ~/ /tmp/backup/montag 
 + 
 +---- 
 + 
 +Änderungen im Arbeitsverzeichnis (z.B. anlegen, löschen und bearbeiten von Dateien) 
 +=== 3. Backup === 
 +  cp -al /tmp/backup/montag /tmp/backup/dienstag 
 +  rsync -a --del ~/ /tmp/backup/dienstag 
 + 
 +… 
 +  
 ===== Verzeichnisse zusammenführen ===== ===== Verzeichnisse zusammenführen =====
 <file> <file>
Zeile 23: Zeile 68:
    `-- file9.txt    `-- file9.txt
 </file> </file>
 +(( 
 +  mkdir -p {dir1,dir2}/{a,b,c} 
 +  touch dir1/a/file1.txt 
 +  touch dir1/a/file2.txt 
 +  touch dir1/b/file3.txt 
 +  touch dir1/c/file4.txt 
 +  touch dir2/a/file5.txt 
 +  touch dir2/a/file6.txt 
 +  touch dir2/b/file7.txt 
 +  touch dir2/b/file8.txt 
 +  touch dir2/c/file9.txt 
 +  touch dir2/c/file10.txt 
 +))
   mkdir merge   mkdir merge
   cp -rl dir1/. dir2/. merge   cp -rl dir1/. dir2/. merge
Zeile 47: Zeile 104:
  
 (( alternativ mit rsync: (( alternativ mit rsync:
-  rsync -aplx --link-dest=/tmp/dir1/ dir1/ merged/ +  rsync -ax --link-dest=/tmp/dir1/ dir1/ merged/ 
-  rsync -aplx --link-dest=/tmp/dir2/ dir2/ merged/+  rsync -ax --link-dest=/tmp/dir2/ dir2/ merged/
 Achtung: link-dest muss absolut angegeben werden Achtung: link-dest muss absolut angegeben werden
 )) ))
admin_grundlagen/hardlink.1372156440.txt.gz · Zuletzt geändert: 2013/06/25 10:34 von ingo_wichmann