LorisWave sotto l'albero
Sfrutta al meglio i software per semplificarti la vita

Evernote Windows: Backup - 5° parte

Script di esportazione giornaliera

Pubblicato in Evernote
GooglePlus icon
LinkedIn icon
MySpace icon
Pinterest icon
whatsapp icon

Siamo giunti ad occuparci di creare uno script per salvare giornalmente le note modificate recentemente in Evernote.

immagine di: Pete Birkinshaw

Avevamo deciso di salvare il backup giornaliero direttamente in una cartella di un servizio cloud, tipo google drive o dropbox, per questa ragione questi salvataggi non includeranno alcune note che si vuole essere assolutamente sicuri di mantenere private. I backup giornalieri inoltre non dovranno sovrascriversi, ma verranno mantenuti un numero definito di salvataggi.

Impostazionedei backup giornalieri

Per creare i backup giornalieri si deve definire come tenere traccia di quando è stato eseguito l'ultimo salvataggio e come creare un numero definito di file. Bisogna inoltre trovare il modo di escludere alcune note da questo salvataggio visto che verranno caricate su un cloud storage.
Il metodo che ho escogitato è molto basico e potrebbe essere migliorato ma vi posso assicurare che funziona e che per il momento non mi ha dato nessun problema.

il codice dello script è il seguente:

@ECHO OFF
SET /a salvataggi=20
SET RadiceNomeFile=Daily
SET path=D:\ALP\GoogleDriver\EvernoteBackup\Daily\
SET /a p=1
SET file=D:\ALP\GoogleDriver\EvernoteBackup\Daily\Sal.TXT

SET X=0
SET /p X=<%file%
SET /a test=%x:~0,1%
IF %test% equ 0 SET X=%DATE:~-4%%DATE:~3,2%%DATE:~7,2% 1

SET /a Tsal=%x:~9%
SET Usal=%x:~0,8%
SET NomeFile=%path%%RadiceNomeFile%_%Tsal%.enex

START enscript exportnotes 
/q "updated:%Usal% \-tag:.DT.Private" /f %NomeFile%

SET /a Nsal=%Tsal%+%p%
IF %Nsal% gtr %salvataggi% set /a Nsal=%p%
SET Var=%DATE:~-4%%DATE:~3,2%%DATE:~0,2% %Nsal%
ECHO %Var% >%file%

vediamolo riga per riga:

@ECHO OFF

Questo comando permette di visualizzare solo le informazioni che noi definiamo nello script.

set /a salvataggi=20

Viene definita la variabile numerica (/a) 'salvataggi' e gli viene assegnato il valore 20, da questo momento in poi potremo riutilizzarla richiamandola così:%salvataggi%
Io tendo a definire tutti i valori e variabili all'inizio dello script in modo da poter modificare più facilmente in seguito i comportamenti.
La variabile 'salvataggi' indica il numero massimo di salvataggi, uno per giorno, da eseguire prima di sovrascrivere quelli esistenti.

set RadiceNomeFile=Daily

Viene impostato la radice del nome del file contenente le note esportate

set path=D:\ALP\GoogleDriver\EvernoteBackup\Daily\

Viene impostato il percorso sul disco dove salvare gli export

set file=D:\ALP\GoogleDriver\EvernoteBackup\Daily\Sal.TXT

Viene impostato il nome del file dove scriveremo la data da cui salvare e il numero progressivo corrente

set /a p=1

Viene impostato un parametro utile in seguito

set X=0

Impostiamo il valore della variabile X a 0.

SET /p X=<%file%

Leggiamo la prima riga del file e lo facciamo diventare il valore di X, come si vede si è utilizzata la variabile %file% salvata in precedenza.

Set /a test=%x:~0,1%

Prendiamo solo il primo carattere della variabile X forzandolo ad un valore numerico (/a), in questo modo saremo sicuri di avere a che fare con un numero.

if %test% equ 0 set X=%DATE:~-4%%DATE:~3,2%%DATE:~7,2% 1

Nel caso la lettura del file non fosse andata a buon fine o semplicemente se è la prima volta che utilizziamo questa procedura ed il file non esiste alla variabile X non potrà essere assegnato nessun valore e rimarrà perciò uguale a 0, in questo caso definiamo il valore di X con la data attuale (vedrete più avanti il significato di questo comando) e con un numero progressivo uguale a 1

set /a Tsal=%x:~9%

Dal valore di X estraiamo il numero progressivo dell'ultimo salvataggio

set Usal=%x:~0,8%

Dal valore di X estraiamo la data dell'ultimo salvataggio

set NomeFile=%path%%RadiceNomeFile%_%Tsal%.enex

Definiamo il nome ed il percorso del file del file da salvare unendo il path, la radice del nome, il numero progressivo estratto dal file Sal.txt

start enscript exportnotes
/q "updated:%Usal% -tag:.DT.Private" /f %NomeFile%

Lanciamo lo script di esportazione note. Bisogna notare le seguenti cose:

  1. La query di ricerca delle note è racchiusa tra le virgolette.
  2. La data di update è quella estratta dal file.
  3. Per escludere dalla esportazione delle note abbiamo usato \-tag:NomeTagDaEscludere, il simbolo '\' serve per indicare allo script che il carattere '-' deve essere passato così come è e non come simbolo meno, sarà ENscript che lo dovrà interpretare come un meno.
  4. Il nome file è stato costruito precedentemente e passato così allo script.
set /a Nsal=%Tsal%+%p%

Viene definita la nuova variabile 'Nsal' che corrisponde al valore di 'Tsal' aumentato di un unità.

if %Nsal% gtr %salvataggi% set /a Nsal=%p%

Se 'Nsal' è maggiore (gtr) di 'salvataggi' viene impostato il valore a 1.

set Var=%DATE:~-4%%DATE:~3,2%%DATE:~0,2% %Nsal%

Viene definita una nuova variabile che è composta dalla data odierna e dal valore di 'Nsal', la data odierna si richiama con la variabile %DATA%, ed il suo formato è solitamente 31/11/2013, ossia 2 cifre per il giorno, due per il mese ed infine 4 per l'anno intervallata dal carattere '/', in Evernote il formato che ci serve invece è 20131131, ossia anno, mese e giorno, per ottenere questo valore si procede estraendo dalla data le ultime 4 cifre (%DATE:~-4%), poi le due che corrispondono al mese (%DATE:~3,2%) ed infine le due che corrispondono al giorno (%DATE:~0,2%)

ECHO %Var% >%file%   

Infine scriviamo il file definito dalla variabile 'file' che contiene come prima riga la data in cui è stato eseguito l'ultimo salvataggio ed il numero progressivo usato più uno.

Questo script, adeguato alle vostre esigenze, sopratutto per quanto riguarda il percorso dei file, se lanciato regolarmente permette di esportare le ultime note modificate in una serie di file.

Conclusione

Abbiamo realizzato uno script che esegue il salvataggio di tutte le note che sono state modificate dall'ultimo salvataggio, tranne quelle che hanno il tag '.DT.Private'; lo script inoltre salva un file su cui viene scritta la data dell'ultimo salvataggio ed un numero progressivo che viene riportato a 1 dopo 20 incrementi. Ora non rimane che fare in modo che il file venga eseguito regolarmente; questo come avevamo fatto per il backup mensile verrà realizzato tramite la funzionalità 'Task scheduler' o 'Utilità di pianificazione' di Windows e non essendoci particolari accorgimenti non è necessario mostrarlo nuovamente.

Come volete realizzare il backup settimanale delle note di Evernote?

Ti piace questo post? Pagalo!

Un condivisione è la moneta migliore con cui ripagare chi scrive. Se ti è piaciuto quello che hai letto o se lo hai trovato utile condividilo con i tuoi amici.

GooglePlus icon
LinkedIn icon
MySpace icon
Pinterest icon
whatsapp icon

Altri articoli

Potrebbero anche interessarti i seguenti articoli:

L'articolo precedente: "Come evitare l'information overloading in Evernote"
L'articolo successivo: "Possibili usi di Evernote: Organizzare, 5° parte"

tre commenti

Rosario Rizzo

Loris, leggendo il tuo articolo mi vengono in mente le cose “turche” che facevo negli anni ’80 con i files .BAT del DOS con i pochissimi mezzi messi a disposizione dai PC di quei tempi!
Penso che non sono molte le persone che conoscono qualche comando MSDOS richiamabile da Windows, la stragrande maggioranza sono “ben abituate” da utilities varie e programmi specifici.
Ottimo script ed ottima spiegazione di uno che con queste cose ci lavora spesso.
Per rispondere alla tua domanda, i backup che faccio sono molto semplici.
Considerato che seguo il metodo Getting Things Done disciplinatamente, ogni sabato pomeriggio (o se scappa, la domenica mattina), eseguo sempre la fase di verifica del metodo, ed in questa è previsto il backup di Evernote.
Seleziono tutte le note ed eseguo l’esportazione (7 gigabytes ad oggi) in una cartella sincronizzata di Dropbox. La stessa cartella viene anche salvata da TimeMachine del Mac.
Se poi penso che il mio account Evernote è anche sincronizzato con il PC fisso quotidianamente, sono abbastanza tranquillo.

Capisco e condivido il salvataggio incrementale (settimanale nel tuo caso), ma visto che non ho problemi di spazio su disco, preferisco il salvataggio globale anche se devo attivarlo manualmente io stesso.

Una domanda te la faccio io adesso.
Pur avendo i salvataggi settimanali, quale politica di “ripristino” adotti in caso di necessitá?
Visto che un progetto dura normalmente più di una settimana, in caso di necessitá come fai a ricostruire l’intera situazione se devi ripristinare da, diciamo, una decina di settimane?

Rosario Rizzo
LorisWave

La prima cosa che mi preme dire è che non ho mai avuto bisogno di ripristinare nulla per fortuna.
Per rispondere alla tua domanda il mio piano di backup è incrementale giornaliero e full settimanale; Il backup giornaliero utilizza lo script descritto in questa pagina, il backup settimanale utilizza la stessa tecnica descritta nei post precedenti solo che avviene settimanalmente.

In caso di necessità perciò ho tre soluzioni, ripristinare alcune note dai backup giornalieri, ripristinare tutte le note da un backup settimanale o ripristinare il database, che salvo sempre in automatico ogni settimana. La scelta dipende dal tipo di problema che devo andare a risolvere.

Evernote è installato su tre diversi computer, perciò anche io sono abbastanza tranquillo.

LorisWave
http://giganetwebhosting.com

My relatives all the time say that I am killing my time here at web,
however I know I am getting experience everyday by reading thes nice articles.

http://giganetwebhosting.com

Aggiungi un commento

Notifica