Forum: PC-Programmierung Eine Datei auf einem FTP-Server uploaden


von Laura (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

Ich brauche eure Hilfe.
Ich habe vor, eine Datei mit dem aktuellen Datum und Uhrzeit zu 
erstellen. Diese Datei soll zum einem FTP-Server verschickt werden. 
Ausserdem habe ich eine vorhandene Datei.ls1. Beim jedem Aufruf möchte 
ich den Inhalt von der Datei Result in der datei.dat kopieren und zum 
Server senden.Warten 10 Minute und wieder eine Datei.dat zum Server 
senden.
D.h. beim durchführen des Programms, soll 3 Dateien  mit verschiedenen 
Uhrzeit verschickt werden z.B
FTP-BRU-20140518-203005.dat
FTP-BRU-20140518-204005.dat
FTP-BRU-20140518-205005.dat
Ich habe eine Konfigurationsdatei.ini, in der die Parameter sich einfach 
konfigurieren lassen.
1) Wie kann ich in der main Funktion 3 Aufruf der Funktion 
Dateierstellen()mit Erstellung von der Datei.dat mit verschiedenen 
Uhrzeit.
2) Ist die Funktion system geeignet für die Übertragung zum FTP-Server? 
Ich möchte erstmals local auf meinem Rechner testen.

Alle Hilfe oder Hinweise wäre sehr dankbar.

Anhand findet ihr alle Datei.

Danke

: Verschoben durch Moderator
von Εrnst B. (ernst)


Lesenswert?

Muss das ganze unbedingt in C++ sein?
Das wäre eine typische Scriptsprachen-Geschichte, und ließe sich z.B. 
mit ein wenig CURL(*) innerhalb einer BAT-Datei, Powershell-Script, 
Bash-Script, ...
erschlagen, gestartet aus einem Cron-Job, Task-Planer-Aufgabe, ...

*) http://curl.haxx.se/download.html (Weit runterscrollen, "Windows 
generic" ist vermutlich was du willt)
1
#!/bin/bash
2
3
cp Result datei.dat
4
curl -T datei.dat ftp://username:passwort@ftpserver.example.com/pfad/zu/dateien/FTP-BRU-`date +'%Y%m%d-%H%M%S'`

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Εrnst B✶ schrieb:
> mit ein wenig CURL

Für Curl gibt es doch auch Libs wieso nicht beides kombinieren? ;-)

von Εrnst B. (ernst)


Lesenswert?

Läubi .. schrieb:
> Für Curl gibt es doch auch Libs wieso nicht beides kombinieren? ;-)

die habe ich als sehr umständlich (bzw, "flexibel") und wenig "C++"-like 
in Erinnerung.
Evtl. gibts ja einen schönen OO-Wrapper.

Ansonsten:

http://curl.haxx.se/libcurl/c/ftpupload.html

von Testi (Gast)


Lesenswert?

Geht relativ einfach...

Zeit auslesen. Files umbenennen bzw erstellen.
Und dann baust du dir mit mit strcpy und strcat einen schönen Befehl 
zusammen und führst den mit system() aus.

Ich nutze dafür ncftpget / ncftpput wenn es nen normaler FTP ist.

Aber besser ist die Verwendung von scp mit SFTP Server.

von Εrnst B. (ernst)


Lesenswert?

Testi schrieb:
> Zeit auslesen. Files umbenennen bzw erstellen.
> Und dann baust du dir mit mit strcpy und strcat einen schönen Befehl
> zusammen und führst den mit system() aus.

Genau. Und wenn du das eh schon über externe Tools machst, kannst du 
auch gleich das umbenennen/erstellen über externe Tools machen. "cp", 
"mv" usw.
Das "Zeit-Auslesen" und Umformatieren geht mit dem praktischen 
"date"-Tool auch gleich viel einfacher.


=> Am Schluss hast du nur noch ein Sammelsurium von "system"-Aufrufen. 
Deshalb:

Εrnst B✶ schrieb:
> Das wäre eine typische Scriptsprachen-Geschichte

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.