Module Lua ftp
Le module ftp
permet de transférer des fichiers en FTP ou SFTP (SSH). Il expose deux fonctions :
get(remotePath, localPath)
pour télécharger un fichier.put(localPath, remotePath)
pour envoyer un fichier.
Pour l’importer, utilisez :
Configuration
Ajoutez dans aca04-agentaca.yaml
:
modules:
ftp:
- name: ftp1 # nom du module
protocol: sftp # "ftp" ou "sftp"
host: files.example.com # hôte du serveur
port: 22 # port 21 (FTP) ou 22 (SFTP); optionnel
user: deploy # utilisateur
password: hunter2 # mot de passe (pour auth par mot de passe)
# key_file: /path/id_rsa # chemin de la clé privée (pour SFTP key auth)
timeout_ms: 5000 # timeout de connexion en ms (défaut 5000)
Détails de la configuration
- name : nom unique de l’instance.
- type : doit être
ftp
. - protocol :
"ftp"
ou"sftp"
. - host : nom DNS ou IP du serveur.
- port : port TCP (21 pour FTP, 22 pour SFTP).
- user : login utilisateur.
- password : mot de passe (si pas de clé).
- key_file : chemin vers la clé privée (pour SFTP).
- timeout_ms : délai de timeout en millisecondes.
Fonctions Lua
ftp1.get(remotePath, localPath)
Télécharge le fichier remotePath
sur le serveur et le stocke sous localPath
en local.
- Paramètres
remotePath
(string) : chemin distant.localPath
(string) : chemin local de destination.- Retour
true
si OK, sinonnil
eterr
(string).
local ok, err = ftp1.get("/remote/data.txt", "/tmp/data.txt")
if not ok then
print("Échec du téléchargement :", err)
end
ftp1.put(localPath, remotePath)
Envoie le fichier localPath
depuis votre machine vers remotePath
sur le serveur.
- Paramètres
localPath
(string) : chemin du fichier local.remotePath
(string) : chemin distant de destination.- Retour
true
si OK, sinonnil
eterr
(string).
local ok, err = ftp1.put("/tmp/config.yml", "/remote/config.yml")
if not ok then
print("Échec de l’envoi :", err)
end
Champs associés
ftp1.name
: nom de l’instance FTP/SFTP.ftp1.type
: égal à"ftp"
.