[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [linux_var] Time Machine de' noartri
Il giorno 09 apr 2017, alle ore 09:29, Giovanni Orlandi <orlangio@gmail.com> ha scritto:
> Obbiettivo:
[…]
io al posto tuo aggiungerei agli obiettivi una qualche forma di pulizia delle cose troppo vecchie, perché così come la descrivi ti ritrovi un repository git cresce all’infinito nel tempo.
Potresti valutare di fare repo separati. Per le cose che crescono “poco”, che tipicamente sono ciò che potremmo definire “configurazione”, non cancelli nulla e li tieni per sempre come riferimento storico. Per le cose che crescono “tanto”, ciò che tipicamente definiremmo “dati”, implementi una qualche forma di pulizia del passato.
Se sei disposto a lasciar perdere l’aspetto “educativo” del fai da te e preferisci una soluzione precotta: installati un freenas, dalla web interface scheduli degli snapshot zfs e relativa pulizia di quelli vecchi. Attivi la compressione on the fly e la setti sull’algoritmo più lento ma più “comprimente”.
Opzionalmente abiliti anche data encryption (occhio a non perdere la chiave ;). Stai lontano dalla deduplica.
A quel punto basta che ci fai sopra rsync dalle macchine che vuoi backuppare, quante volte vuoi anche ogni 2 minuti.
Avrai sempre la possibilità di tornare all’ultimo rsync, e per il passato dipende da come hai schedulato gli snapshot.
NB la web interface ti consente di creare più schedulazioni così da farli “time machine style” (per esempio un tot di snapshot hourly + un tot daily + un tot weekly etc….)
> e) !!! Salvare i miei DB mysql !!! (questa la vedo + complicata)
Io anziché salvare il db ne salverei un dump sql, occupa un po’ più di spazio sul sistema perché devi farne appunto questo dump “di appoggio” ma è più comodo vederne i diff e/o selezionare solo quel che vuoi in caso di ripristino. Se però mi parli di 83k righe parliamo di più o meno “niente” quindi non starei nemmeno a preoccuparmi dello spazio.
Certo che se il tuo database comincia a crescere intorno ai gigabyte di dimensione dei dati, un dump testuale sql diventerebbe grossino da gestire (e se fai cose tipo mysqldump | bzip2 ti perdi la gestione “per diff” )
> Quello che avevo pensato era :
> 1) per ogni macchina mi faccio una lista di file e/o directory che intendo salvare.
> 2) faccio con rsync o "simili" una copia dei file/directory in una cartella di appoggio ( es. /opt/go.backup/* )
> 3) faccio con git un aggiornamento di tale cartella verso il repository di backup ( pensavo gitlab è abbastanza sicuro ??? )
> Possibilmente il tutto in "automatico" a scadenza giornaliera/settimanale
Non ho capito perché vuoi fare una directory di appoggio, che vantaggio ti da rispetto a buttare direttamente le cose dentro a un repo git dalla loro posizione originale?
> Su tale meccanismo ho vari dubbi:
> d1: gitlab è abbastanza sicuro ?
> (ci sarebbero conservati file contenenti password/dati personali/etc…)
Non commento gitlab, non lo uso. Se fai un banale sistema con sopra git e vai di chiavi ssh, ecco di OpenSSH mi sento di dirti che è abbastanza sicuro (se usi le ultime versioni e segui gli update pubblicati dalla distro).
> d2: come automatizzo l'inserimento/commit delle variazioni in git ?
leggendo man cron
> basta nello script prevedere un "git add *" e mi funziona anche con le sotto directory ?
man git-add
> e se volessi tenere traccia anche della cancellazione dei file ?
man git-rm
> e se volessi escludere alcuni tipi di file/directory, tipo quelli che iniziano col punto ( .NF98E.php.swp ) ?
man gitignore
> dove meglio intervenire, sulla rsync locale o sul "git add *”
è meglio non fare proprio la rsync
> d3: per i db mysql al momento utilizzo mysqldump con inserimento manuale della password.
> Si potrebbe automatizzare il mysqldump senza "cablare" delle password dentro ?
man mysql —> vedi --defaults-extra-file
vim /root/.my.cnf
chown root:root /root/.my.cnf
chmod 600 /root/.my.cnf
> C'è già qualche tool che faccia un dump&split delle tabelle in modo che poche variazioni su una tabella da 83.456 righe non mi costringa a ricopiarla tutta ?
Si: mysqldump > ilmiodatabase.sql && git add ilmiodatabase.sql && git commit
--
Luca Lesinigo
_______________________________________________
Talking mailing list
Talking@ml.linuxvar.it
http://ml.linuxvar.it/cgi-bin/mailman/listinfo/talking