Come archiviare automaticamente una directory?

46

Voglio fare la sincronizzazione unidirezionale.

Sto avendo Folder A sul mio computer, che viene costantemente aggiornato con i contenuti.
Un altro Folder B viene utilizzato per scopi di backup che si trova su HDD esterno.

Ora quello che mi aspetto è che qualunque extra che è presente nella cartella A debba andare alla cartella B. Comunque qualcosa che è presente in B e NON in un "" NON deve essere copiato in A "".

In poche parole, la cartella di backup può copiare tutto dalla cartella di origine, tuttavia non è necessario copiare nulla dalla cartella di backup all'origine.

    
posta Z9iT 06.06.2012 - 14:14

9 risposte

61

Sembra un compito perfetto per rsync

sudo rsync -az /path_to/A /path_to/B
  

-un modo archivio (implica ricorsivo, copia i collegamenti simbolici come collegamenti simbolici, preserva proprietario, tempi di modifica, gruppo, proprietario, file speciali e del dispositivo)

     

-z comprime i dati

Se desideri rimuovere file cancellati in A da file in B, usa l'opzione --delete

Per ulteriori informazioni vedi:

link

Puoi eseguire rsync da cron

sudo crontab -e

Aggiungi un'attività oraria

@hourly rsync /path_to/A /path_to/B

link

    
risposta data Panther 06.06.2012 - 14:33
15

Suggerirei di usare rsync per questo scopo. Rsync è estremamente veloce, stabile e versatile. C'è una buona introduzione al link

Se lo desideri, è disponibile un front end grafico opzionale: grsync

 sudo rsync -azv --exclude 'dir1' /home/path/folderA/ /home/path/folderB

Il comando precedente copierà dalla cartellaA alla cartellaB esclusa dir1. Le bandiere sono

-a preserves time stamps
-z is to enable compression
-v verbose

Ci sono molte altre opzioni disponibili.

    
risposta data JIm 06.06.2012 - 14:39
8

Ho sempre trovato Unison molto utile. Ha un'interfaccia basata su testo o GUI e diverse opzioni per modificarlo in base alle proprie esigenze (con un po 'di giocherellando). Ci vuole un bel po 'di tempo per fare la prima sincronizzazione, ma dopo è brillante. Puoi sincronizzarlo a senso unico, come vuoi, ma lo otterrà automaticamente. Può anche eliminare dal backup o non come si sceglie.

Potresti anche trovare problemi con le autorizzazioni che sono supportate nel formato di file ubuntu, ma forse non nel disco rigido esterno (a seconda che il disco rigido esterno venga usato in una macchina Windows, questa potrebbe essere una buona cosa ), quindi ti consigliamo di sincronizzarti senza le autorizzazioni potenzialmente.

Ad ogni modo, la cosa bella è che con il tutorial è relativamente semplice configurarlo una volta, e successivamente è un'interfaccia grafica ogni volta che vuoi farlo.

Ecco alcune informazioni a riguardo: link

Ed ecco il tutorial: link

    
risposta data Dr Xorile 26.10.2012 - 01:49
4
rsync -avPr --ignore-existing /home/username/Research/ /path/to/other/folder/on/hdd/

Questo sincronizzerà e copierà solo quei dati che non esistono in /other/folder/on/hdd/

    
risposta data drN 26.10.2012 - 02:22
2

Sono d'accordo con le altre risposte, puoi utilizzare rsync in Terminale o le interfacce Grsync , luckyBackup , Conduit o il famoso Unison .

Un'altra ottima app è Krusader (un file manager di Twin-Panel per KDE), nel menu Strumenti puoi trovare "Syncronize Directories", è molto utile.

In ultima istanza puoi installare Wine e installare un altro grande gestore di file a doppio riquadro come Total Commander .

In ogni caso hai un sacco di opzioni e tutte sono presenti nel Software Center di Ubuntu.

    
risposta data Raúl F. Castro S. 23.01.2013 - 20:36
1

Raccomando Conduit per la sincronizzazione semplice. È disponibile il sistema software. Fa esattamente quello che stai cercando

    
risposta data jasonwert 06.06.2012 - 14:36
0

C'è uno strumento di shell molto utile chiamato rsnapshot - link - utilità di snapshot del filesystem per fare backup di sistemi locali e remoti. che utilizza rsync e hard link, che rende possibile la disponibilità immediata di più backup di file system completi. Fai solo sudo apt-get install rsnapshot e controlla info rsnapshot

    
risposta data user1180249 23.01.2013 - 18:51
0

Puoi sincronizzare i file all'interno di due direcotry di:

rsync -rv /path/to/directory1/ /path/to/directory2

Se fai rsync -rv /path/to/directory1 /path/to/directory2 creerai directory1 all'interno di directory2 , come questo /path/to/directory2/directory1/[files]

Puoi eseguire il ciclo di lavoro utilizzando -n , come rsync -rnv /path/to/directory1/ /path/to/directory2

Riferimento: link

    
risposta data subhojit777 19.10.2014 - 11:06
0

Se vuoi un'interfaccia grafica su un sistema altamente configurabile, prova FreeFileSync. Vedi, ad esempio: link In particolare, si desidera l'aggiornamento opzione per la sincronizzazione che "Copia i file nuovi o aggiornati nella cartella destra", ovvero copia dalla cartella sinistra alla cartella destra in una visualizzazione a due finestre.

    
risposta data CentaurusA 23.01.2013 - 19:01

Leggi altre domande sui tag