Automatisation transfert ftp

Forum d'assistance et d'échange sur l'installation, la configuration, et l'utilisation des système Linux et BSD. Vous pouvez y poster vos questions concernant ces systèmes d'exploitation en faisant l'effort préalable de rechercher dans le forum, dans les manuels et les documentations que la réponse n'y figure pas.

Modérateur: modos Ixus

Automatisation transfert ftp

Messagepar supalou » 03 Mars 2005 18:07

Bonjour tout le monde, :D

Voila je dispose d'un proxy squid sur une machine. Celui ci me génère alors des log que je fait tourner via logrotate.
Ainsi dans /var/log/squid/ je dispose de 5 fichiers de log compressés(access.1.log.gz, access.2.log.gz...).
Je souhaiterai alors à jour fixe, depuis une autre machine distante, recupérer le fichier le plus ancien (dans ce cas se devrait être access.5.log.gz). Il faut donc passer par un ftp (en l'occurence j'utilise proftpd). Donc depuis mon client j'arrive sans problème à me connecter au serveur ftp pour rappatrier mon fichier (login:toto, password:toto). Le problème est que jaimerai que cela se fasse de manière automatique. Sur mon client, cron lancerai alors un script qui établierai la connexion au serveur ftp et telechargerai donc mon fichier. Jaimerai d'ailleur que celui ci est comme nom la date système à laquelle le transfert a été fait.

Je pense que cela doit être possible mais mon deuxième problème est que je débute sous linux et donc qu'au niveau scripting je ne my connais pas encore... :oops:

J'espère être parvenu a vous expliquer mon problème et que qq'1 aura la gentillesse de me fournir des solutions quelques soient elles.

Merci de votre attention

Lou :D
supalou
Matelot
Matelot
 
Messages: 6
Inscrit le: 03 Mars 2005 09:35

Messagepar tomtom » 03 Mars 2005 18:16

One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

re:

Messagepar supalou » 03 Mars 2005 18:27

Waaaaaaaa sérieux Tomtom je sais pas comment tu fais!!!!

Evidement j'avais pensé a google!!!! Mais j'avais pas trouvé ce site, et en plus c'est en francais :-)))

Je te remerci vraiment beaucoup, deja pour la rapidité de la reponse (7min si c'est pas formidable ca ;-) ) pour la précision (j'ai l'impression que c'est pil poil ce que je voulais!!!! chic chic chic. (Mais je testerai tout ca demain parce que ma journée est finie ;-P). Ensuite j'ai passé vraiment bcp d'heure sur ce forum et tes reponses pour d'autres questions m'ont vraiment bcp aidé.

Voila jvoulais juste le signaler ;-P

Encore merci !!!

Lou
supalou
Matelot
Matelot
 
Messages: 6
Inscrit le: 03 Mars 2005 09:35

Messagepar tomtom » 03 Mars 2005 18:35

Ca fait plaisir de faire plaisir :)

t.
One hundred thousand lemmings can't be wrong...
Avatar de l’utilisateur
tomtom
Amiral
Amiral
 
Messages: 6035
Inscrit le: 26 Avr 2002 00:00
Localisation: Paris

Merci encore :-D

Messagepar supalou » 04 Mars 2005 13:00

Bon ben voila je pose mes scripts, on ne sait jamais des fois que cela puisse un jour servir a quelqu'un ;-)

#!/bin/sh

ftp <<**

# ouverture de la connexion où XXX.XXX.XXX.XXX represente l'adresse IP du serveur FTP
open XXX.XXX.XXX.XXX

#recupère le fichier access.log en le renommant par la date systeme (jj.mm.aaaa)suivi de -access.log
get NomFichier `date +%x`-NomFichier

#met fin a la session ftp puis sort de ftp
bye

**


Script a placer dans le repertoire home executant le premier script avec les droits 600:

machine XXX.XXX.XXX.XXX

login toto

password test


Voili voilou

Lou
supalou
Matelot
Matelot
 
Messages: 6
Inscrit le: 03 Mars 2005 09:35

Messagepar jdh » 04 Mars 2005 14:02

Excuse Tomtom.

Le scriptage d'un FTP est interessant (et très modérément difficile).

Je pense qu'il serait peut-être meilleur de faire le boulot avec "logrotate".
En regardant la doc de logrotate, on peut voir qu'il est possible de faire une action intitulée "post-rotate".

Il y a peut-être moyen que ce soit la machine qui traite les logs qui envoie sur une autre machine le fichier log quitte à utiliser un script FTP ou mieux une commande type "scp".
Avatar de l’utilisateur
jdh
Amiral
Amiral
 
Messages: 4741
Inscrit le: 29 Déc 2002 01:00
Localisation: Nantes

Messagepar Jacques- » 06 Mars 2005 00:30

Il y a aussi moyen de déposer les fichiers avec logrotate dans un répertoire pariculier.
Et rien n'empêche ce répertoire soit un mapping réseau (NFS ou Samba).
Un petit test de lecture avant d'un fichier sur ce répertoire, si le test est OK, on copie le fichier, sinon on le place dans un autre répertoire tampon et on envoie un mail.

Genre :
[ -f /RepertoireDistant/FichierTest ] && mv FichierLog /RepertoireDistant || { mv FichierLog /RepertoireTampon ; mail -s probleme ..... ; }

Jacques
Avatar de l’utilisateur
Jacques-
Vice-Amiral
Vice-Amiral
 
Messages: 952
Inscrit le: 23 Jan 2003 01:00


Retour vers Linux et BSD (forum généraliste)

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron