IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

FTP avec conditions


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut FTP avec conditions
    Bonjour à tous,

    Je veux créer un script qui permet de réaliser ce principe :
    Le serveur A se connecte sur le serveur B pour télécharger des fichiers. Jusqu'à là, c'est simple et c'est du classique.
    Comme le téléchargement s'effectue sur une grande volumétrie, je voudrais télécharger que les fichiers nouveaux ou modifiés depuis la dernière opération.

    Du coup, à chaque fin de l'opération, je crée un fichier témoin avec la date du jour, c'est cette date que je vais utiliser pour comparer sur le serveur B.

    Ma question existe t-il une commande (ou combinaison de commandes) qui permet de ne lister que la liste des fichiers ayant une date supérieure à celle stocké sur le serveur A?

    Comme les commandes s'exécutent dans le FTP, je n'ai pas réussi à trouver un moyen pour réaliser ce principe

    Merci d'avance pour vos idées.

  2. #2
    Rédacteur/Modérateur
    Avatar de Winnt
    Homme Profil pro
    budget et contrôle de gestion
    Inscrit en
    Décembre 2006
    Messages
    1 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France

    Informations professionnelles :
    Activité : budget et contrôle de gestion
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 978
    Par défaut
    Salut,

    Citation Envoyé par kmdkaci
    Ma question existe t-il une commande (ou combinaison de commandes) qui permet de ne lister que la liste des fichiers ayant une date supérieure à celle stocké sur le serveur A?
    rsync correspond à ce que tu recherches.
    C'est un outil permettant de synchroniser fichiers/répertoires en fonction de divers critères.
    Mais peut-être n'est il pas adapté à ta situation.
    Winnt
    Merci de lire les règles du forum LaTeX et Qu'est ce qu'un ECM ?.
    N'hésitez pas à parcourir la FAQ la réponse y est peut-être déjà.
    Pensez au bouton si votre problème est résolu.


    C'est en Linuxant qu'on devient .... geek
    Et c'est en LateXant qu'on devient flemmard
    Mon blog tout neuf.
    Articles : présentation de la distribution Gentoo, Les index sous LaTeX et leur personnalisation.

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Quid de l'option "newer" de "ftp" ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    newer nom-fichier [fichier-local]
         N'obtenir le fichier que si la date de dernière modification du fichier 
         distant est plus récente que celle du fichier présent sur le système local.  
         Si le fichier n'existe pas sur le système local, le fichier distant est considéré 
         être plus récent. Sinon, cette commande est identique à get.
    Ou sinon via "lftp" et son option "mirror" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Mirror specified source directory to local target directory. If target directory 
           ends with a slash, the source base name is  appended  to  target  directory  name.
           Source and/or target can be URLs pointing to directories.
    
          -n, --only-newer    download only newer files (-c won't work)
          -N, --newer-than=SPEC    download only files newer than specified time
          --older-than=SPEC    download only files older than specified time

  4. #4
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut
    Merci pour vos réponse.

    La commande resync n'est pas adaptée à mes besoins, car l’accès autorisé est le FTP en lecture seule.

    La commande mirror ne fonctionne pas non plus, vu qu'il faut installer lftp. Mais comme le serveur nous nous appartient pas, on peut pas utiliser cette commande.

    La commande newer semble bien adaptée, mais j'ai le message d'erreur suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Restart is not supported by the remote server
    Et quand je la remplace avec get ça fonctionne. Est ce que vous voyez la source de l'erreur?

    Merci

  5. #5
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Citation Envoyé par kmdkaci Voir le message
    La commande mirror ne fonctionne pas non plus, vu qu'il faut installer lftp. Mais comme le serveur nous nous appartient pas, on peut pas utiliser cette commande.
    Que le serveur (disons B) ne t'appartienne pas c'est un fait, mais qu'en est-il du serveur A ?
    Tu ne peux rien installer ni sur l'un ni sur l'autre ?


    La commande newer semble bien adaptée, mais j'ai le message d'erreur suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Restart is not supported by the remote server
    Et quand je la remplace avec get ça fonctionne. Est ce que vous voyez la source de l'erreur?
    Quelle commande tapes-tu exactement ?

  6. #6
    Membre émérite
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Par défaut
    Tu ne peux rien installer ni sur l'un ni sur l'autre ?
    Je suis dans une entreprise où les installations et paramétrage suivent des règles de qualités. J'ai pas de compte admin sur le serveur A, même si c'est notre serveur de travail.

    Quelle commande tapes-tu exactement ?

    Pour mes testes, je tape ceci :
    merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/06/2004, 14h51
  2. Sélection multi table avec condition
    Par iuz dans le forum Langage SQL
    Réponses: 8
    Dernier message: 05/05/2004, 15h04
  3. ALTER VIEW avec condition
    Par yan77 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/04/2004, 17h22
  4. Index avec conditions
    Par marhnix dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 29/03/2004, 10h48
  5. boucle avec condition d'arret changeante
    Par NicoH dans le forum Langage
    Réponses: 3
    Dernier message: 10/06/2003, 11h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo