Newsgroup: it.comp.macintosh
Titolo: Automatizzare ftp

Cosa posso usare per automatizzare un download in ftp?
 
Mi serve una cosa che controlli ogni tot tempo se sono state aggiunte 
delle cartelle su un server ftp e me le scarichi.
 


 
#!/bin/bash
# connect.sh
 
#######################################################################
# ShellScript: connect.sh - connect,create user,copy file,extract file
# Author     : Claudio Ciseria (claudio.ciseria@.it
# Date       : 19-03-2003
# Category   : File Transfer
# Version    : 1.0
#######################################################################
 
#######################################################################
# Changes:
# - ip included from a source file ip-data
#
#######################################################################
 
 
# Source of ip list
 
. ip-data
 
 
# Define exit status 65 for error during connection
 
WRONG_EXIT="65"
 
 
 
# 'cmd' function: print command during telnet session and define the
# sleep time to wait for next command.
 
function cmd {
	echo "$1"
	sleep $2
}
 
 
 
# Begin for loop for every ip in $ip.
 
for ip in $IP
do
 
 
 
	 # 1st telnet session: create the default user 'devel'.
 
	 echo "Tentativo di connessione Telnet a 172.31.100.$ip"	
	 (
		sleep 5
		cmd 'cubeuser' 1
		cmd 'cubeuser' 3
		cmd 'su -' 3
		cmd '' 3
		cmd 'adduser prova' 1
		cmd 'prova' 2
		cmd 'prova' 2
	     )|telnet 172.31.100.$ip
 
 
	# If the exit code equal 1 we're done.
 
	if [ $? -eq 1 ]
	then
		echo
		echo "Default user succesfully created..."
		echo
	else
		echo
		echo "Default user creation failed..."
		echo
		exit $WRONG_EXIT
	fi
 
 
 
	# Ftp session: execute command passed by ftp.cmd file.
	# See 'man ftp' for more.
 
	echo "Tentativo di connessione ftp a 172.31.100.$ip"	
	if  ftp -i 172.31.100.$ip<ftp.cmd
 
		then
			echo
			echo "Ftp command on $ip done succesfully..."
			echo
 
		else
			echo
			echo "Ftp command on $ip failed..."
			echo
			exit $WRONG_EXIT
	fi
 
 
 
 
	# 2nd telnet session: extract the configuration file.
 
	echo "Tentativo di connessione telnet a 172.31.100.$ip"
	    (
		sleep 5
		cmd 'prova' 1
		cmd 'prova' 3
		cmd 'su' 3
		cmd '' 3
		cmd 'ls' 3
	     ) | telnet 172.31.100.$ip
 
 
	# If the exit code equal 1 we're done.
 
	if [ $? -eq 1 ]
	then
		echo
		echo "Telnet session on $ip done succesfully..."
		echo
	else
		echo
		echo "Telnet command on $ip failed..."
		echo
		exit $WRONG_EXIT
	fi
 
 
 
 
# End of for loop.
 
done
 
 
# All done. Exit with code 0.
 
exit 0
 
-- 
El saòn no'l sa gnente, l'inteligente el sa poco, l'ignorante el sa 
tanto, el mona el sa tuto!

 # ShellScript
 
Cercavo qualche cosa di meno semplice... possibilmente in linguaggio 
macchina. (grazie comunque)
 
Mi basterebbe anche un qualcosa che mi spedisce una email quando vegono 
caricati dei file.
 

Il 23/10/14 14:16, Luna ha scritto:

:)
 
Prova a vedere: 
http://www.crushftp.com/features.html
 
 
ma perchè devi farlo lato client?!?! Non può notificarti chi i file li 
carica?


 macchina. (grazie comunque)
 
In linguaggio macchina?


http://it.wikipedia.org/wiki/Linguaggio_macchina
 
 

 Non può notificarti chi i file li carica?
 
Purtroppo no...
 


Cioè, vorresti un file binario eseguibile ottenuto per compilazione e
link di un sorgente ad alto livello, scritto in una forma "uman
readable"?
E perché mai non ti è sufficiente un file eseguibile ma che viene
interpretato a run time? 
Andare a vedere se qualcuno ha messo un file in un server non ha
necessità di real time, mi sembra...
Eppoi, la semplicità non fa premio sulla complicazione?


 Eppoi, la semplicità non fa premio sulla complicazione?
 
Che brutta fine ha fatto l'ironia...
 

 Prova a vedere: 
http://www.crushftp.com/features.html
 
 
è un server, a me serve un client.
 

 Che brutta fine ha fatto l'ironia...
 
0000 0001 1111 0111 0010 1010 0001 0110 
0010 1010 1101 0110 1100 0001 1011 0101
0110 0010 1010 1101 1101 1101 1011 1110
 
-- 
// Treat everyone u meet like u want to be treated
        aggiungere un tra per spedire posta

 cartelle su un server ftp e me le scarichi.
 
cURL  
http://curl.haxx.se/
 
cerca tra le opzioni, so che lo fa (lo usavo per sincronizzare una 
cartella locale con il contenuto di una remota su ftp, scaricando solo i 
file modificati o nuovi).
 
-- 
Sans

Curlftp + rsync. Facile facile.