FTP avviare trasferimenti in automatico a più server

Qui vengono spostati discussioni e messaggi ritenuti inadeguati per il contenuto o la forma con cui sono stati espressi.
Scrivi risposta
Avatar utente
nuzzopippo
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1638
Iscrizione: giovedì 12 ottobre 2006, 11:34

FTP avviare trasferimenti in automatico a più server

Messaggio da nuzzopippo »

nuzzopippo [url=http://forum.ubuntu-it.org/viewtopic.php?p=4870205#p4870205][img]http://forum.ubuntu-it.org/images/icons/icona-cita.gif[/img][/url] ha scritto:Ciao, visto per caso questo post e mi ha intrigato :D

Credo che ncftpput sia una semplice soluzione al Tuo problema, ovviamente abbinato ad un piccolo script

per avere ncftpput sul Tuo sistema devi installare il pacchetto "ncftp" che si trova nei repository, puoi installarlo dal Software-manager o da terminale con

Codice: Seleziona tutto

sudo apt-get install ncftp
per fare il download di tutti i file di una direttrice, comprese le subdirectory potresti posizionarti nella direttrice da trasmettere e dare un comando del tipo

Codice: Seleziona tutto

ncftpput -u utente -p assword host_remoto directory_remota *
ove utente e password sono, ovviamente, il tuo nome utente e password di login sul server ftp remoto, se usi accessi anonimi leggi la docs, directory_remota è la direttrice del server in cui devono andare a finire i files trasmessi (può anche essere creata), mentre * indica tutti i file presenti nella direttrice che devi trasmettere.

supposto di voler fare una poco sofisticata automazione e che la direttrice degli script nella tua home sia "~/my_script" potresti fare una cosa del genere :
1 - in un file di testo (supponiamo parametri.txt) scrivi, una riga per volta, i parametri che metteresti manualmente per effettuare l'operazione con uno specifico server
2 - scrivi uno script che ti fa la scansione, riga per riga, del file "parametri.txt" e lancia ogni volta l'upload sul server in questione, una cosa del genere :

Codice: Seleziona tutto

#!/bin/bash

f=$1

echo "trasmetto $f"
while read LINE
do
	risp=ncftpput $LINE
	echo "Ricevuto $risp"
done < $f
i codici di ritorno li trovi nella pagina man lincata.
ovviamente salvi lo script con nome appropriato (supponiamo trasmetti.sh) e gli dai i permessi di esecuzione

Supponiamo tu salvi i due files in una direttrice my_script nella home, ti posizioni nella direttrice da trasmettere e dai

Codice: Seleziona tutto

~/my_script/trasmetti.sh ~/my_script/parametri.txt
e se tutto è stato fatto per bene credo la cosa dovrebbe andare. Lo script sopra non lo ho testato ma credo che funzioni, per script più sofisticati ci sono utenti molto capaci in bash script che bazzicano nella sezione programmazione, certamente sapranno aiutarti molto meglio di me.

Fai sapere, ciao :)
Fatti non foste a viver come bruti ...
Scrivi risposta

Ritorna a “Quarantena”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti