Scrivo questo mini-tutorial su come effettuare un backup di un file che si trova su un computer windows in un computer linux (ho avuto bisogno di farlo su richiesta di un mio amico
)
Presupposti:
- I due pc devo essere in rete
- Il file da backuppare deve trovarsi in una cartella di windows condivisa
- Sul computer linux deve essere installato samba
Per effettuare il backup tramite script bash si crea un file e si inserisce:
#!/bin/bash
smbclient //nome_host/path_to_dir -N << EOF
get nome_file path_on_linux/nome_file
EOF
Spiego brevemente il comando smbclient:
- Il primo parametro indica il nome del pc windows seguito dal percorso in cui si vuole accedere (nel nostro caso ad es. il nome della cartella condivisa)
- Il parametro -N indica che samba non deve chiederci la password (ovviamente dipende dalla configurazione che abbiamo fatto). Nel caso abbiamo bisogno di mettere la password si può creare un file di autenticazione e passarglielo come parametro. In questo caso consiglio un bel $man smbclient
Il comando get dice a samba che deve prendere il file passato come parametro e copiarlo nel percorso su linux indicato nel secondo parametro.
Ok... così riusciamo a fare il backup del nostro file da windows a linux, ma dobbiamo sempre richiamarlo a mano lo script. Nel mio caso invece avevo bisogno che tutti i giorni alle 18.30 partisse in automatico questo script in modo che il backup venga fatto completamente in automatico, senza l'interazione di alcun utente... e qui entra in gioco cron!
Prima di passare a cron cmq consiglierei $ man smbclient per poter settare al meglio la propria configurazione.
Impostare cron è facilissimo, bisogna solo creare un file di testo con indicato la data e l'ora e il comando da far partire e poi darglielo in pasto. Nel nostro esempio creiamo un file chiamato cron.txt con:
0 18 * * * /path/comando
... aggiungiamolo a cron: $ crontab cron.txt
fine! cron tutti i giorni alle 18.00 eseguirà il backup per noi!
Ovviamente per conoscere bene il funzionamento di cron:
$ man cron
$ man crontab
e poi
questa guida che mi è stata molto utile per capire bene come impostare il file cron.txt
Running on:
Ubuntu Linux 5.10 (The Breezy Badger) - Ubuntu Linux 6.04 (The Dapper Drake)[Modificato da ReMichael 14/02/2006 12.42]