Sempre piu’ spesso la mole di dati che ci troviamo a dover gestire ci impone di creare ed utilizzare i piu’ svariati servizi di Cloud Storage presenti sul mercato, molti di questi offrono comode partizioni gestibili via FTP su cui spostare/upgradare tutti i nostri piu’ preziosi ricordi.
Come fare pero’ ad organizzare un sistema di backup e ripristino di questi dati, possibilmente rendendo l’operazione facile come scorrere il nostro filesystem locale? La soluzione potrebbe risiedere in un software per Linux, che permette di montare un server FTP come se fosse una normale directory del proprio filesystem.
Per fare questo è necssario installare curlftpfs dal proprio repository. In Ubuntu bastera’ basta digitare nel terminale:
sudo apt-get install curlftpfs
Una volta installato possiamo montare la nostra cartella ftp con il seguente comando da terminale:
sudo curlftpfs -o user=utente:password mio_server punto_di_mount
Se per esempio il server fosse ftp.<mio_server>.it , con nome utente pippo e, con password pluto, il comando sarà:
sudo curlftpfs -o user=pippo:pluto ftp.<mio_server>.it /media/scambio /il_mio_punto_di_mount
Da questo momento in poi la mia cartella /media/scambio conterrà i files presenti sul server FTP e potranno essere copiati, spostati ed eliminati come se fossero presenti sul proprio filesystem. In questo modo, se si dovesse avere anche un minimo di conoscenza di programmazione della shell, si potra’ creare uno script per il backup dell’intero disco/repository/sito (insomma di quello che volete) con pochissimi comandi, automatizzando il tutto.
Fonte: https://tuttiperlinux.blog
Quello di oggi è un piccolo consiglio per usare l’FTP in modo molto semplice. Curlftps solitamente non è installato automaticamente nelle maggiori distribuzioni Linux, nonostante ciò si trova facilmente nei repository. Le istruzioni per l’installazione sono le solite, per Red Hat si digita su terminale:
yum -y install curlftpfs
per Debian si digita su terminale:
apt-get install curlftpfs
Inoltre Curlftpfs è un programma a riga di comando, che io sappia non è stata ancora creata alcuna gui, nonostante ciò il funzionamento è semplice e non mi dilungherò in spiegazioni, ecco un esempio su terminale:
curlftpfs -o user="user:pwd" ftp.miosito.it /mnt/miosito.it
Una volta lanciato il comando troveremo il nostro server FTP remoto montato sotto
/mnt/miosito.it
sarà possibile spostare i file o modificare i permessi come se stessimo operando in locale. Inoltre ho voluto provare ad aprire un file di testo con Gedit e salvarlo. Dopo una legittima attesa viene salvato automaticamente anche in remoto. Non ho ancora fatto tentativi, ma mi sembra un’ottima soluzione per i backup remoti. Sarebbe possibile montare automaticamente il filesystem FTP in locale, ed avviare Rsync in modo che trasferisca i file differenti nella directory remota. Dei trasferimenti si occuperebbe Curlftpfs, lasciando ad Rsync solo l’onere della destinazione.
Botti finali da non perdere…
Dopo qualche tempo di utilizzo mi sono imbattuto casualmente nel più banale dei comandi a riga di comando:
ps ax
comando che mostra i processi in esecuzione al momento del lancio. Mi ha stupito il fatto che potessi leggere in chiaro la stringa completa di curlftpfs (compresa di user e password ftp). Se il computer viene usato da più utenti è meglio fare in modo che tali informazioni non siano così in bella vista. Per fare ciò è sufficiente creare il file:
.netrc
nella home directory dell’utente interessato. Al suo interno andrà il seguente contenuto:
machine ftp.miosito.it
login miousername
password miapassword
Successivamente lanciare curlftpfs specificando semplicemente la directory di destinazione, così:
curlftpfs ftp.miosito.it /mnt/miosito/
Fonte: https://thejoe.it
Puo' essere utile montare un filesystem FTP su una directory locale. Immaginiamo per esempio scenari dove si devono fare copie di backup incrementali tramite Rsync o altre situazioni analoghe. La prima cosa da fare e' installare il pacchetto Curlftpfs un programma che fornisce l'accesso ai servizi FTP, basandosi su Libcurl e FUSE.
Montiamo manualmente il filesystem.
Con il seguente nel terminale e' possibile montare da riga di comando il filesytem:
curlftpfs -o allow_other,ro ftp://utente:
PS: con le opzioni allow_other,ro permettiamo rispettivamente agli utenti non root di accedere e montiamo il fs in sola lettura (ro - read only), altrimenti scrivere rw per consentire anche la modifica dei file.
Note sulla sicurezza.
Per non mostrare le credenziali nell'elenco dei processi e' consigliabile creare il file
.netrc
nella home dell'utente che lancia curlftpfs, con questa sintassi:
machine ftp.server.it
login nomeutente
password passwordsegreta
fatto cio' il comando da dare per il montaggio del fs risulta semplicemente essere il seguente:
curlftpfs -o allow_other,ro ftp://ftp.server.it /mnt/puntodimontaggio
Automontare il filesystem con Fstab all'avvio di Linux.
Aggiungiamo a /etc/fstab la seguente riga
curlftpfs#ftp.server.it /mnt/puntodimontaggio fuse allow_other,ro,user,auto 0 0
e salvare. Le credenziali vanno messe (come esposto prima) nel file /root/.netrc
Volendo possiamo mettere tutto su /etc/fstab (per comodita') aggiungendo le seguente riga:
curlftpfs#www.freemedialab.org /mnt/fml fuse users,allow_other,ro,user=UTENTE:PASSWORD 0 0
e poi salvare.
Montare tutto con udevil.
Protremmo anche usare il solo udevil per montare il tutto in un unico comando:
udevil mount -t curlftpfs -o allow_other,ro,user=USER:PASSWORD www.miosito.org
Fonte: http://www.freemedialab.org
Curlftpfs è un programma gratuito per Linux, che mediante il protocollo FTP consente di utilizzare una cartella presente in un server remoto come un prolungamento del proprio computer, per esempio una parte di un sito web che viene così costantemente aggiornato di foto e video realizzati da una telecamera. Scambiandosi i dati tra dispositivo e server remoto è come se la propria macchina fosse più potente, oppure come se il proprio smartphone basato su Linux avesse un ulteriore disco dati, oppure come se una scheda elettronica della famiglia Raspberry Pi disponesse di una espansione che la potenzia. Se una parte di un lavoro (analisi di foto, rielaborazione di video per ottimizzarli, pubblicazione online automatica, ecc. ecc.) viene svolta in un server remoto ecco che si alleggerisce il proprio computer (anche vecchio), il proprio smartphone, il proprio tablet oppure la propria scheda elettronica dal consumo delle proprie risorse. Un tecnico ingegnoso può teoricamente utilizzare una cartella dentro un sito web, basato su un servizio che garantisce spazio illimitato e banda illimitata, per avere un deposito di file ed informazioni praticamente illimitato solo se riesce a mascherare il tutto come un aggiornamento del proprio portale, altrimenti tutti i server gratuiti bloccano chi li sfrutta come depositi, ed i controlli ci sono. Se più utilizzatori di Linux condividono la stessa cartella dentro ad un server ecco che più computer, tablet, smartphone e/o schede elettroniche basati su Linux si possono scambiare file, video, informazioni senza passare dai soliti sistemi di sincronizzazione (come Dropbox oppure Mega). Si tratta di un protocollo di trasferimento dati FTP, quindi a bassa sicurezza, non utilizzate questo metodo per informazioni sensibili ed importanti.
In questo esempio ecco un comando su terminale (si presuppone che Curlftpfs sia già installato su linux) per far condividere la cartella del vostro computer /home/utente/nuovefoto con la cartella remota /nuovefoto presente in un sito gratuito aperto nel server Altervista (username: yyyyyyy password: xxxxxxx), per una pubblicazione immediata ed automatica di fotografie:
curlftpfs -o allow_other,rw ftp://yyyyyyy:
e battere il tasto invio (Enter). Importante ricordarsi che il comando allow_other,rw ha l'istruzione rw, ovvero "read write", e quindi potrete copiare i file già presenti in remoto oppure aggiungerne di nuovi, e perfino sovrascriverli.
Con un editor di testi salviamo sul desktop due file, ovvero "Avvio.sh" e "Fermare.sh", serviranno per automatizzare l'utilizzo di Curlftpfs con un altro metodo alternativo che ora verrà spiegato.
Nel file "Avvio.sh" inserire il comando:
curlftpfs -o allow_other,rw ftp://yyyyyyy:
e poi salvare.
Nel file "Fermare.sh" inserire il comando:
killall curlftpfs
e poi salvare.
Tramite il terminale bisogna ora rendere eseguibili i due file .sh, grazie al comando:
sudo chmod a+x /home/utente/Desktop/Avvio.sh
e dopo
sudo chmod a+x /home/utente/Desktop/Fermare.sh
verrà richiesta la password di amministrazione per via del comando sudo.
I due file eseguibili .sh vengono quindi collocati in una cartella, dove non verranno mai più spostati da dove si trovano.
A questo punto si può modificare il Menù del proprio sistema operativo, per esempio con il programma Alacarte. Dapprima si aggiunge una sezione dedicata a Curlftpfs.
Il primo comando aggiunto al Menù servirà per avviare tutto quando necessario:
sudo sh /home/utente/Curlftpfs/Avvio.sh
Importante selezionare che volete lanciare il programma nel terminale (vedere la freccia qui sopra), così il sistema vi potrà chiedere la password di root.
Il secondo comando fermerà invece l'esecuzione del programma quando necessario, tramite il comando:
sudo sh /home/utente/Curlftpfs/Fermare.sh
Anche in questo caso cliccate che volete l'esecuzione nel terminale (indicato dalla freccia qui sopra).
Ecco i due comandi pronti nella sezione del Menù, potete ora chiudere Alacarte (o simili) per proseguire.
Basta quindi avviare il programma Curlftpfs dal Menù, grazie al pulsante che abbiamo realizzato.
Si apre un terminale con la richiesta della password di root, inseritela correttamente per avviare tutto.
Una volta che Curlftpfs si è avviato ecco che non soltanto si accede ai dati dentro al server remoto come se si trovassero su un disco fisso del vostro computer (nel caso in esempio una piccola immagine fantascientifica), ma appare l'icona di un volume nel file manager chiamata "nuovefoto", come se si trattasse di una pennetta usb o di un'altra memoria classica montata nel filesystem.
Inserisco quindi nella cartella dentro al mio computer una seconda piccola immagine fantascientifica, per vedere se essa viene trasferita nel server remoto, che potrebbe trovarsi anche a diecimila chilometri di distanza.
Andando a controllare con un normale programma FTP ecco che la piccola immagine è presente nel server remoto, nella giusta posizione dentro al filesystem.
Per bloccare tutto basta andare nel Menù, cliccare l'apposito comando, inserire la password di root ed il programma Curlftpfs si fermerà.
Il programma Curlftpfs si è fermato, l'accesso ai file nel server remoto è ora impossibile ed è scomparso il volume "nuovefoto" dal file manager di Linux.
Articolo del Webmaster del portale Ogigia.
Ci sono persone in Italia che vorrebbero usare Curlftpfs assieme ai servizi web di Aruba.it oppure Altervista.org , ma non sanno come fare. Nel caso di un normale account di Altervista.org (il cosiddetto Altersito) ecco le classiche impostazioni (sostituite user e password con i vostri parametri di accesso, quasi sempre in caratteri minuscoli) su terminale di Linux:
curlftpfs -o allow_other,rw ftp://USER:
Con Aruba.it , oppure con il servizio Alterblog (Wordpress) di Altervista.org, il problema si complica perchè l'user del collegamento ftp contiene una "chiocciola" (ovvero @) , su Aruba potrebbe essere
curlftpfs -o nonempty -o allow_other -o user=ftp@USER:PASSWORD ftp://ftp.USER.altervista.org/Cartellaremota /home/utente/Cartellalocale
Ecco invece agire su Aruba.it, dovrete inserire anche il vostro dominio www (per esempio www.miosito.it ) assieme al vostro username (nell'esempio
curlftpfs -o nonempty -o allow_other -o user=
Presso altri siti web ci possono essere metodi differenti, qualora ci sia un username con la "chiocciola" dentro all'user. Alcuni sostituiscono il carattere @ con il piccolo codice %40 , ma funziona raramente. Ecco qui sotto esempi trovati per altri server, ed altri servizi online.
curlftpfs -o allow_other,ro,user=USER:PASSWORD www.miosito.org
curlftpfs -o user="
curlftpfs ftp.example.com /mnt/ftp/ -o user=username:password,allow_other
curlftpfs -o user='myaccount:mypassword?!' thefptserver.com
Questa raccolta di dati è stata realizzata dal Webmaster del portale Ogigia.