Abbiamo creato questo script Bash per organizzare i nostri backup secondo una struttura utile e manutenibile.
Ogni notte vengono generati vari snapshot degli applicativi, con nome del file organizzato secondo il formato DATA-NOME.EXT (ad esempio 2015-01-01-nome-prodotto.tar.gz), che vengono trasferiti in più server di storage e memorizzati in directory che, col tempo e il crescere dei dati, diventano facilmente ingestibili.
Con backup-keeper, puoi mantenere l’ organizzazione dei backup secondo una logica basata sul tempo, tenendo al più N snapshot mensili, M snapshot settimanali e D snapshot giornalieri. Lo script utilizza la parte NOME per riconoscere i file e li organizza secondo le vostre opzioni.
La struttura dati di backup-keeper
Vogliamo ad esempio tenere i backup organizzati per 12 mesi, 4 settimane e 7 giorni. Possiamo farlo con questo comando:
./backup-keeper.sh -k 12 -l 4 -d 7 -p directory
Prima dell’esecuzione
directory |-- 2015-10-23-file.tar.gz |-- 2015-10-22-file.tar.gz |-- ... |-- 2015-10-17-file.tar.gz |-- ... |-- 2015-09-30-file.tar.gz |-- ...
Dopo l’esecuzione
directory |-- monthly |-- 2015-10-01-file.tar.gz |-- 2015-09-01-file.tar.gz |-- ... |-- weekly |-- 2015-10-19-file.tar.gz |-- 2015-10-12-file.tar.gz |-- ... |-- 2015-10-23-file.tar.gz |-- 2015-10-22-file.tar.gz |-- ... |-- 2015-10-16-file.tar.gz
Backup-keeper è rilasciato secondo la licenza open source GNU Public License (GPL) 2.
Puoi scaricare backup-keeper dall’indirizzo https://github.com/mastershadow/backup-keeper.
Aspettiamo le vostre pull request 🙂
Tag: backup