ftp.tcl ... C'est jolie
#1
Bonjour ^^ Voilà je débute en TCL et j'ai quelques problèmes ^^
J'ai un projet pour mon bot qui est le suivant, chaque matin, à 2h du matin, il upload le fichier de logs créé automatiquement par l'eggdrop sur un FTP.
J'ai trouvé comment faire pour faire l'action à 2h

tcl
bind time - "00 02 * * *" upload
proc upload {min hour day month year } {
   // Ici l'upload du fichier
}



Mais pour l'upload, j'ai trouvé ftp.tcl sur ces forums mais j'avoue que je comprend pas comme il marche .. j'ai trouvé dans le code les fonctions mais après pour les utiliser... :/

# core ftp support: ftp::Open <server> <user> <passwd> <?options?>
# ftp::Close <s>
# ftp::Cd <s> <directory>
# ftp:Razzwd <s>
# ftp::Type <s> <?ascii|binary|tenex?>
# ftp::List <s> <?directory?>
# ftp::NList <s> <?directory?>


Mais concrètement, ça s'utilise comment .. x) ?
Merci beaucoup ^^
Répondre Avertir
#2
Ca s'utilise un peu comme Http, par exemple:
tcl
set test [::ftp::open 127.0.0.1 anonymous me@pas.la]
::ftp::Cd $test /test/
....
::ftp::close $test


Je ne suis pas bien certain de moi, mais je revois ça dans quelques heures, avec un bel exemple pratique.
Répondre
#3
Merci beaucoup Smile
Je suis entrain de faire des tests avec ce que tu m'as dis ^^
Mais, j'essaye de faire comme ca dans mon fichier de config

source scripts/logszelda.tcl <-- Fichier qui upload
source scripts/ftp.tcl <-- Le fichier qui contient les commandes

Mais il me dit toujours "invalid command name "::ftp:Surprisedpen" "
je dois absolument réunir les deux fichiers ?
Répondre Avertir
#4
Il vaut mieux charger d'abord scripts/ftp.tcl (ne serait-ce que par logique) et je pense qu'il manque une ligne importante dans ton script:
tcl
package require ftp


Répondre
#5
Merci Smile J'ai grandement avancé ^^ Mais je me trouve confronté avec un autre problème :/
Les logs de l'eggdrop sont sous la forme chan.log.16Jan2008 par exemple
J'essaye donc de faire ça

tcl
set temps strftime %d%b%Y [expr [unixtime] -10800]



Pour créer dans la variable temps, le "18Jan2008" avec le timestamp du jours d'avant vu que la MAJ se fait à 2h00 donc je retranche 3h par mesure de sécurité ^^ mais c'est trop beau ... et ça se marche pas xD

Edit: Bon ben avec de la chance, j'ai trouvé x)

tcl
set temps [strftime %d%b%Y [expr [unixtime]]]


Répondre Avertir
#6
Tout d'abord... Pas bien les noms des fichiers de log... Il vaudrait mieux utiliser que des formats numériques car sinon tu as le problème de la langue du serveur et des majuscules/minuscules.

Et tu pourrais utiliser:
tcl
clock scan "yesterday"


Répondre


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)
Tchat 100% gratuit -Discutez en toute liberté