Utilizzo di 'rsync' come 'cp' più avanzato

3

Per copiare file di grandi dimensioni (e / o grandi quantità di file), soprattutto su dischi, preferisco evitare di usare il Finder perché spesso fallisce con qualche messaggio di errore insignificante e / o un reclamo sulle autorizzazioni.

Invece ho cercato di utilizzare rsync - o, più specificamente, l'ultima versione di rsync disponibile da Homebrew , che, ad oggi, è:

rsync  version 3.1.1  protocol version 31

Capabilities:
64-bit files, 64-bit inums, 64-bit timestamps, 64-bit long ints,
socketpairs, hardlinks, symlinks, IPv6, batchfiles, inplace,
append, ACLs, xattrs, iconv, symtimes, no prealloc, file-flags

(Quelle sono le funzionalità predefinite utilizzate da Homebrew.)

Il problema è che rsync è irrimediabilmente complesso, e non sono mai sicuro se sto usando gli argomenti appropriati, o se ce ne sono altri che dovrei usare:

rsync \
    --8-bit-output \
    --acls \
    --backup \
    --devices \
    --exclude='.DS_Store' \
    --executability \
    --group \
    --human-readable \
    --inplace \
    --itemize-changes \
    --owner \
    --perms \
    --progress \
    --prune-empty-dirs \
    --recursive \
    --safe-links \
    --specials \
    --stats \
    --times \
    --update \
    --verbose \
    --xattrs \
    'foo' /path/to/destination/

Args Non sono sicuro se dovrei usarlo o meno, soprattutto perché non sono sicuro al 100% di quello che fanno:

  • (una delle altre opzioni per i link invece di "--safe-links")
  • - relativa
  • - sparse
  • - parziale

Altri suggerimenti?

    
posta TJ Luoma 09.07.2014 - 20:53
fonte

2 risposte

2

A meno che tu non abbia esigenze specifiche, eliminerei la maggior parte di queste opzioni e le manterrò semplice: rysnc -aEv (nella versione predefinita di OS X) o rsync -aXv (nella versione Homebrew).

Opzioni

  • -a è la modalità archivio, che significa essenzialmente conservare i metadati (timestamp, permessi, ecc.) e fare una copia ricorsiva. Questo è ciò che desideri per le tue operazioni di backup o copia standard.

  • -E / -X conserva gli attributi estesi (fork di risorse a.k.a. ). In passato la versione rsync incorporata aveva funzionalità speciali per coprire i quirici di HFS + a questo proposito, ma le versioni di rsync più recenti di default possono essere migliorate al riguardo ora. Mi piacerebbe utilizzare la versione integrata a meno che tu non abbia una ragione specifica per non farlo.

  • -v è l'opzione dettagliata e semplifica il monitoraggio di ciò che accade se stai eseguendo questo in una finestra di Terminale. Se sta per essere eseguito in uno script, puoi rimuoverlo.

Se non sai di averne bisogno, puoi tranquillamente ignorare la maggior parte di quelle opzioni che hai già. Alcuni sono duplicati dal comando archivio e altri (come --inplace , che può rallentare le cose e lasciare il filesystem in uno stato incoerente) sono necessari solo per casi limite specifici. Fai un favore a te stesso e mantieni le cose semplici - se ti imbatti in problemi specifici con le opzioni che ho elencato, forse annulla quelle (in una domanda separata se necessario).

Per inciso, l'esecuzione di problemi durante la copia tramite Finder è un po 'di una bandiera rossa IMO. Anche se potrebbe non essere sempre veloce come alcune opzioni, non dovrebbe essere lanciare messaggi di errore. Potresti voler verificare / riparare il tuo disco in Utility Disco.

    
risposta data 09.07.2014 - 21:29
fonte
-1

potresti usare ditto che è un cp più avanzato ed è stato creato da Apple.

    
risposta data 12.10.2014 - 03:30
fonte

Leggi altre domande sui tag