Backup automatico di una cartella remota, tramite connessione sftp
13 gennaio 2014  //  By:   //  Linux  //  1 comment   //   961 Views

Partiamo la nostra guida dal fatto che dobbiamo fare un backup di una cartella remota cioè che si trova presumibilmente su una macchina server. Quindi il nostro strumento di connessione tra le due macchina sarà SFTP (secure file transfer protocol) che fa parte di ssh.

Detto ciò prima fare questo dovrete se non l’avete già fatto creare una connessione ssh automatica al vostro server (articolo) cioè senza la richiesta di una password ma tramite chiavi pubbliche.

Una volta creata basta creare un semplice script bash che adesso vedremo come fare, lo script che poi verrà eseguito in automatico tramite crontab presuppone di fare un backup della cartella quindi ho preferito non sovrascrivere la cartella ma ogni volta che verrà scaricata avrà come nome la data nel formato YYYY-MM-GG e dentro ci sarà la vostra cartella di download.

Create un file che chiameremo scriptBackup e inserite questo testo non inserisco !#/bin/bash in quanto il mio terminale principale è bash (per ulteriori info)

inserisco sudo sftp perchè non tutti gli utenti hanno il permesso di usarlo, quindi può variare in base al vostro utente. Ora dobbiamo dare i permessi di esecuzione al file tramite il comando:

per provarlo andate nel vostro path tramite il comando cd /path/  ,ed eseguitelo in questo modo:

vedrete che vi dirà subito un Warning: tcgetattr failed in ssh_rl_set_tty_modes_for_fd: fd 0: Inappropriate ioctl for device, questo non fermerà lo scritp ma è solo per dirvi che la ridirezione ( che sarebbe <<) di EOF non finisce da nessuna parte quindi niente paura, andrà tutto a buon fine. 🙂

Arrivati a questo punto dobbiamo rendere questo scriptBackup automatico ed utilizziamo come detto prima crontab. Andiamo a creare un altro file nello stesso PATH dove è situato il nostro script di backup che chiameremo crontab.txt. Questo esempio che andremo a vedere crea un backup alle 3 AM del 14 di ogni mese, faremo in seguito anche una guida su automatizzare tramite cron.

ora dobbiamo farlo leggere a cron, l’opzione -u rappresenta l’utente che dovrà far partire lo script.

Verifichiamo se è stato effettivamente ricevuto e attivato su cron tramite

Questo è tutto e buon lavoro 

 

 

About the Author :

BI CONSULTING. Studente di Ingegneria Informatica, Sistemista Linux e appassionato di tutto ciò che sia tecnologico ma soprattutto Open Source. Distro: Debian e Arch LInux. Smartphone: Nexus / Lg G2 Buona Lettura  Visualizza il profilo su Linkedln

1 Comment to “Backup automatico di una cartella remota, tramite connessione sftp”

Leave a reply