Sulla scia di quanto fatto da Little, propongo un semplicissimo script (che qualcuno potrebbe migliorare, è acerbissimo ed essenziale, non essendo io ferrato con i comandi del CMD) che funziona con windows e usa WinRAR
Create una cartella e create due file txt, nel primo ci scrivete i file che volete backuppare, per esempio il mio ha questa forma:
`C:\myfiles\*tex
C:\myfiles\*bib`
Cosi facendo io scelgo di backuppare tutti i file con estensione tex e con estensione bib. Naturalmente il contenuto è a vostra scelta, io ho fatto cosi per mantenere l’archivio leggero (considerando che si vuole fare un backup per ogni versione modificata o quasi).
Questo file salvatelo come filelist.lst (si, dovete cambiare l’estensione).
Adesso nel secondo file txt scrivete il codice vero e proprio:
`@echo off
SET WINRAR=C:\Program Files\WinRAR
SET BACKUP=C:\backuptesi
“%WINRAR%\rar.exe” a -agYYYYMMDDHHMM “%BACKUP%\backup-” -ep1 -r -m3 @”filelist.lst”
pause `
La riga SET WINRAR imposta il percorso dove è locato il file rar.exe; la riga SET BACKUP imposta il percorso dove volete salvare i i vostri backup; la terza riga è il codice vero e proprio e vale la pena spiegare cosa fanno i vari comandi.
“a” crea l’archivio, “-ag” imposta il nome del file con l’anno,mese,giorno,ora, minuto corrente. Poi c’è la destinazione, dove “Backup-” è la parte iniziale del nome. Quindi, alla fine vi ritrovete un file nella cartella impostata in SET BACKUP dal nome “backup201409031600″ (esempio fatto con la data e l’ora di oggi). Il comando -ep1 salva nel RAR solo i file e non tutta la struttura della cartella. Il comando -r include sottocartelle. Il comando -m3 imposta la compressione media (va da 0 a 5). Infine, @”filelist.lst” dice di includere nell’archivio i file che avete specificato in filelist.lst.
Ho messo un comando pause finale così è possibile leggere il riepilogo dei file archiviati; infatti si deve premere un tasto per chiudere la finestra di dialogo.
Salvate e rinominate il file in nome.bat (nome può essere qualsiasi).
Adesso ogni qual volta avviate questo file vi crea il vostro backup che riconoscerete comodamente dalla data e dall’ora nel nome.
Potete farlo manualmente quante volte volete e inoltre creare un processo automatico che lo faccia per voi. Per farlo, cercate in windows “utilità di pianificazione” , poi nella finestra che si apre cliccate Azione->Crea utilità di base. Qui si apre una creazione guidata molto semplice dove dovrete scegliere semplicemente la frequenza con la quale viene fatto il backup e come azione scegliete l’avvio di un programma, selezionando il file batch creato in precedenza.
Infine la chicca per chi è paranoico e ha paura che il PC vada a fuoco la notte: se la cartella di destinazione dei backlup è una sottocartella di dropbox, vi ritroverete i backup sempre aggiornati e al sicuro in un server.
EDIT: Per chi, come me, vuole un solo file da sbattachiare un po’ ovunque sul PC e quindi vuole liberarsi del file .lst, ho fatto questa versione:
`
@(
echo C:\myfiles\*tex
echo C:\myfiles\*bib
) > filelist.lst
SET WINRAR=C:\Program Files\WinRAR
SET BACKUP=C:\backup
“%WINRAR%\rar.exe” a -agDD_MM_YYYY-HH_MM “%BACKUP%\Backup-” -ep1 -r -m3 @”filelist.lst”
del filelist.lst
pause
`
CHe semplicemente crea, usa e dopo cancella il file .lst. Per aggiungere i file da backuppare alla lista, bisogna mettere le directory tra le parentesi iniziali; ad ogni directory aggiunta va aggiunto echo davanti. Questo perchè nel file filelist.lst le varie directory sono soperati da un “carriage return” (a capo) e questo è l’unico modo che sono riuscito a trovare per emulare la cosa.
Come prima, sicuramente non sarò perfetto ed elegante, ma fa il suo dovere.
Ho anche modificato il nome per rendere più leggibile data e ora.