Dateitransfer von Unix -> Windows

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von beckham, 07.12.2006.

  1. #1 beckham, 07.12.2006
    beckham

    beckham Grünschnabel

    Dabei seit:
    07.12.2006
    Beiträge:
    7
    Zustimmungen:
    0
    Hallo,

    Ich muss für die Arbeit ein Shellskript programmieren, welches eine Datei von Unix auf einen Windowsrechner kopiert.
    Leider kenn ich mich in Sachen Unix und Shellskripte bis jetzt überhaupt nicht aus.
    Funktion soll 3 Parameter erhalten: Ziel-Rechnername, Quelldatei, Zieldateipfad
    Zudem soll das Skript prüfen, ob die zu kopierende Datei bereits existiert.
    Ist dies der Fall, soll ein Backup der Datei gemacht werden und dann erst kopiert werden.
    Wie geh ich denn das ganze am besten an? Wie mach ich das? FTP? Habe mal was von Samba gehört...
    Kann mir hierbei evtl jemand helfen? Hat vielleicht schon mal jemand etwas in der Art implementiert?
    Schon mal vielen Dank im voraus.

    Viele Grüsse
    beckham
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 theton, 07.12.2006
    Zuletzt bearbeitet: 07.12.2006
    theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
  4. #3 beckham, 07.12.2006
    beckham

    beckham Grünschnabel

    Dabei seit:
    07.12.2006
    Beiträge:
    7
    Zustimmungen:
    0
    erst mal danke theton.
    aber das ist mir schon etwas zu speziell.
    bin absoluter anfänger in sachen shell-programmierung und samba.
    wie sieht es denn mit skriptbeispielen für samba-konfiguration aus?
    oder so ne art schritt für schritt anleitung.
    und mit welchem kommando kann ich feststellen, ob eine datei bereits existiert?

    viele grüsse
    beckham
     
  5. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Wenn du die oben genannten Howtos mal gelesen hättest, wüsstest du wie man überprüfen kann ob eine Datei existiert. http://tldp.org/LDP/abs/html/refcards.html#AEN18927

    Zu Samba: Installiere dir Samba und lies die Manpage zu smbclient.

    Allgemein: Wir sind hier keine Howto- oder Skript-Schmiede, sondern ein Board, an das man sich mit spezifischen Problemen wenden kann. Ein wenig Doku lesen wirst du schon selbst machen müssen. Jeder fängt mal an und jeder, der anfängt, muss auch Dokus lesen. Was bringt es dir, wenn ich dir ein fertiges Skript gebe und du keine Ahnung hast, was es im einzelnen tut? Wie wär's, wenn du einfach erstmal selbst ein Skript schreibst und wenn es dann nicht so funktioniert wie es soll, einfach nochmal nachfragst wo die Fehler liegen? So läuft das hier nämlich im Normalfall. Wir sind hier nicht dazu da DEINE Arbeit zu machen, sondern bei Problemen zu helfen.
     
  6. #5 beckham, 07.12.2006
    beckham

    beckham Grünschnabel

    Dabei seit:
    07.12.2006
    Beiträge:
    7
    Zustimmungen:
    0
    ok ok ist ja schon gut.
    werde mich morgen im laufe des tages mit auftretenden problemen melden.
    bis dahin schon mal danke für die infos.
     
  7. #6 beckham, 08.12.2006
    beckham

    beckham Grünschnabel

    Dabei seit:
    07.12.2006
    Beiträge:
    7
    Zustimmungen:
    0
    hallo nochmal.
    das ganze hat sich inzwischen etwas entschärft.
    samba wird nicht benötigt. kann es mittels ftp realisieren.
    bin bisher so weit:

    (echo "
    open $1
    user $user $pw
    ! print -n Es werden Daten auf den Server $1 uebertragen
    put $2
    ! print "fertig"
    close
    ")| ftp -i -n

    habe nun das problem, das ich beim ftp-connect in dem verzeichnis ftproot bin
    und keine ebene höher komme. dort liegt nämlich der ordner wwwroot, unter
    dem ich die gewünschten verzeichnisse finde. gibt es da eine möglichkeit?
    zur veranschaulichung (bin in ftproot, dateien müssen nach a,b oder c):
    lw d:
    |
    |-- ftproot
    |
    |--wwwroot
    | |
    | |-- a
    | |-- b
    | |-- c

    wie kann ich nach dem connect feststellen, ob die datei $2 in dem verzeichnis
    /wwwroot/a existiert?

    vielen dank schon mal im voraus.
     
  8. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Via FTP geht das nur, wenn du versuchst die Datei zu downloaden. Ich habe nicht umsonst was von Samba gesagt.
     
  9. #8 beckham, 09.12.2006
    beckham

    beckham Grünschnabel

    Dabei seit:
    07.12.2006
    Beiträge:
    7
    Zustimmungen:
    0
    ich kann aber aus konzernrichtlinien kein samba einsetzen!!!
    und warum so überspitzte kommentare? hab ich dir was getan?
    hab doch nur mein problem geschildert und um hilfe gebeten...
     
  10. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Ich weiss nicht, was daran überspitzt ist.
    Nunja, wenn du kein Samba nutzen darfst (ich verstehe nur nicht, warum Ordner-Freigaben in einer Firma in einem abgeschlossenen LAN nicht erlaubt sind), dann schau dir mal http://ftpfs.sourceforge.net/ an.
     
  11. #10 StuderF, 12.12.2006
    Zuletzt bearbeitet: 12.12.2006
    StuderF

    StuderF Grünschnabel

    Dabei seit:
    12.12.2006
    Beiträge:
    4
    Zustimmungen:
    0
    Ich ich denke, dass der Ansatz mit dem FTP gar nicht so schlecht ist. Das Problem liegt nun doch darin, dass du im falschen Verzeichnis bist.

    Eine Windows Applikation greift bei uns auch via ftp auf unser AIX Unix System zu. Wir haben für dies
    1. einen speziellen User generiert und dem das entsprechende Verzeichnis als Home Verzeichnis in der passwd angegeben
    2. als Sicherheit generierten wir ein ftpaccess.ctl. Darin haben wir beschrieben, wer auf das Verzeichnis zugreifen darf.

    Hoffe liege mit dieser Version einer möglichen Idee nicht schief.
     
  12. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    @StuderF: Und wie überprüfst du über ein Skript, ob eine Datei auf dem FTP-Space existiert? Das ist ja hier wohl das Hauptproblem. Ich kenne nur einen Weg und der geht über den Download der Datei. Ansonsten muss man zu Hilfsmitteln wie FTPFS greifen um die Datei "lokal" verfügbar zu machen.
     
  13. #12 StuderF, 12.12.2006
    StuderF

    StuderF Grünschnabel

    Dabei seit:
    12.12.2006
    Beiträge:
    4
    Zustimmungen:
    0
    Lass uns dies etwas ruhig angehen.
    Da hast du wohl recht, dass es im FTP schier unmöglich ist zu überprüfen, ob eine Datei vorhanden ist. Da ist der FTP ja sehr begrenzt. theton, da bist du vermutlich versierter als ich. Wenn man eine Datei herunterladen will und diese nicht vorhanden ist, gibt der FTP eine Nachricht zurück: "A file or directory in the path does not exist". Könnte man diese Nachricht auswerten? Ansonsten bleibt nur noch (wenn es über ftp gemacht werden soll) auf dem Zielsystem zu kontrollieren, ob dieses überhaupt angekommen ist.
    Eine andere möglichkeit sehe ich mit ftp auch nicht.
    Das blöde daran ist, dass Backham die Datei herunterladen möchte und nicht hochladen. Sonst hätte man die hochgeladene Datei in ein anderes Verzeichnis deponiert und diese dann mit der Original verglichen. Ber wenn man dieses vorgehen auf dem Unix system machen könnte? Nur so ein Gedanke.
     
  14. #13 StuderF, 12.12.2006
    StuderF

    StuderF Grünschnabel

    Dabei seit:
    12.12.2006
    Beiträge:
    4
    Zustimmungen:
    0
    THETON, was hälst du von der Variante WINSCP. Dieses lässt sich auch irgendwie scripten. Somit könnte man zuerst sich eine Liste der Quelle generieren lassen und im Windows dann analysieren und wenn es vorhanden ist, dieses herunterladen.
     
  15. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  16. theton

    theton Bitmuncher

    Dabei seit:
    27.05.2004
    Beiträge:
    4.820
    Zustimmungen:
    0
    Ort:
    Berlin, Germany
    Scheint ja hier um einen Linux-Rechner (Shell-Skript unter Windows geht nur mit Cygwin und das auch nur begrenzt und für Cygwin wäre hier auch das falsche Board) als Client zu gehen, also fällt WinSCP schonmal weg.
    However, es ist beckhams Aufgabe nicht meine. Ich kann hier in dem Netzwerk, das ich verwalte, glücklicherweise selbst bestimmen, was ich zulasse und was nicht und ich würde halt einfach eine Freigabe auf der Win-Kiste machen und diese via smbclient mounten und somit mit den Dateien arbeiten können, als seien sie lokal.
    Sicherlich lassen sich die Meldungen des FTP-Servers in einem Skript auswerten, nur halte ich es für unsinnig bei jedem Verbindungsversuch einen Download zu initiieren. Dann lieber einen FTP-Server auf den Win-Rechner packen und den Spass via FTPFS lokal auf dem Linux-Rechner mounten und schon kann man wieder die gewohnten Prüfmechanismen von Shellskripten nutzen (-d und -f).
     
  17. grey

    grey -=[GHOST]=-

    Dabei seit:
    28.07.2006
    Beiträge:
    303
    Zustimmungen:
    0
    Evtl. könnte man auch die internen Befehle vom ftp nutzen (dir, ls ... etc.)
    und dann die Rückgabe mittels grep, find ... etc. auf den gewünschten Filenamen testen.

    Dann braucht man keinen Download anleiern und sollte doch zu seinem Ergebnis kommen.
     
Thema:

Dateitransfer von Unix -> Windows

Die Seite wird geladen...

Dateitransfer von Unix -> Windows - Ähnliche Themen

  1. dateitransfer gaim/kopete

    dateitransfer gaim/kopete: hi. ich habe bei mir gaim und kopete(standart) installiert und der datei transfer funktioniert nur bei gaim. bei kopete is die funktion datei...
  2. [Debian] Samba bricht Dateitransfer ab

    [Debian] Samba bricht Dateitransfer ab: [Debian] Samba bricht Dateitransfer ab [solved] hallo zusammen ich habe gröbere Probleme beim kopieren von Dateien von WinXP auf meinen...
  3. Windows XP Dateitransfer zwischen Rechner

    Windows XP Dateitransfer zwischen Rechner: Hi@all Wir haben in der Schule Winxp Rechner mit eingeschränkten Accounts wir können also nichts installieren. Ich muss Dateien zwischen 2...
  4. Kompatiblen Drucker für UNIX (HP-UX) 10.2

    Kompatiblen Drucker für UNIX (HP-UX) 10.2: Ich absolviere zur Zeit ein Praktikum in einem mittelständischen Unternehmen (Bereich Maschinenbau). Heute wurde mir die 3D-Messmaschine gezeigt,...
  5. Ur-Unix soll reanimiert werden

    Ur-Unix soll reanimiert werden: Der Australier Warren Toomey plant die erste Version von Unix wieder zum Laufen zu bringen. Dazu möchte er den in Ausdrucken vorhandenen...