Come archiviare automaticamente una directory?

Voglio fare la sincronizzazione unidirezionale.

Sto avendo la Folder A sul mio computer che viene costantemente aggiornata con il contenuto.
Un’altra Folder B viene utilizzata per scopi di backup 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 si deve copiare nulla dalla cartella di backup all’origine.

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 si desidera rimuovere file cancellati in A da file in B, utilizzare l’opzione --delete

Per ulteriori informazioni vedere:

https://help.ubuntu.com/community/rsync

Puoi eseguire rsync da cron

 sudo crontab -e 

Aggiungi un’attività oraria

 @hourly rsync /path_to/A /path_to/B 

https://help.ubuntu.com/community/CronHowto

Suggerirei di usare rsync per questo scopo. Rsync è estremamente veloce, stabile e versatile. C’è una buona introduzione su http://help.ubuntu.com/community/rsync

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.

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 i permessi che sono supportati nel formato di file ubuntu, ma forse non nel disco rigido esterno (a seconda che il disco rigido esterno venga utilizzato in una macchina Windows, 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 GUI ogni volta che vuoi farlo.

Ecco alcune informazioni a riguardo: http://www.ubuntugeek.com/unison-file-synchronization-tool.html

Ed ecco il tutorial: http://www.cis.upenn.edu/~bcpierce/unison/download/releases/stable/unison-manual.html#tutorial

 rsync -avPr --ignore-existing /home/username/Research/ /path/to/other/folder/on/hdd/ 

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

Sono d’accordo con le altre risposte, è ansible utilizzare in rsync nel terminale o nelle 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 è ansible installare Wine e installare un altro grande file manager a doppio riquadro come Total Commander .

Comunque hai un sacco di opzioni e tutte sono presenti nel Software Center di Ubuntu.

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

C’è uno strumento di shell abbastanza pratico chiamato rsnapshothttp://www.rsnapshot.org/ – utilità di snapshot del filesystem per fare backup di sistemi locali e remoti. che utilizza rsync e hard link, che rende ansible la disponibilità immediata di più backup di file system completi. Basta fare sudo apt-get install rsnapshot e controllare info rsnapshot

Puoi sincronizzare i file all’interno di due direcotries tramite:

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

Facendo rsync -rv /path/to/directory1 /path/to/directory2 creerai la directory1 all’interno della directory2 , come questo /path/to/directory2/directory1/[files]

È ansible eseguire l’esecuzione utilizzando -n switch, ad esempio rsync -rnv /path/to/directory1/ /path/to/directory2

Riferimento: https://www.digitalocean.com/community/tutorials/how-to-use-rsync-to-sync-local-and-remote-directories-on-a-vps

Se si desidera un’interfaccia grafica su un sistema altamente configurabile, provare FreeFileSync. Vedere, ad esempio: http://linuxnorth.wordpress.com/2011/11/29/file-and-folder-synchronization/ In particolare, si desidera l’opzione “Aggiorna” per la sincronizzazione che “Copia i file nuovi o aggiornati in cartella destra “, ovvero copia dalla cartella sinistra alla cartella destra in una visualizzazione a due windows.