Forum Programmation.shell transfere fichier entre deux serveur

Posté par  .
Étiquettes : aucune
0
22
juin
2005
1-comment faire un script shell qui permet le transfert des fichiers entre deux machines connectées dans un réseau

voila :

for file in (ls *)
do
monprocess file
transfere_file_vers_autre_machine
done

1- comment faire le transfere ver une autre machine ?
2- j'aimerais que le transfere se fait dès que le process termine de traiter le fichier ?
merci d'avance
  • # scp

    Posté par  . Évalué à 3.

    man scp te donnera la réponse.
    • [^] # Re: scp

      Posté par  . Évalué à 0.

      et pour la deuxième question ?
      merci
      • [^] # Re: scp

        Posté par  (site web personnel) . Évalué à 1.

        Ca dépend de ton processus, si il rend la main quand il a fini c'est bon, sinon il faut trouver un autre moyen (fichier lock, présence dans les processus etc.)
        • [^] # &&

          Posté par  . Évalué à 1.

          Tu peux utiliser && qui attend le code de retour de la commande, et donc le fin du traitement.

          for file in *
          do
          monprocess file && scp file user@machine:/rep_distant
          done
          • [^] # Re: &&

            Posté par  . Évalué à 0.

            justement :
            monprocess c'est un programme en C qui à comme valeur de retour en cas du succès un 0
            alors je fais :

            for file in *
            do
            monprocess file && scp file user@machine:/rep_distant
            done

            je crois qu'il faut changer la veleur de retour de mon process en cas de succès, pour quel soit 1 comme ça le && marche bien non ?
            merci
            • [^] # Re: &&

              Posté par  . Évalué à 2.

              man sh; man ksh; man bash: 0 est le code de retour 'standard' d'un processus ayant terminé avec succes sous Unix.

              Le code de retour != 0 en cas de succes n'est valable que pour les fonctions C.
  • # pouah !

    Posté par  . Évalué à 2.

    for file in (ls *)

    mwahahahahahahah


    for file in *; do
    # ...
    done;


    sinon rsync :)
    • [^] # Re: pouah !

      Posté par  (site web personnel) . Évalué à 0.

      je recommatde vivement rsync qui permet de stoquer la liste des fichiers a transferer ou a rejeter dans des fichiers.

      N oublies pas non plus de mettre en place une authentification RSA pour ne pas devoir taper les mots de passe :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.