Anzeige:
Seite 2 von 3 ErsteErste 123 LetzteLetzte
Ergebnis 16 bis 30 von 33

Thema: Shell File per FTP Senden Fehler

  1. #16
    Registrierter Benutzer Avatar von Caveman
    Registriert seit
    03.11.2005
    Ort
    Geilsheim
    Beiträge
    308
    Was heißt bei Dir der such Befehl funktioniert?
    Welche Ausgaben bekommst Du?

    Ich kann Dir mal ein paar Tipps geben:
    Hier mal ein Link zu einer guten Beschreibung über die Shell-Programmierung:
    http://www.netzmafia.de/skripten/unix/index.html
    Im Kapitel 8.7.1 findest Du z.B. wie man feststellt, ob eine Datei vorhanden ist:
    test -e file

    So schwierig sollte das Problem nicht sein.
    Einfach mal etwas rumprobieren
    Programmiere (wenn es denn mal wieder vorkommt) in C, C++, Java, Perl
    Bin kein Student (Elektrotechnik) mehr und habe die Seiten gewechselt von der Software weg hin zur Hardware

  2. #17
    Registrierter Benutzer
    Registriert seit
    01.03.2006
    Beiträge
    16
    also wenn ich eingebe:
    find /home/u/user08/public_html/test -name "datei_06.03.01.zip"

    dann bekomme ich eben die ausgabe:
    /home/u/user08/public_html/test/datei_06.03.01.zip

    aber wenn ich eben dass shell script ausführen möchte kommt eben immer die selbe fehlermeldung, warum auch immer, was ich sehr komisch finde

  3. #18
    Registrierter Benutzer Avatar von Caveman
    Registriert seit
    03.11.2005
    Ort
    Geilsheim
    Beiträge
    308
    Das versteh ich nicht.
    Das muss doch gehen.

    Und wie sieht's aus, wenn Du ein Skript erstellst und darin nur diesen einzigen Befehl hast:
    find /home/u/user08/public_html/test -name "datei_06.03.01.zip"
    Programmiere (wenn es denn mal wieder vorkommt) in C, C++, Java, Perl
    Bin kein Student (Elektrotechnik) mehr und habe die Seiten gewechselt von der Software weg hin zur Hardware

  4. #19
    Registrierter Benutzer
    Registriert seit
    01.03.2006
    Beiträge
    16
    #!/bin/bash

    find /home/u/user08/public_html/test -name "datei_06.03.01.zip"


    so schauts aus, dass kommt als fehlermeldung zurück:

    root:/home/u/user08/public_html/test # ./shell4.sh

    : bad interpreter: No such file or directory

  5. #20
    Registrierter Benutzer Avatar von Caveman
    Registriert seit
    03.11.2005
    Ort
    Geilsheim
    Beiträge
    308
    Kann es sein, das die Bash auf dieser Maschine gar nicht drauf ist?

    mach mal:
    Code:
    ll /bin/bash
    und
    whereis bash
    Programmiere (wenn es denn mal wieder vorkommt) in C, C++, Java, Perl
    Bin kein Student (Elektrotechnik) mehr und habe die Seiten gewechselt von der Software weg hin zur Hardware

  6. #21
    Registrierter Benutzer
    Registriert seit
    01.03.2006
    Beiträge
    16
    bei Befehl1:
    -rwxr-xr-x 1 root root 485212 Mar 19 2005 /bin/bash

    bei Befehl2:
    bash: /bin/bash /etc/bash.bashrc /usr/share/man/man1/bash.1.gz

    Woran kann ich dass nun sehen obs drauf ist oder nicht? und ggfs aktualisieren?

  7. #22
    Registrierter Benutzer Avatar von Caveman
    Registriert seit
    03.11.2005
    Ort
    Geilsheim
    Beiträge
    308
    passt schon.
    Was bringt folgendes:
    Code:
    ll /home/u/user08/public_html/test/shell4.sh
    Sind die Rechte richtig?

    Was passiert bei:
    Code:
     root:/home/u/user08/public_html/test # sh shell4.sh
    Programmiere (wenn es denn mal wieder vorkommt) in C, C++, Java, Perl
    Bin kein Student (Elektrotechnik) mehr und habe die Seiten gewechselt von der Software weg hin zur Hardware

  8. #23
    Registrierter Benutzer
    Registriert seit
    01.03.2006
    Beiträge
    16
    beim ersten passiert folgendes

    Code:
    -rwxrwxrwx  1 user828c www 78 Mar  1 23:36 /home/u/user08/public_html/test/shell4.sh
    beim zweiten passiert folgendes:
    Code:
    sh shell4.sh
    : command not found
    /home/u/user08/public_html/test/datei_06.03.01.zip

  9. #24
    Registrierter Benutzer Avatar von Caveman
    Registriert seit
    03.11.2005
    Ort
    Geilsheim
    Beiträge
    308
    Also findet das Skript etwas - siehe Zeile 3.
    Allerdings verstehe ich die 2.Zeile überhaupt nicht.
    Welcher Befehl soll hier nicht gefunden werden?
    Programmiere (wenn es denn mal wieder vorkommt) in C, C++, Java, Perl
    Bin kein Student (Elektrotechnik) mehr und habe die Seiten gewechselt von der Software weg hin zur Hardware

  10. #25
    Registrierter Benutzer
    Registriert seit
    01.03.2006
    Beiträge
    16
    verstehe ich eben auch nicht, es steht ja nur folgendes in der bash datei:

    Code:
    #!/bin/bash
    
    find /home/u/user08/public_html/test -name "datei_06.03.01.zip"

  11. #26
    Registrierter Benutzer Avatar von Caveman
    Registriert seit
    03.11.2005
    Ort
    Geilsheim
    Beiträge
    308
    Und die Datei ist vorhanden.
    Also macht folgendes eine korrekte Ausgabe:
    Code:
    ll /home/u/user08/public_html/test datei_06.03.01.zip
    Ich versteh's nicht?
    Warum sollte ein Befehl normal funktionieren und innerhalb eines Skripts gibt's einen Fehler?

    Hast Du zu dem Verzeichnis die richtigen Zugriffsrechte?
    Programmiere (wenn es denn mal wieder vorkommt) in C, C++, Java, Perl
    Bin kein Student (Elektrotechnik) mehr und habe die Seiten gewechselt von der Software weg hin zur Hardware

  12. #27
    Registrierter Benutzer
    Registriert seit
    01.03.2006
    Beiträge
    16
    ja ich führe alles unter root aus, also daran kann es nicht liegen...


    hm ich nämlich auch nicht, sehr komisch, ich geh jetzt nochmal die ganze konfiguration durch

  13. #28
    Registrierter Benutzer Avatar von Caveman
    Registriert seit
    03.11.2005
    Ort
    Geilsheim
    Beiträge
    308
    Hast Du vielleicht etwas anderes als Bash eingestellt?
    Was ich mir allerdings nicht vorstellen kann, weil die erste Zeile explizit darauf hinweist.
    Entfern sie trotzdem mal. Dann hast Du also nur noch eine Zeile mit dem find-Befehl, der ja außerhalb des Skripts funktioniert.
    Starte dann mit einem der folgenden:
    Code:
    sh skript
    zsh skript
    bash skript
    csh skript
    Hast Du denn überhaupt Linux, was ich hier mal so vermute, und welche Version?
    Programmiere (wenn es denn mal wieder vorkommt) in C, C++, Java, Perl
    Bin kein Student (Elektrotechnik) mehr und habe die Seiten gewechselt von der Software weg hin zur Hardware

  14. #29
    Registrierter Benutzer
    Registriert seit
    01.03.2006
    Beiträge
    16
    Ja klar habe ich Linux, Suse 9.3

    hm nein tut sich überhaupt gar nichts...

  15. #30
    Registrierter Benutzer Avatar von Caveman
    Registriert seit
    03.11.2005
    Ort
    Geilsheim
    Beiträge
    308
    Neuer Versuch:
    Jetzt mit ls statt mit find.

    Versuch es erst mal so:
    Code:
    #!/bin/bash
    
    I=0
    
    DATUM=`date --date "-$I day" '+%y.%m.%d'`
    echo $DATUM
    
    for FILE in `ls /home/u/user08/public_html/otr/datei_${DATUM}_*.zip`
    do
      DATEI=$FILE
      echo $DATEI
    done
    Und wenn's klappt, so:
    Code:
    #!/bin/bash
    
    I=0
    
    # Die 3 steht fuer hole alles der letzten 3 Tage, was ich noch nicht habe.
    while [ $I -lt 3 ]
    do
    
      DATUM=`date --date "-$I day" '+%y.%m.%d'`
    
      for FILE in `ls /home/u/user08/public_html/otr/datei_${DATUM}_*.zip`
      do
        DATEI=$FILE
        echo $DATEI  # zur Kontrolle
    
        ncftpput -u user -p passwort ftphost  /html/files  ${DATEI}
      done
    
      I=`expr $I + 1`
    done
    Programmiere (wenn es denn mal wieder vorkommt) in C, C++, Java, Perl
    Bin kein Student (Elektrotechnik) mehr und habe die Seiten gewechselt von der Software weg hin zur Hardware

Lesezeichen

Berechtigungen

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