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

Thema: shell scrip ftp und unzip

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  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.699
    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 12: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
    Registrierter Benutzer
    Registriert seit
    Feb 2011
    Beiträge
    6
    Zitat Zitat von Newbie314 Beitrag anzeigen
    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.
    Hätt ich auch absolut nichts dagegen... nur WO find ich den??
    Im Endeffekt braucht jemand, der sich auskennt wahrscheinlich nicht mal eine Stunde dafür, nur weiß ich eben nicht an wen ich mich wenden kann.

    Vielen lieben Dank für die Beiträge!

  15. #15
    @SlopePointNZ Avatar von craano
    Registriert seit
    Jul 2004
    Beiträge
    1.313
    Ich fände es mal prickelnd, wenn der OP endlich mal genau erklären würde, was exakt gemacht werden soll. Ich verstehe die Ausgnagssituation überhaupt nicht.

    Also wer will von wo was wie machen?

    a) Soll eine Datei auf einen FTP-Server geladen werden und dort entpackt und anschließend das zip-File auf dem Server gelöscht werden?
    b) Oder soll ein Datei von einem Server heruntergeladen und lokal entpackt werden und dann das zip-File lokal gelöscht werden?
    c) Oder soll irgendetwas anderes gemacht werden?

    Falls b) dann ist das nicht schwer und Dir kann hier ganz sicher geholfen werden.

    Falls a) kommt es darauf an. Wenn Du nur FTP-Zugriff auf den Server hast, dann ist das Hochladen und Löschen der Datei kein Problem. Um ein zip-File auf dem Server zu entpacken, genügt allerdings kein FTP-Zugang. Hierzu müsstest Du Dich per SSH oder Telnet auf den Server verbinden. Vielleicht sitzt Du aber auch direkt vor dem Server und kannst Dich direkt anmelden, um die Datei zu entpacken? Wenn Die Datei per cronjob entpackt und gelöscht werden soll, brauchst Du auch eine Login-Möglichkeit, um den cronjob einzurichten.
    Wenn Du nur FTP-Zugang hast, dann bleibt eventuell nur die Möglichkeit die Dateien entpackt hochzuladen.
    Insbesondere bei der Altenative b) müsstest Du mit genaueren Infos rüberkommen.

    Falls c) Wer weiß?

    grüße.
    craano.

Ähnliche Themen

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

Lesezeichen

Berechtigungen

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