Da tempo volevo scrivere su come archivio i miei file e come faccio i backup, ma non ho mai trovato il tempo. Recentemente è apparso qui un articolo simile al mio, ma con un approccio diverso.
Da molti anni cerco il metodo ideale per archiviare i file. Penso di averlo trovato, ma c'è sempre spazio per migliorare; se avete qualche suggerimento su come fare meglio, sarei felice di leggerlo.
Inizierò con alcune parole su di me: mi occupo di sviluppo web e nel tempo libero faccio fotografie. Da qui emerge la necessità di archiviare progetti lavorativi e personali, foto, video e altri file.
Ho circa 680 GB di file, di cui circa il 90% sono foto e video.
Il ciclo di vita dei file nei miei archivi:

Qui c'è uno schema approssimativo di come e dove archiviare tutti i miei file.
Ora in modo più dettagliato.
Come si può vedere, il cuore di tutto è il mio NAS, precisamente il Synology DS214, uno dei NAS più semplici offerti da Synology, eppure riesce a gestire tutto ciò di cui ho bisogno.
Dropbox
Il mio computer è un MacBook Pro 13, del 2015. Ho 512GB, ma non ci stanno tutti i file, quindi conservo solo ciò che mi serve al momento. Sincronizzo tutti i miei file e cartelle personali con Dropbox; so che non è molto affidabile, ma svolge solo la funzione di sincronizzazione. E lo fa meglio di tutto ciò che ho provato finora. E ho provato tutti i servizi cloud più famosi e anche alcuni meno noti.
Anche Synology ha il proprio cloud, che può essere implementato sul proprio NAS. Ho provato diverse volte a passare da Dropbox a Synology Cloud Station, ma ho sempre avuto problemi di sincronizzazione, costantemente errori o non sincronizzava tutto.
Tutti i file importanti sono archiviati nella cartella Dropbox; a volte salvo qualcosa sul desktop, per non perdere nulla, ho creato un link simbolico nella cartella Dropbox usando il programma MacDropAny.
La cartella Download non si sincronizza affatto, ma non contiene nulla di importante, solo file temporanei. Se scarico qualcosa di importante, lo copio nella cartella corrispondente in Dropbox.
Le mie avventure con DropboxUna volta, intorno al 2013-2014, conservavo tutti i miei file solo su Dropbox, senza alcun backup. All’epoca non avevo 1TB, quindi non pagavo per questo; avevo circa 25GB che avevo guadagnato invitando amici o completando altre attività.
Una mattina meravigliosa accendo il computer e tutti i miei file sono scomparsi. Ho ricevuto anche un'email da Dropbox in cui si scusavano e dicevano che i miei file erano andati persi per loro colpa. Mi hanno fornito un link per ripristinare i miei file, ma ovviamente non ho recuperato nulla. Per questo motivo mi hanno regalato 1TB per un anno, dopo di che sono diventato un loro cliente; per quanto strano possa sembrare, non mi sono mai fidato di loro.
Come ho scritto in precedenza, non sono riuscito a trovare un servizio cloud più adatto a me; in primo luogo, non c'erano problemi di sincronizzazione e in secondo luogo, molti servizi funzionano solo con Dropbox.
Git
I file di lavoro vengono archiviati su un server aziendale, mentre i miei progetti personali sono su GitLab; qui è tutto semplice.
Time Machine
Faccio anche il backup di tutto il sistema, escludendo ovviamente le cartelle Dropbox e Downloads, per non occupare spazio inutile. Il backup del sistema lo faccio tramite Time Machine, uno strumento eccellente che mi ha salvato più di una volta. Utilizzo lo stesso NAS, visto che offre questa funzionalità. Si può utilizzare anche un HDD esterno, ma è meno comodo. Bisogna collegare ogni volta il disco esterno e avviare manualmente Time Machine. A causa della pigrizia, spesso facevo questi backup ogni poche settimane. Invece, sul server il backup viene fatto automaticamente, non mi accorgo nemmeno quando avviene. Lavorando da casa, ho sempre una copia di riserva aggiornata di tutto il mio sistema. Vengono creati diversi backup al giorno, non ho mai contato quante volte e con quale frequenza.
NAS
Qui avviene tutta la magia.
Synology ha un ottimo strumento chiamato Cloud Sync, penso sia chiaro dal nome cosa faccia.
Può sincronizzare molti sistemi cloud tra loro, per essere più precisi, sincronizza i file dal server NAS con altri cloud. Penso ci siano recensioni su questo programma in rete. Non entrerò nei dettagli. Preferisco descrivere come lo utilizzo.

Sul server ho una cartella disco chiamata Dropbox, che è una copia del mio account Dropbox; la sincronizzazione di tutto ciò è gestita da Cloud Sync. Se succede qualcosa ai file su Dropbox, accadrà anche sul server, non importa se vengono eliminati o creati. In generale, è una sincronizzazione classica.
Yandex Disk
In seguito, carico tutti questi file sul mio Yandex Disk, che utilizzo come un disco di backup fai-da-te. Quindi, carico file ma non elimino nulla da lì, creando una sorta di discarica di file, ma mi ha salvato la pelle un paio di volte.
Google Drive
Lì invio solo la cartella "Photos", anche in modalità di sincronizzazione, e lo faccio solo per poter visualizzare comodamente le foto in Google Foto e avere la possibilità di eliminarle da lì; esse vengono eliminate ovunque (tranne che su Yandex Disk, ovviamente). Parlerò delle foto più avanti; potrei scrivere un articolo a parte su di esse.
HyperBackup
Tuttavia, tutto ciò non è molto affidabile; se un file viene accidentalmente eliminato, verrà rimosso ovunque e si può considerare perso. Certo, si può recuperare da Yandex Disk, ma innanzitutto avere un backup in un solo posto non è molto sicuro di per sé, e Yandex Disk stesso non è quel servizio di cui si possa avere fiducia al 100%, anche se non ho mai avuto problemi con esso.
Perciò, ho sempre cercato di conservare i file anche in altri luoghi, già con un sistema di backup adeguato.

Anche Synology ha uno strumento al riguardo, chiamato HyperBackup, che consente di eseguire il backup dei file su altri server Synology o su soluzioni cloud di produttori terzi.
Inoltre, permette di fare il backup su dischi esterni collegati ai NAS, così ho fatto fino a poco tempo fa. Ma anche questo non è affidabile: ad esempio, in caso di incendio, sarebbero a rischio sia il server che l'HDD.
Synology C2
Qui arriviamo a un altro servizio, quello di Synology stessa. Essa offre soluzioni cloud per l'archiviazione dei backup. È progettato specificamente per HyperBackup, eseguendo un backup ogni giorno, e questo è un backup ben progettato: ci sono versioni dei file, una linea temporale e persino client per Windows e macOS.

Per quanto riguarda la conservazione dei file, è tutto. Spero che i miei file siano al sicuro.
Passiamo ora all'organizzazione dei file.
File normali, libri, scansioni di documenti e altri file poco importanti li organizzo manualmente nelle cartelle come tutti. Di solito non sono molti e li apro raramente.
La cosa più complessa è organizzare le foto e i video, ne ho molti.
Scatto da alcune decine a diverse centinaia di foto al mese. Utilizzo una reflex, un drone e a volte il telefono. Le foto possono essere personali o per stock. Inoltre, a volte registro video domestici (non quello che pensate, solo video di famiglia, spesso con mia figlia). Anch'essi devono essere conservati e organizzati, per evitare confusione.
Ho una cartella nello stesso Dropbox chiamata Sort Images, ci sono sottocartelle dove finiscono tutte le foto e i video, da lì vengono presi e ordinati dove necessario.

La organizzazione avviene su un server NAS, dove funzionano script bash che vengono avviati automaticamente una volta al giorno per svolgere il loro lavoro. Anche il loro avvio è gestito dal NAS, che ha un pianificatore di attività responsabile dell'esecuzione di tutti gli script e di altre operazioni. Puoi configurare quanto spesso e quando saranno avviati i compiti, un cron con interfaccia se vuoi semplificarlo.

Ogni cartella ha il suo script. Ora parliamo in dettaglio delle cartelle:
Drone — qui finiscono foto scattate con il drone per scopi personali. Prima elaboro tutte le foto in Lightroom, poi esporto in JPG in questa cartella. Da lì vengono trasferite in un'altra cartella di Dropbox, "Photo".
Lì c'è una cartella "Drone" e lì vengono già ordinate per anno e mese. Gli script creano automaticamente le cartelle necessarie e rinominano le foto secondo il mio modello, solitamente consiste nella data e nell'ora in cui sono state scattate, aggiungo anche un numero casuale alla fine per evitare file con lo stesso nome. Non ricordo perché l'inserimento dei secondi nel nome del file non fosse adatto.
Дерево имеет такой вид: Photo/Drone/2019/05 — May/01 — May — 2019_19.25.53_37.jpg

Drone Video — attualmente non sto filmando video con il drone, c'è molto da imparare, al momento non ho tempo, ma ho già creato la cartella.
Images Operations — qui dentro ci sono due cartelle, quando i file finiscono lì, vengono semplicemente compressi per il lato massimo a 2000px per la pubblicazione su internet oppure si effettua il rovesciamento delle immagini, questo non mi serve, ma per ora non ho cancellato la cartella.
Panoramas — qui arrivano, come facilmente si può indovinare, le panoramiche; le conservo separatamente poiché sono un tipo specifico di foto, di solito fatte con un drone. Faccio anche panoramiche normali, ma faccio anche panoramiche a 360 gradi e a volte sfere, quel tipo di panoramiche come piccole pianete, le faccio anch'esse con un drone. Da questa cartella tutte le foto vanno anche in Photo/Panoramas/2019/01 — Maggio — 2019_19.25.53_37.jpg. Qui non faccio ordinamenti mensili poiché le panoramiche non sono poi così tante.
Foto Personali — qui si trovano le foto che scatto con la reflex, di solito foto familiari o di viaggi, in generale foto che vengono fatte per i ricordi e per me stesso. Inoltre, elaboro le foto RAW in Lightroom e poi le esporto qui.
Отсюда они попадают сюда: Photo/2019/05 — May/01 — May — 2019_19.25.53_37.jpg
Se ho registrato qualche evento o altro che è meglio conservare separatamente, in cartella 2019 creo una cartella con il nome dell'evento e ci copio le foto manualmente.
RAW — qui arrivano i file sorgente delle foto. Scatto sempre in RAW, conservo tutte le foto in JPG, ma a volte voglio anche tenere i file RAW, a volte desidero elaborare diversamente un determinato scatto. Di solito si tratta di natura e ci vanno solo i migliori scatti, non tutto.
Foto Stock — qui carico le foto per gli stock, che faccio sia con la reflex che con il drone. La classificazione è la stessa delle altre foto, semplicemente in una cartella a parte.
Nella directory principale di Dropbox, c'è una cartella chiamata Camera Uploads, che è la cartella predefinita dove l'app mobile di Dropbox carica tutte le foto e i video. Tutte le foto di mia moglie dal telefono vengono caricate in questo modo. Anche io carico qui tutte le mie foto e video dal telefono e poi li organizzo in una cartella separata. Ma lo faccio in modo diverso, più comodo per me. Esiste un'app per Android, FolderSync, che consente di prendere tutte le foto dal cellulare, caricarle su Dropbox e poi eliminarle dal telefono. Ci sono molte impostazioni, la consiglio. In questa cartella finiscono anche i video dal telefono, che vengono organizzati come tutte le foto, per anni e mesi.
Ho raccolto tutti gli script io stesso da varie istruzioni su internet, non ho trovato soluzioni pronte. Non so nulla di script bash, potrebbero esserci errori o ci potrebbero essere cose che si potrebbero fare meglio, ma la cosa più importante per me è che svolgono il loro lavoro e fanno ciò di cui ho bisogno.
Ho caricato gli script su GitHub:
In passato, per ordinare foto e video, usavo Hazel su macOS, dove tutto è più semplice: tutte le attività vengono create visivamente, senza dover scrivere codice. Tuttavia, ci sono due svantaggi. In primo luogo, devo mantenere tutte le cartelle sul computer affinché tutto funzioni correttamente e, in secondo luogo, se dovessi passare a Windows o Linux, non ci sono programmi simili. Ho provato a cercare alternative, ma nessuna era soddisfacente. La soluzione con gli script sul server è più universale.
Tutti gli script sono configurati per essere eseguiti una volta al giorno, di solito di notte. Ma se non ho tempo di aspettare e devo eseguire uno script immediatamente, ci sono due soluzioni: connettermi al server tramite SSH e eseguire lo script necessario, oppure accedere all'area di amministrazione e avviarlo manualmente. Tutto ciò mi sembra poco pratico, quindi ho trovato una terza soluzione. Esiste un'app per Android che può inviare comandi SSH. Ho creato diversi comandi, ciascuno con il suo pulsante, e ora, se devo ad esempio ordinare le foto scattate con un drone, basta premere un pulsante e lo script si attiva. L'app si chiama SSHing, ce ne sono altre simili, ma per me è la più comoda.

Ho anche diversi miei siti, che sono più per forma, praticamente nessuno li visita, ma fare un backup non guasta. I siti li tengo su DigitalOcean, dove ho installato il pannello aaPanel. Lì è possibile creare backup di tutti i file e di tutti i database, ma sullo stesso disco.
Conservare il backup sullo stesso disco non ha senso, quindi utilizzo anche uno script bash per accedervi e copiare tutto sul mio server, archiviando tutto in un unico archivio con la data nel nome.
Spero che i metodi che utilizzo e di cui ho condiviso possano essere utili a qualcun altro.
Come si può vedere dall'articolo, amo l'automazione e cerco di automatizzare tutto il possibile; molte cose non le ho descritte dal punto di vista dell'automazione, poiché trattano di altri argomenti e altri articoli.
Fonte: habr.com
