Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 23

Thema: shell scrip ftp und unzip

  1. #1
    Registrierter Benutzer
    Registriert seit
    Aug 2004
    Beiträge
    16

    shell scrip ftp und unzip

    Hi

    ich habe ein shell script welches per ftp eine Datei holt
    jetzt soll diese auch noch entpackt werden wie mach ich das ?

    PHP-Code:
    ftp -n server.com<<*eof
    quot user user
    quot pass passwort
    bin
    get file
    .zip
    unzip file
    .zip
    *eof 
    sagt invalid command

    kann mir da einer helfen ?

    Gruß Torstren

  2. #2
    Freelancer Avatar von michael.sprick
    Registriert seit
    Jun 2002
    Ort
    Paderborn
    Beiträge
    857
    dann verbind dich doch mal manuell zu dem Server und tipp alle Befehle am FTP Prompt ein bis zu *eof - dann siehst du ganz genau, welcher da nicht reingehört

  3. #3
    ruestiger Rentner Avatar von pibi
    Registriert seit
    Jul 2002
    Ort
    Winterthur (CH)
    Beiträge
    2.697
    Zitat Zitat von michael.sprick
    dann verbind dich doch mal manuell zu dem Server und tipp alle Befehle am FTP Prompt ein bis zu *eof - dann siehst du ganz genau, welcher da nicht reingehört
    Dazu musst Du Dich nicht verbinden;-)

    Das "unzip" gehoert da nicht rein, das ist naemlich kein ftp-Befehl. Das "unzip" gehoert in die letzte Zeile, also nach "*eof".

    Gruss Pit.

  4. #4
    Registrierter Benutzer
    Registriert seit
    Feb 2011
    Beiträge
    6
    Hallo! Ich hole hiermit diesen Thread wieder aus der versenkung
    Bin durch Google auf das Forum gestoßen und hoffe, dass mir jemand helfen kann... bin schon leicht am verzweifeln!

    Mein Wunsch: Ich möchte eine zip Datei im Ordner X entpacken und die entpackte Datei, soll dann wieder im Ordner X liegen.

    Ich habe folgendes Shell Script bekommen:

    100%
    #!/bin/sh
    # Copyright (c) 2007 by Thomas Irmscher
    # Author: Thomas Irmscher
    # Function: unzip a given file on a given location
    #
    #THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
    #IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
    #WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
    #
    #Set the path to something sensible for your system
    PATH=/bin:/usr/local/bin:/usr/bin
    export PATH
    #change the path below to match the full path to the directory
    cd /folder where the compressed file resides

    unzip filename.zip

    rm /folder where the file resides /filename.zip


    Ich weiß nur nicht, was ich als Pfad angeben soll. Da dieser Ordner am FTP liegt, muss ich dann PATH=/ftp etc. oder nur den Ordner selber angeben? Hab schon einiges probiert, aber es funktioniert einfach nie.

    Würd mich freuen, wenn mir jemand helfen könnte!
    DANKE schonmal im Voraus!

    Lg

  5. #5
    Newbie and practicing Avatar von Newbie314
    Registriert seit
    Mar 2007
    Beiträge
    7.639
    Poste die Fehlermeldungen. Mit code tags. Ich vermude dass die Pfadangabe wo die Zipdatei sein soll bei dir falsch ist. Kannst auch mal direkt

    Code:
     rm filename.zip
    ausprobieren, eigentlich sollte deine Shell noch in diesem Verzeichnis sein.

    Kannst auchmal set -x vor der Zeile Path=... setzen, dann sollte er dir Zeile für Zeile ausgeben was er tut.
    Bei Konsolenausgaben / Fehlermeldungen bitte immer Code Tags verwenden: [code] -Text- [/code]
    "Überzeugungen sind gefährlichere Feinde der Wahrheit als Lügen" (H. Lesch)

  6. #6
    Registrierter Benutzer
    Registriert seit
    Feb 2011
    Beiträge
    6
    d.h. ich schreib dann einfach

    Code:
    path=rm filename.zip
    ??

    & DANKE für deine rasche Hilfe

  7. #7
    Newbie and practicing Avatar von Newbie314
    Registriert seit
    Mar 2007
    Beiträge
    7.639
    Nein.

    Lass das Path= wie es ist,

    schreibe in der Zeile

    rm /folder where the file resides /filename.zip

    mal statt dessen

    rm filename.zip


    Du weisst schon was du tust ? Dass in deinem Skript an /folder where .... ein echter Linux Pfad stehen muss ? Sonst solltest du zum Ausprobieren "rm" durch "ls" ersetzen damit du nicht ausversehen etwas löschst was du noch brauchst.
    Bei Konsolenausgaben / Fehlermeldungen bitte immer Code Tags verwenden: [code] -Text- [/code]
    "Überzeugungen sind gefährlichere Feinde der Wahrheit als Lügen" (H. Lesch)

  8. #8
    Registrierter Benutzer
    Registriert seit
    Feb 2011
    Beiträge
    6
    bin mir nicht ganz sicher was ich da tue, aber es gibt keine andre möglichkeit, deshalb versuch ich mich da jetzt durchzukämpfen

    ich werds mal ausprobieren.
    DANKE nochmals!

  9. #9
    Newbie and practicing Avatar von Newbie314
    Registriert seit
    Mar 2007
    Beiträge
    7.639
    => Sicherheitskopien anlegen. Dein Skript kann sonst ganz gut versuchen im falschen Verzeichnis Dinge zu löschen.

    Ersetze "rm" durch "ls", wenn das Skript dann das richtige Zipfile (dasjenige das gelöscht werden soll) "listet" (das macht ls) kannst du "ls" wieder durch "rm" ersetzen. Da ich hier nicht an einer Unix / Linux Maschine sitze kann ich dein Skript nicht mal schnell ausprobieren.


    Der "cd" Befehl (change directory) muss den kompletten Pfad zum Verzeichnis enthalten in dem filename.zip liegt.

    Also falls dein Benutzername auf der Maschine "jodie" lautet und die Datei "Dokumente.zip" in deinem Ordner "downloads" liegt:

    cd /home/jodie/downloads

    und der rm Befehl dann

    rm Dokumente.zip

    ...

    Bei Unix / Linux / Apple ist die Groß/ Kleinschreibung bei Verzeichnis und Dateinamen wichtig (bei DOS / Windows / VMS nicht...).
    Geändert von Newbie314 (28.02.11 um 13:13 Uhr)
    Bei Konsolenausgaben / Fehlermeldungen bitte immer Code Tags verwenden: [code] -Text- [/code]
    "Überzeugungen sind gefährlichere Feinde der Wahrheit als Lügen" (H. Lesch)

  10. #10
    Fieses Frettchen Avatar von DrunkenFreak
    Registriert seit
    Dec 2003
    Beiträge
    3.315
    Wenn du auf ftpservern rumlöschen willst, solltest du das auch mit dem Programm ftp machen.

  11. #11
    Newbie and practicing Avatar von Newbie314
    Registriert seit
    Mar 2007
    Beiträge
    7.639
    .. ich gehe mal davon aus dass er lokal löschen will.. das auf dem FTP Server ergäbe nicht wirklich Sinn.. dann müsste das Skript ohnehin ganz anders aussehen (ftp << Filename etc....)

    @Jodie: mit rm kannst du nur lokal löschen.
    Bei Konsolenausgaben / Fehlermeldungen bitte immer Code Tags verwenden: [code] -Text- [/code]
    "Überzeugungen sind gefährlichere Feinde der Wahrheit als Lügen" (H. Lesch)

  12. #12
    Registrierter Benutzer
    Registriert seit
    Feb 2011
    Beiträge
    6
    hmmm... wie erklär ich das jez wohl am besten...

    der Ordner liegt am FTP. Es wird automatisch ein zip file in den Ordner gespielt. Diese wird mittels Cron-Job aktiviert & das (noch nicht fertige) Shell Script soll diese Datei dann entpacken, die Datei im Ordner abspeichern & das original zip file kann gelöscht werden, weil es am nächsten Tag wieder eingespielt wird.

    So. Es spielt sich also alles am FTP ab. Mit dem Programm kann ich nichts anfangen. Mir wurde nur mitgeteilt, dass dieses entpacken mit eine Shell Script funktionieren soll.

    d.h. es würde dann wie folgt heißen:

    cd /ftp00.xxx.at/ordner/unterordner/filename.zip ??



    Sorry, dass ich es nicht besser erklären kann!

  13. #13
    Newbie and practicing Avatar von Newbie314
    Registriert seit
    Mar 2007
    Beiträge
    7.639
    Schlecht erklärt.

    Soweit ich es verstehe läuft auf dem Rechner auf dem das Skript laufen soll ein ftp Dienst, ein User lädt ein zipfile hoch, das Skript wird per Cron gestartet, entpackt die Datei in ein anderes Verzeichnis und soll die .zip Datei löschen ?


    Wenn dein Skript nicht auf dem Rechner laufen soll auf dem der FTP Server läuft solltest du dir jemanden organisieren der sich auskennt: dann geht das über das was wir hier im Forum einem Anfänger "mal schnell" erklären können (und wollen) weit hinaus. Außerdem sind bei der Forenmethode bei produktiven Daten die Risiken zu hoch wenn du auf den Servern anderer Leute herumlöschst.

    cd /ftp00.xxx.at geht gar nicht da das kein Verzeichnis auf der lokalen Maschine ist.
    Bei Konsolenausgaben / Fehlermeldungen bitte immer Code Tags verwenden: [code] -Text- [/code]
    "Überzeugungen sind gefährlichere Feinde der Wahrheit als Lügen" (H. Lesch)

  14. #14
    Fieses Frettchen Avatar von DrunkenFreak
    Registriert seit
    Dec 2003
    Beiträge
    3.315
    Wenn sich alles auf einem FTP Server abspielt, kommst du nicht drumherum dich richtig auf diesen zu verbinden. Der Ablauf wäre dann ähnlich wie Datei herunterladen, Datei entpacken, entpackte Dateien wieder hochladen. Im Shellsktip realisierst du die Verbindung mit FTP am einfachsten über heredoc:

    Code:
    ftp server<<EOF
    get datei.zip
    EOF
    unzip datei.zip
    ftp server <<EOF
    mput dateien/*
    EOF
    Das ist nur schematisch. Die passenden Befehle für ftp musst du dir selbst raussuchen.

  15. #15
    Registrierter Benutzer
    Registriert seit
    Apr 2009
    Ort
    Erde
    Beiträge
    2.814
    nunja, ich kann mir nicht helfen, aber wenn wirklich alles auf dem ftp ist, nehme doch lsof, dann kannst du alles ganz easy mit normalen commands erledigen und musst nicht einem batch für den ftp-client rum plagen.

    Generell wirkt es aber, als wäre es aktuell eine Hausnummer zu groß für dich, denn wenn schon ein simpler Shell-Skript neuland für dich ist (und es wirkt so)...

    [EDIT] lsof ist natürlich quatsch, sie nächste Beiträge.
    Geändert von nopes (28.02.11 um 18:51 Uhr)
    Gruß nopes
    (,,,)---(^.^)---(,,,) /var/log/messages | grep cat

Ähnliche Themen

  1. proftpd will nicht auf dem server
    Von Cyberbob im Forum Linux als Server
    Antworten: 7
    Letzter Beitrag: 06.04.05, 15:04
  2. Secure Shell + Secure FTP
    Von steve-bracket im Forum Linux Allgemein
    Antworten: 4
    Letzter Beitrag: 28.12.02, 14:25
  3. FTP von der Shell über einen Proxy
    Von xstevex22 im Forum Linux als Server
    Antworten: 10
    Letzter Beitrag: 01.04.02, 09:36
  4. Problem mit Firewall IPCHAINS
    Von Zambo im Forum Router und Netzaufbau
    Antworten: 4
    Letzter Beitrag: 31.10.01, 22:37
  5. Welche shell darf user ftp haben?
    Von im Forum Sicherheit
    Antworten: 4
    Letzter Beitrag: 20.10.00, 00:37

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •