Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    14

    Copia file automatica su server remoto

    Ciao a tutti,
    nella ditta dove lavoro abbiamo bisogno di copiare un insieme di file dal nostro server in un altro server remoto (entrambi con OS Windows). Attualmente questa procedura viene svolta a mano utilizzando il sito ftp del server remoto.
    Esiste un modo semplice per automatizzare questa cosa?
    Se si, come mi consigliate di fare?

  2. #2
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    Un batch che sfrutti l'attuale sistema di trasferimento via FTP.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    14
    Originariamente inviato da LeleFT
    Un batch che sfrutti l'attuale sistema di trasferimento via FTP.


    Ciao.
    Quindi, basta fare un semplice:
    xcopy <file locali> <ftp://ind-server/destinazione>
    Ho capito bene?

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    No.

    Dovresti per prima cosa creare un file contenente tutte le istruzioni FTP da eseguire, compresi i comandi per l'eventuale login, quindi creare un file BAT che sfrutti questo file per eseguire i comandi.

    Vediamo un esempio.

    Supponiamo che il server a cui si accede via FTP sia "mioserver.dominio.com" (o semplicemente l'indirizzo IP del server).
    Per l'accesso supponiamo siano richiesti questi nome utente e password:
    Utente: pippo
    Password: pluto
    Che ci siano i seguenti file da copiare:
    file1.txt
    file2.txt
    file3.txt

    E che siano da copiare nella directory remota chiamata "dest".

    Dovrai costruire prima un file, che chiamo "comandi.cmd":
    codice:
    pippo
    pluto
    binary
    cd dest
    put file1.txt file1.txt
    put file2.txt file2.txt
    put file3.txt file3.txt
    close
    Quindi, dovrai scrivere un file BAT che si occupi di stabilire la connessione e utilizzi i comandi presenti nel file creato prima:
    codice:
    @echo off
    ftp -s:comandi.cmd mioserver.dominio.com
    Descrivo in breve cosa fa il file dei comandi:
    La prima riga comunica il nome utente al server FTP
    La seconda riga comunica la password
    La terza riga imposta la copia binaria
    La quarta riga si posiziona nella directory di destinazione (sul server)
    Le altre servono a copiare i file.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    14
    Sei veramente un grande LeleFT, e' raro trovare utenti cosi' disponibili e precisi.
    Grazie mille per l'aiuto.

  6. #6
    Utente di HTML.it L'avatar di pip19
    Registrato dal
    Dec 2001
    Messaggi
    512
    scusate se riapro questo post sepolto ormai da anni!!!

    il seguente codice funziona e funziona bene finalmente!!
    dopo ore che cercavo in rete...

    fatto è che cmq il file viene creato sul server, ma nessun dato viene trasferito!!!!
    mette effettivament eil file dal mio pc sul server ftp, ma il file, resta di dimensione 0!!

    aiutino??

  7. #7
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315
    A parte che avresti dovuto aprire una nuova discussione, eventualmente linkando questa come riferimento (è una discussione del 2008, quindi decisamente morta e sepolta), comunque un problema simile, a naso, mi dà da pensare che il file che cerchi di trasferire non sia "leggibile": ovvero, che tu non abbia i diritti di lettura su quel file.

    Altre motivazioni, al momento, non me ne vengono in mente, visto che tutto il lavoro lo deve fare il client FTP...


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  8. #8
    Originariamente inviato da LeleFT
    A parte che avresti dovuto aprire una nuova discussione, eventualmente linkando questa come riferimento (è una discussione del 2008, quindi decisamente morta e sepolta), comunque un problema simile, a naso, mi dà da pensare che il file che cerchi di trasferire non sia "leggibile": ovvero, che tu non abbia i diritti di lettura su quel file.

    Altre motivazioni, al momento, non me ne vengono in mente, visto che tutto il lavoro lo deve fare il client FTP...


    Ciao.
    Una possibilità che mi viene in mente è che tra client e server ci sia un NAT, per cui l'ftp attivo non funziona: il server riceve il comando di creazione file, lo inizia a creare vuoto e tenta di aprire la connessione dati verso il client, che però è dietro il NAT e non la può ricevere.
    Se il problema è questo, dovrebbe essere sufficiente attivare la modalità ftp passiva; il comando credo che sia PASV.
    Amaro C++, il gusto pieno dell'undefined behavior.

  9. #9
    Utente di HTML.it L'avatar di pip19
    Registrato dal
    Dec 2001
    Messaggi
    512
    usr
    pwd
    cd dest
    pasv
    binary
    put news.txt news.txt
    quit

    quindi basta aggiungere PASV? va bene li???

    o lo devo mettere quando apro la connessione??

    @echo off
    ftp -s:comandi.txt server.ftp.com

  10. #10
    Hmmm, ho controllato e pare che il client FTP standard incluso in Windows non supporti la modalità passiva, dovrai usare qualcos'altro.
    Amaro C++, il gusto pieno dell'undefined behavior.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.