Salve a tutti. Ho un piccolo problema con rsync che non riesco a risolvere.

Devo fare la sincronizzazione (unidirezionale) di tre cartelle e di un singolo file. Questo singolo file cambia ogni volta che esco dal programma che lo utilizza. Ad esempio ABCD.20151114_01 diventa quando esco dal programma ABCD.20151114_02.

Non ho problemi a sincronizzare le cartelle mentre non so come dire a rsync di sincronizzare di una cartella solo l'ultimo file scritto in ordine di tempo. Devo sincronizzare (sarebbe meglio dire backuppare) solo quel singolo file (oltre le cartelle).

Grazie

chiesto 14 Nov '15, 09:37

orbscan1's gravatar image

orbscan1
8231725

@orbscan1: il problema è che sulla destinazione ti ritrovi entrambi i file e vorresti solo l'ultimo? Ma quando il programma che modifica il file termina, lascia solo l'ultimo o li lascia entrambi?

(14 Nov '15, 10:32) enzotib ♦♦ enzotib's gravatar image

Il programma ogni volta che esce mi fa un file nuovo. Io mi ritrovo così molti files ma devo backuppare solo l'ultimo. E con resync non so come fare... Grazie

(14 Nov '15, 15:06) orbscan1 orbscan1's gravatar image

@orbscan1: non credo che rsync abbia una tale opzione. Penso a due possibili soluzioni:

  1. creare una linea di comando apposita che selezioni e indichi solo l'ultimo file con qualche istruzioni di bash
  2. creare uno script che sia sempre attivo e che ogni tot di tempo ripulisca la directory dai file vecchi.

La prima soluzione è meno invasiva, ma per cercare di darti una mano a realizzarla avrei bisogno del comando esatto che utilizzi quando lanci rsync.

(15 Nov '15, 09:41) enzotib ♦♦ enzotib's gravatar image

Questo è lo script che uso attualmente:

sudo rsync -av /home/carletto/dir1 /media/carletto/My_Passport

sudo rsync -av /home/carletto/dir2 /media/carletto/My_Passport

sudo rsync -av /home/carletto/dir2 /media/carletto/My_Passport

Così sincronizzo le tre directory che mi servono. Manca un file che però viene aggiunto ogni volta che esco dal programma di archivio.

Come posso fare per backuppare anche quello? Dovrei aggiungere una istruzione che dica: copia dalla directory /home/carletto solo il file più recente nella directory /media/carletto/My_Passport

Grazie

(15 Nov '15, 17:09) orbscan1 orbscan1's gravatar image

Il comando per sincronizzare solo l'ultimo file potrebbe essere il seguente:

sudo rsync -av "$(ls -rt /home/carletto/ABCD.* | tail -n 1)" /media/carletto/My_Passport
coll. permanente

ha risposto 15 Nov '15, 21:56

enzotib's gravatar image

enzotib ♦♦
14.0k112186

GRAZIEEEEE!!!!! Funziona perfettamente

(16 Nov '15, 17:26) orbscan1 orbscan1's gravatar image

@orbscan1: quindi dovresti accettare la mia risposta (cliccando sul segno di spunta sotto al voto) e magari darle un voto positivo.

(16 Nov '15, 17:41) enzotib ♦♦ enzotib's gravatar image
La tua risposta
abilita/disabilita anteprima

Segui questa domanda

Via email:

Una volta eseguito l'accesso potrai iscriverti a tutti gli aggiornamenti qui

Via RSS:

Risposte

Risposte e commenti

Basi di markdown

  • *corsivo* o __corsivo__
  • **grassetto** o __grassetto__
  • collegamento:[testo](http://url.com/ "titolo")
  • immagine?![alt testo](/path/img.jpg "titolo")
  • elenco numerato: 1. Foo 2. Bar
  • per aggiungere un'interruzione di riga, aggiungi due spazi a fine riga e premi «Invio»
  • è supportato anche semplice HTML

Tag:

×5

domanda posta: 14 Nov '15, 09:37

domanda visualizzata: 978 volte

ultimo aggiornamento: 16 Nov '15, 17:41

Chiedi è un servizio di supporto gestito da Ubuntu-it. Contattaci!

powered by OSQAPostgreSQL database
Ubuntu e Canonical sono marchi registrati da Canonical Ltd.