Script auf Unixmaschine vom pc aus anstossen und Daten holen
-
- Beiträge: 489
- Registriert: Sa 5. Apr 2008, 09:37
- OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
- CPU-Target: 32Bit /64 Bit
- Wohnort: Nähe Freiburg i.Br.
Script auf Unixmaschine vom pc aus anstossen und Daten holen
Hallo zusammen,
ich möchte aus einem "Lazarusprogramm" heraus, welches auf einem Windows-Pc läuft, auf einer Unixmaschine ein Script anstossen, welches mir z.B eine Datensicherung anstösst. Falls das nicht geht, könnte ich die DS auch über die Crontab steuern.
Mein Prog soll anschliessend die Daten per ftp auf die Windowsmaschine holen und diese dann dort auf ne CD brennen.
Am Besten alles im Hintergrund per Zeitsteuerung.
Wie würdet Ihr das ansatzweise lösen?
wie hoch schätzt Ihr den Programmieraufwand?
Gruss KHH
ich möchte aus einem "Lazarusprogramm" heraus, welches auf einem Windows-Pc läuft, auf einer Unixmaschine ein Script anstossen, welches mir z.B eine Datensicherung anstösst. Falls das nicht geht, könnte ich die DS auch über die Crontab steuern.
Mein Prog soll anschliessend die Daten per ftp auf die Windowsmaschine holen und diese dann dort auf ne CD brennen.
Am Besten alles im Hintergrund per Zeitsteuerung.
Wie würdet Ihr das ansatzweise lösen?
wie hoch schätzt Ihr den Programmieraufwand?
Gruss KHH
Dann hast du die Qual der Wahl.khh hat geschrieben: dreimal ja
Am wenigsten Code bräuchtest du wohl Unix-seitig, wenn du das Script mit PHP über den Webserver ankicken würdest http://www.php-resource.de/handbuch/function.exec.htm" onclick="window.open(this.href);return false;
Dann bräuchtest du nur Client-Seitig mit Synapse die PHP-Script-URL aufrufen.
FTP Download auch mit Synapse.
Keine Ahnung. Das hier sieht ganz gut aus:khh hat geschrieben: und wie siehts aus mit dem lokalen Brennen der CD?
http://code.filehungry.com/product/lang ... ng_library" onclick="window.open(this.href);return false;
Ist zwar für Delphi aber vielleicht läuft das auch unter Win32-Lazarus.
Ich glaube es benutzt kein Activex, OLE, COM etc..
-
- Beiträge: 489
- Registriert: Sa 5. Apr 2008, 09:37
- OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
- CPU-Target: 32Bit /64 Bit
- Wohnort: Nähe Freiburg i.Br.
@theo
Gruss KH
danke dir, werd ich mich nächste woche mal mit beschäftigenKeine Ahnung. Das hier sieht ganz gut aus:
http://code.filehungry.com/product/lang ... ng_library" onclick="window.open(this.href);return false;
Gruss KH
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Andere Unixe kenne ich nicht, aber auf einer Linux Box läuft normalerweise (x)inetd. Der hört auf einen Port (oder auch mehrere gleichzeitig) und startet bei connect ein passendes Programm. Netterweise kann bei Linux ein "Programm" auch ein Script sein, das dann mit einer shell gestartet wird. Der Input wird dann aus dem Socket geholt und der Output an den socket gesendet. Den Input kann man dann z.B. mit grep untersuchen
Auf der Client-Seite reicht es, einfach einen Socket auf dem Port aufzumachen um irgendwelche Zeichen direkt an das Script zu senden.
Beispiel eines solchen "remote scripts", das bei mir läuft:
Man kann einfach mit Telnet (mit der richtigen Port-Nummer) darauf zugreifen. (Wenn man ein h eingibt, wird ein Backup angeworfen, ansonsten passiert nix.)
-Michael
Auf der Client-Seite reicht es, einfach einen Socket auf dem Port aufzumachen um irgendwelche Zeichen direkt an das Script zu senden.
Beispiel eines solchen "remote scripts", das bei mir läuft:
Code: Alles auswählen
#!/bin/bash
echo -e "h eingeben um Fotos %u28hdd_1_1_1%u29 zu sichern\r"
grep "" --max-count=1 | grep --count --ignore-case --quiet h
echo -e "h eingeben um Fotos (hdd_1_1_1) zu sichern\r"
grep "" --max-count=1 | grep --count --ignore-case --quiet h
if [ $? -eq "0" ] ; then
echo Start Backup hdd_1_1_1
/dirvish/bin/dirvish_hdd_1_1_1
echo End Backup hdd_1_1_1
else
echo nix da
fi
-Michael
Zuletzt geändert von mschnell am Di 13. Mai 2008, 13:29, insgesamt 1-mal geändert.
-
- Beiträge: 489
- Registriert: Sa 5. Apr 2008, 09:37
- OS, Lazarus, FPC: Win Vista,Win 7 (L 0.9.29 FPC 2.4.1)
- CPU-Target: 32Bit /64 Bit
- Wohnort: Nähe Freiburg i.Br.
@all
ich danke euch, die Sache mit dem Connect zur Unixmaschine lässt sich prima lösen.
Was mir noch Kopfzerbrechen macht ist das Brennen der CD
in der CD-Burning-library sind doch einige Bibliotheken angeprochen die im Zip-file nicht dabei sind.
Ua. handelt es sich dabei um WinTypes und WinProcs.
ich nehme mal an die stammen von Delphi, oder?
Gruss KH
ich danke euch, die Sache mit dem Connect zur Unixmaschine lässt sich prima lösen.
Was mir noch Kopfzerbrechen macht ist das Brennen der CD
in der CD-Burning-library sind doch einige Bibliotheken angeprochen die im Zip-file nicht dabei sind.
Ua. handelt es sich dabei um WinTypes und WinProcs.
ich nehme mal an die stammen von Delphi, oder?
Gruss KH
-
- Beiträge: 6079
- Registriert: Do 21. Sep 2006, 07:51
- OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
- CPU-Target: AVR,ARM,x86(-64)
- Wohnort: Dessau
- Kontaktdaten:
hast du dir nun mal die cdr-tools angeschaut ?
ich machs dir noch einfacher : http://www.heise.de/software/download/cdrtools/1580" onclick="window.open(this.href);return false;
Ich poste sowas nicht aus jux und dallerei wie andere Leute sondern weil ich schonmal nach guten Lösungen für sowas gescuht hab ...
ich machs dir noch einfacher : http://www.heise.de/software/download/cdrtools/1580" onclick="window.open(this.href);return false;
Ich poste sowas nicht aus jux und dallerei wie andere Leute sondern weil ich schonmal nach guten Lösungen für sowas gescuht hab ...
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/
Generell bei solchen Ports: Das Zeug was nicht will, einfach mal auskommentieren bzw durch etwas naheliegendes ersetzen (z.B. LCLType, LCLProc).khh hat geschrieben: Ua. handelt es sich dabei um WinTypes und WinProcs.
ich nehme mal an die stammen von Delphi, oder?
Falls dann was fehlt, mit "in Dateien Suchen" nach Funktionsnamen, Typendeklaration suchen.
Besser auch erst einmal nur die nicht-visuellen Komponenten zu kompilieren Versuchen.
Bei mir kompiliert der Inhalt von "CD Burner Source Code" resp. alles was an "BurnComponent.pas" hängt mit zwei, drei kleinen Anpassungen.
Ob's auch funzt habe ich nicht getestet. Bin unter Wine.