venerdì 20 settembre 2013

Brevi Esercizi: Backup dei file di testo presenti in una directory

Pomeriggio, Sandro, un signore che si sta avvicinando all'ottantina, doveva modificare alcuni file di testo presenti nella sua directory Documenti. Lui è un tipo molto premuroso e, ovviamente, mi ha chiamato tutto allarmato: Senti, Luigi, il tuo macinino (così chiama Lubit) funziona in modo discreto, ma ora vorrei fare il backup di alcuni file di testo che sto per modificare...prima che faccio casini come l'altra volta, chiedo il tuo aiuto...

Non avevo molto tempo, gli ho creato un piccolo script semplice semplice, che ho messo nella nostra cartella condivisa, su dropbox. Il fatto che non abbia ancora richiamato, è buon segno.

#!/bin/bash

a=backup

test -d $a || mkdir -p $a

for i in *.txt; do cp "$i"{,.bak} && mv "$i.bak" $a; done;

exit 0

Cosa fa lo script. Anzitutto controlla se esiste la cartella backup. Se non esiste la crea. Poi duplica tutti i file di testo presenti nella directory aggiungendo l'estensione .bak. Infine, tutti i nuovi file.bak vengono spostati nella cartella backup, precedentemente creata. Tutto qui.

Posto che i file di cui fare il backup siano nella cartella documenti, anzitutto metto lo script in codesta directory e poi

mi sposto dal terminale nella cartella documenti

$ cd  Documenti

rendo eseguibile lo script

$ chmod +x backup.sh

e lo eseguo. 

$ ./backup.sh

Indice brevi esercizi


Ok, alla prossima!

3 commenti:

  1. Ma non perchè un file abbia estensione .txt vuol dire che sia di testo, e nemmeno un file che non abbia estensione vuol dire che non lo sia.
    il comando "file" sarebbe stato più utile, no?

    RispondiElimina