GNU/Linux >> Linux Esercitazione >  >> Linux

Rsync -avzHP segue gli hardlink invece di copiarli come hardlink

Lo rsync -H del comando (o --hard-links ) farà, in teoria, ciò che stai cercando di realizzare, ovvero, in breve:creare una copia del tuo filesystem che preservi la struttura hard link dell'originale. Come ho accennato nella mia risposta a un'altra domanda simile, questa opzione è destinata a fallire una volta che il tuo filesystem di origine cresce oltre una certa soglia di complessità dell'hard link.

La posizione precisa di quella soglia può dipendere dalla tua RAM e dal numero totale di hard link (e probabilmente da una serie di altre cose), ma ho scoperto che non ha senso cercare di definirla con precisione. Cosa davvero ciò che conta è che la soglia è fin troppo facile da varcare nelle situazioni del mondo reale e non saprai di avere attraversato, finché arriva il giorno in cui provi a eseguire un rsync -aH o un cp -a che lotta e alla fine fallisce.

Quello che consiglio è questo:copia il tuo filesystem fortemente collegato come un'unità, non come file. Cioè, copia l'intera partizione del filesystem come un unico grande BLOB. Sono disponibili numerosi strumenti per farlo, ma il più diffuso è dd .

Con il firmware standard, QNAP NAS dovrebbe avere dd integrato, così come fdisk . Con fdisk , creare una partizione sull'unità di destinazione che sia grande almeno quanto la partizione di origine. Quindi, usa dd per creare una copia esatta della partizione di origine sulla partizione di destinazione appena creata.

Mentre il dd copy è in corso, devi assicurarti che nulla cambi nel filesystem di origine, per non ritrovarti con una copia danneggiata sulla destinazione. Un modo per farlo è umount la fonte prima di iniziare il processo di copia; un altro modo è montare il sorgente in modalità di sola lettura.


Linux
  1. Filtro Rsync:copiare un solo pattern?

  2. Copia i file con SCP e Rsync

  3. Copia negli appunti di sistema anziché nel buffer di vim

  4. RSYNC non elimina le directory di origine

  5. Rsync copia la directory corrente con il nome

Copiare file in Linux

Comando Rsync:20 utili esempi in Linux

Come escludere directory specifiche dalla copia in Linux

Copia il contenuto del file negli Appunti senza visualizzarli

Rsync Mostra la barra di avanzamento durante la copia di file in Linux

Copiare localmente un albero di directory di grandi dimensioni? cp o rsync?