Discussione:
Copia di backup su cartella condivisa in rete e versioning
(troppo vecchio per rispondere)
pozz
2024-04-28 21:50:12 UTC
Permalink
Mi piacciono i backup fatti in una semplice cartella condivisa, dove
posso consultare direttamente i file, nella loro ultima versione
(versione dell'istante in cui è stato fatto l'ultimo backup).

Ci sono una miriade di possibilità per copiare ricorsivamente, facendo
un mirror, i file presenti in una cartella locale di Windows su una
cartella condivisa in rete. Si può anche usare un semplice xcopy o robocopy.

Ora mi piacerebbe avere anche un versioning dei file che vengono
modificati/cancellati, magari mantenendo soltanto un certo numero di
versioni oppure tutte le versioni fino ad un dato momento.

Cosa potrei usare, senza scomodare l'installazione di cose sul server
che gestisce le cartelle condivise (tipo NextCloud), quindi lavorando
solo sul client... che è un Windows?

Una cosa molto vicina a quella che voglio fare io potrebbe farlo rsync
con l'opzione --backup e --backup-dir. Dopo il primo comando di sync,

rsync -avz c:\data \\nas\backup

si potrebbe usare per i successivi backup la riga di comando:

rsync -avz --backup --backup-dir=inc1 c:\data \\nas\backup

Se il file c:\data\data.txt viene modificato, mi ritroverò la vecchia
versione del file in \\nas\backup\inc1\data.txt e la nuova normalmente
in \\nas\backup.

Eventualmente le cartelle \\nas\backup\inc* potrebbero essere zippate.

Non ho trovato un binario rsync per Windows, ma si può far girare con
msys2 (e immagino con il WSL).


Interessante è anche restic, ma mi sembra che il repository dove viene
creato il backup non sia immediatamente sfogliabile da Esplora Risorse,
ma bisogna prima ripristinare il backup (o un suo snapshot) con appositi
comandi.

Altre idee?
angelo
2024-04-29 08:29:42 UTC
Permalink
Post by pozz
Mi piacciono i backup fatti in una semplice cartella condivisa, dove
posso consultare direttamente i file, nella loro ultima versione
(versione dell'istante in cui è stato fatto l'ultimo backup).
Ci sono una miriade di possibilità per copiare ricorsivamente, facendo
un mirror, i file presenti in una cartella locale di Windows su una
cartella condivisa in rete. Si può anche usare un semplice xcopy o robocopy.
Ora mi piacerebbe avere anche un versioning dei file che vengono
modificati/cancellati, magari mantenendo soltanto un certo numero di
versioni oppure tutte le versioni fino ad un dato momento.
Cosa potrei usare, senza scomodare l'installazione di cose sul server
che gestisce le cartelle condivise (tipo NextCloud), quindi lavorando
solo sul client... che è un Windows?
Una cosa molto vicina a quella che voglio fare io potrebbe farlo rsync
con l'opzione --backup e --backup-dir. Dopo il primo comando di sync,
  rsync -avz c:\data \\nas\backup
  rsync -avz --backup --backup-dir=inc1 c:\data \\nas\backup
Meglio se ogni ad ogni backup salvi i rimossi o modificati in directory
separate per data/ora:

DAY0=`date -I`_`date +%H-%M`
rsync -avz --backup --backup-dir=delta-$DAY0 c:\data \\nas\backup
Post by pozz
Se il file c:\data\data.txt viene modificato, mi ritroverò la vecchia
versione del file in \\nas\backup\inc1\data.txt e la nuova normalmente
in \\nas\backup.
Con la modifica invece poi ti ritrovi tutte le successive versioni
salvate per data.
Post by pozz
Eventualmente le cartelle \\nas\backup\inc* potrebbero essere zippate.
O spostate su bluray

angelo
evanmac
2024-04-29 11:00:03 UTC
Permalink
Bisognerebbe usare sempre restic per recuperare i file sul
backup dell'ultima versione o precedenti.
non sembra che ti sia documentato abbastanza:

<https://restic.readthedocs.io/en/stable/050_restore.html#restore-using-mount>
--
this is a random signature
pozz
2024-04-29 20:06:42 UTC
Permalink
Post by evanmac
Bisognerebbe usare sempre restic per recuperare i file sul
backup dell'ultima versione o precedenti.
<https://restic.readthedocs.io/en/stable/050_restore.html#restore-using-mount>
Avevo letto, però non è disponibile per Windows, che è l'OS che uso.
ObiWan
2024-04-29 14:44:17 UTC
Permalink
:: On Sun, 28 Apr 2024 23:50:12 +0200
:: (it.comp.reti.locali)
Post by pozz
Mi piacciono i backup fatti in una semplice cartella condivisa, dove
posso consultare direttamente i file, nella loro ultima versione
(versione dell'istante in cui è stato fatto l'ultimo backup).
brutta idea, se la cartella condivisa sullo "storage" è accessibile in
scrittura ai client, nel momento in cui il client si becca un "ransom"
ti ritrovi con la cartella di backup e, qualsiasi altra cartella di
rete accessibile in scrittura, crittate dal "ransom"; è meglio usare un
approccio diverso nel quale lo "storage" NON è visibile al client ed è
il server a prelevare i dati di cui fare backup
Post by pozz
Una cosa molto vicina a quella che voglio fare io potrebbe farlo
rsync con l'opzione --backup e --backup-dir. Dopo il primo comando di
sync,
rsync -avz c:\data \\nas\backup
se sei familiare con rsync, potresti consierare di far girare il server
rsycn sui client e, dal server di "storage" prelevare i files
modificati dai vari client, in alternativa potresti considerare l'uso
di BareOS https://www.bareos.com/ ed installare l'agent sui vari client
(che potranno essere anche dei server), funzionamento simile, ma molto
più semplice e flessibile
pozz
2024-04-29 20:10:04 UTC
Permalink
Post by ObiWan
:: On Sun, 28 Apr 2024 23:50:12 +0200
:: (it.comp.reti.locali)
Post by pozz
Mi piacciono i backup fatti in una semplice cartella condivisa, dove
posso consultare direttamente i file, nella loro ultima versione
(versione dell'istante in cui è stato fatto l'ultimo backup).
brutta idea, se la cartella condivisa sullo "storage" è accessibile in
scrittura ai client, nel momento in cui il client si becca un "ransom"
ti ritrovi con la cartella di backup e, qualsiasi altra cartella di
rete accessibile in scrittura, crittate dal "ransom"; è meglio usare un
approccio diverso nel quale lo "storage" NON è visibile al client ed è
il server a prelevare i dati di cui fare backup
Questo è vero, ma è il motivo per cui volevo anche il versioning. Anche
prendendo un ransomware che si propaga nella cartella di backup, potrei
sempre tornare indietro ad una versione precedente.
Post by ObiWan
Post by pozz
Una cosa molto vicina a quella che voglio fare io potrebbe farlo
rsync con l'opzione --backup e --backup-dir. Dopo il primo comando di
sync,
rsync -avz c:\data \\nas\backup
se sei familiare con rsync, potresti consierare di far girare il server
rsycn sui client e, dal server di "storage" prelevare i files
modificati dai vari client, in alternativa potresti considerare l'uso
di BareOS https://www.bareos.com/ ed installare l'agent sui vari client
(che potranno essere anche dei server), funzionamento simile, ma molto
più semplice e flessibile
Chiaramente se devo mettere mani al "server" dove c'è la cartella
condivisa, le soluzioni sono molteplici. Però chiedevo proprio se fosse
possibile evitarlo e lavorare solo di client.
pozz
2024-04-30 06:41:24 UTC
Permalink
Post by pozz
Post by ObiWan
:: On Sun, 28 Apr 2024 23:50:12 +0200
:: (it.comp.reti.locali)
Post by pozz
Mi piacciono i backup fatti in una semplice cartella condivisa, dove
posso consultare direttamente i file, nella loro ultima versione
(versione dell'istante in cui è stato fatto l'ultimo backup).
brutta idea, se la cartella condivisa sullo "storage" è accessibile in
scrittura ai client, nel momento in cui il client si becca un "ransom"
ti ritrovi con la cartella di backup e, qualsiasi altra cartella di
rete accessibile in scrittura, crittate dal "ransom"; è meglio usare un
approccio diverso nel quale lo "storage" NON è visibile al client ed è
il server a prelevare i dati di cui fare backup
Questo è vero, ma è il motivo per cui volevo anche il versioning. Anche
prendendo un ransomware che si propaga nella cartella di backup, potrei
sempre tornare indietro ad una versione precedente.
Però mi sembra di aver detto una cavolata, o almeno in parte.

Se il versioning è fatto esponendo, sempre nella stessa cartella
condivisa, le versioni precedenti (come nell'esempio di rsync sotto), il
ransomware potrebbe crittare anche quelle.

Probabilmente per evitare ciò si dovrebbe mettere le versioni precedenti
in un'altra cartella sul server che *non* sia condivisa, cosa che mi
obbliga a mettere mani al server.

Anche zippando con password le vecchie versioni non servirebbe in quanto
il ransomware potrebbe crittare anche questi che poi diventerebbero
illeggibili.
Post by pozz
Post by ObiWan
Post by pozz
Una cosa molto vicina a quella che voglio fare io potrebbe farlo
rsync con l'opzione --backup e --backup-dir. Dopo il primo comando di
sync,
    rsync -avz c:\data \\nas\backup
se sei familiare con rsync, potresti consierare di far girare il server
rsycn sui client e, dal server di "storage" prelevare i files
modificati dai vari client, in alternativa potresti considerare l'uso
di BareOS https://www.bareos.com/ ed installare l'agent sui vari client
(che potranno essere anche dei server), funzionamento simile, ma molto
più semplice e flessibile
Chiaramente se devo mettere mani al "server" dove c'è la cartella
condivisa, le soluzioni sono molteplici. Però chiedevo proprio se fosse
possibile evitarlo e lavorare solo di client.
ObiWan
2024-04-30 10:38:46 UTC
Permalink
:: On Tue, 30 Apr 2024 08:41:24 +0200
:: (it.comp.reti.locali)
Post by pozz
Se il versioning è fatto esponendo, sempre nella stessa cartella
condivisa, le versioni precedenti (come nell'esempio di rsync sotto),
il ransomware potrebbe crittare anche quelle.
E non solo, alcuni ransomware effettuano una "scansione" sulla rete in
cerca di share esposte e poi se ottengono l'accesso, crittano tutto
quel che trovano e/o vanno a modificare alcuni files in modo che se li
si esegue il codice del ransomware venga installato sul computer che
esegue quel dato file :P
Post by pozz
Probabilmente per evitare ciò si dovrebbe mettere le versioni
No, per evitare ciò si usa un approccio diverso, come quello utilizzato
da BareOS, ossia con degli "agent" installati sulle macchine delle
quali eseguire il backup ed un server che, tramite tali "agent" esegue
il backup, il tutto senza esporre alcuna condivisione e senza usare
soluzioni "artigianali" ed inefficaci.
Allen
2024-04-30 15:27:42 UTC
Permalink
Post by ObiWan
E non solo, alcuni ransomware effettuano una "scansione" sulla rete in
cerca di share esposte
Bastasse, pure dei volumi locali non mappati ma formattati ntfs/fatxx.
--
ObiWan <***@mvps.org> Message-ID: <***@mvps.org>
ma evidentemente qualcuno qui pensa che il tempo che gli altri dedicano
a rispondergli non abbia valore mentre il suo ne ha.
ObiWan <***@mvps.org> Message-ID: <***@mvps.org>
Documentati, leggi, decidi e poi semmai se ne potrà riparlare.
Message-ID: <pan$91027$7e88083$34e36d0$***@carotone.net>
Come disse un mio amico, a certe persone si fa prima a metterglielo nel
c**o che nel capo

DhnaqbNyyravaqvpnyurnqreybfzvymbthneqnvychagb
pozz
2024-04-30 06:43:40 UTC
Permalink
Post by pozz
Post by pozz
Cosa potrei usare
restic
<https://restic.net>
Domanda. restic sulla cartella condivisa crea un repo di backup. Su
questo posso creare anche degli snapshot.

I file nel repo non sono direttamente leggibili (cioè non posso
sfogliare i file originale, come dicevamo), ma sono alla fine dei file
qualsiasi.

Un ransomware potrebbe andare a crittare questi file rendendo tutto il
backup fatto con restic inutile, giusto?
Ammammata
2024-04-30 09:36:27 UTC
Permalink
Mi piacciono i backup fatti in una semplice cartella condivisa, dove posso
consultare direttamente i file
spero che "consultare" significhi che tu li puoi solo *leggere* mentre
al programma di backup sono stati ovviamente assegnati anche i diritti
di scrittura
--
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........
pozz
2024-04-30 11:22:42 UTC
Permalink
Post by Ammammata
Post by pozz
Mi piacciono i backup fatti in una semplice cartella condivisa, dove
posso consultare direttamente i file
spero che "consultare" significhi che tu li puoi solo *leggere* mentre
al programma di backup sono stati ovviamente assegnati anche i diritti
di scrittura
In effetti dovrebbe essere così...
Loading...