Questo comando rsync eseguirà un backup incrementale se eseguito più volte?


3

Sto eseguendo il backup dei file su una condivisione webdav remota. Sto usando rsync in modo che sia almeno incrementale. Comunque non sta andando molto veloce affatto, e quindi mi chiedo se l'ho configurato correttamente.

Il seguente comando eseguirà un backup incrementale se eseguito più volte?

# Backup
sudo rsync -av --delete --progress \
--exclude '*@SynoResource' --exclude '@eaDir' \
--exclude '.TemporaryItems' \
--exclude '*.vsmeta' --exclude '.DS_Store' \
/mnt/configs/ /mnt/remote/configs

Se lo fa, come posso accelerarlo altrimenti?

Risposte:


0

Sì, credo che il tuo comando raggiungerà ciò che stai mirando.

Poiché stai utilizzando sia la modalità dettagliata che l'opzione di avanzamento puoi dare qualche indicazione su dove si sta verificando il ritardo? Se il ritardo è prima che i file inizino il trasferimento, è probabile che tutti i file vengano indicizzati per il confronto, in particolare se ci sono molti file o se i file sono di grandi dimensioni.

Se la mancanza di velocità è durante i trasferimenti effettivi, allora potrebbero essere molte cose; la larghezza di banda è quella ovvia, la sincronizzazione delle grandi modifiche ai file di grandi dimensioni è un'altra. Una volta completato il comando, dovrebbe darti un'idea di quanti dati sono stati effettivamente trasferiti rispetto alla dimensione totale dei file di destinazione.

Si noti che alcuni tipi di file (in particolare file compressi come jpeg e MP3) non si prestano molto bene alla sincronizzazione poiché una piccola modifica al file cambierà il layout dell'intero file, il che significa che quasi l'intero file dovrà essere nuovamente sincronizzato.

Un suggerimento per migliorare la velocità di sincronizzazione, a seconda della natura dei dati e dei tipi di modifiche, consiste nell'utilizzare l'opzione fuzzy (-y) insieme a --delete-after. Quindi, se si rinomina o si copia un file, piuttosto che tale file deve essere sincronizzato nella sua interezza (come un nuovo file), rsync utilizzerà il file già presente sulla destinazione per creare il nuovo file.

Rsync non funziona perfettamente con alcuni file system. Ad esempio, i minuti su FAT32 sono accurati a +/- 2 secondi, quindi rsync potrebbe essere attivato per sincronizzare un file che non è in realtà più nuovo dell'origine, anche se sembra essere. Occasionalmente, è possibile utilizzare gli argomenti --size e --modify-window per fare in modo che rsync ignori le discrepanze tra i tempi di modifica del file.


Il ritardo non si verifica prima, è più che la gestione di ogni file non è così veloce. Con questo comando dovrebbe inizialmente confrontare solo la data dell'ultima modifica, giusto? Ho pensato che sarebbe stato estremamente veloce. Ma richiede un paio di secondi per file (anche per i file & lt; 1MB). Che sembra lungo per me.

Ah, ho appena realizzato che sta usando WebDAV, quindi suppongo che ogni file sia sincronizzato al 100% ogni volta. Di nuovo, questo dovrebbe essere ovvio nelle statistiche finali. Potresti voler cercare --size-only e --modify-window per fare in modo che vengano confrontati solo gli attributi di base del file.
Darren

Ok, --size-only è molto più veloce. Sembra che stia facendo quello che voglio. Grazie!

1
OK. Ho aggiunto un po 'di più alla mia risposta per coprirlo.
Darren

1

In questo comando sia l'origine che il target sono "locali" a rsync. Diventa veramente veloce se l'obiettivo è accessibile tramite rsync o ssh protocollo ad es.

rsync -av /my/local/dir root@somehost:/my/remote/dir

In questo caso rsync genererà un rsync processo su somehost e accederà ai file nella directory di destinazione localmente (veloce, come non via rete).

Nella tua configurazione rsync leggerà i file dalle configurazioni localmente e leggerà i file in /mnt/remote/configs via rete. Al fine di confrontare i contenuti, dovrà leggere tutti i file e cancellarne i contenuti in modo che non vi sia alcun vantaggio reale in termini di velocità.

Questo aiuta?


Quindi il comando che hai suggerito dovrebbe essere molto più veloce? La posizione remota supporta solo webdav, il comando che hai fornito funzionerà anche con quello?

No, per rsync veloce via rete, il target deve supportare rsync.
smakks
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.