Script sftp

Novisoft -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je cherche un script bash utilisant sftp pour copier le contenu d'un répertoire de mon serveur linux vers un autre serveur distant. Je sais faire l'opération manuellement. Mais j'aurais aimé que ça se fasse automatiquement via cron.

Voici le script en langage humain :)

- Va dans le répertoire où se trouvent les fichiers à transférer
- Connecte-toi en sftp au site destinataire des fichiers à transférer
- Entre le mot de passe du compte
- transfert le (les) fichiers(s) dans le répertoire /home/utilisateur/www
- Fin

Je voudrais que ce script s'exécute une fois par jour.

Merci d'avance pour votre précieuse aide

Novisoft
Configuration: Windows Vista
Firefox 2.0.0.14

3 réponses

  1. Franzux Messages postés 9705 Statut Contributeur 1 146
     
    Bah, avec sftp je ne sais pas, mais avec ftp ça devrait donner quelque chose comme ça :

    #!/bin/bash
    # Va dans le répertoire où se trouvent les fichiers à transférer
    cd /le/repertoire/où/sont/le(s)/fichier(s)
    
    HOST='adresse_du_serveur'
    USER='login'
    PASSWD='pass'
    
    # Connecte toi au site destinataire des fichiers à transférer
    ftp -n -v $HOST << EOT
    ascii
    # Entre le login et le mot de passe du compte
    user $USER $PASSWD
    prompt
    # Transfère le(s) fichier(s) dans le répertoire /home/utilisateur/www
    cd /home/utilisateur/www
    put fichier_à transférer
    bye
    bye
    EOT


    0
    1. Novisoft
       
      Salut Franzux,

      Merci beaucoup pour le script. Je viens de l'essayer, ça marche, j'ai just un petit souci avec les fichiers à copier. En fait, j'ai mis put *.tar.gz pour que tous les fichiers qui se terminent avec .tar.gz soient transférés. Mais seul le premier fichier dans la liste a été transféré.

      Comment faire ? y a-t-il quelque chose à modifier dans le script ?

      Merci encore
      0
  2. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Pourquoi n'utilises-tu pas directement scp ?

    scp -r /repertoire/a/uploader  login@ip_cible:/chemin/cible
    scp -r login@ip_cible:/repertoire/a/downloader /chemin/cible


    À partir du moment où tu utilises des clés ssh on peut imaginer que les commandes scp soient aussi transparentes qu'un bon vieux cp.

    Bonne chance
    0