Seite 1 von 2

Cachen des Board Index für Gäste

Verfasst: 14.07.2006 16:05
von Fähnchen
Ich kämpfe nun schon seit 2 Tagen mit diesem Tutorial von phpbb.de:
KB:cache_index

Irgendwo ist in meinem Script noch der Wurm drin.
Vielleicht kann da jemand mehr entdecken, denn ich bekomme aktuell immer wieder die Fehlermeldung ...

/pfad/zu/wget$ ./cache.sh
-bash: ./cache.sh: /bin/bash: bad interpreter: Datei oder Verzeichnis nicht gefunden


Hier ist einmal mein Skript das augeführt werden soll:

Code: Alles auswählen

#!/bin/bash
cd /pfad/zu/wget/temp
rm *.html
for i in cat ´../urls.list´; do
            # möglicherweise defekte vorherige downloads löschen
            /bin/rm -f *.html
            /usr/bin/wget $i -E -U Cache-Skript && mv *.html ../
done;
(Den Pad zum wget-Verzeichnis habe ich hier absichtlich unkenntlich gemacht.)

Kann von euch jemand erkennen warum es so nicht funktioniert?
Für mich sieht alles richtig aus. :o
Wäre froh wenn es endlich mal reibungslos klappen würde.
Ein paar Augen mehr sehen manchmal mehr als 2. :wink:

Re: Cachen des Board Index für Gäste

Verfasst: 14.07.2006 20:15
von Jensemann
Fähnchen hat geschrieben: /pfad/zu/wget$ ./cache.sh
-bash: ./cache.sh: /bin/bash: bad interpreter: Datei oder Verzeichnis nicht gefunden
/bin/bash existiert nicht ... Windows Maschine? Apache im Chroot?

Re: Cachen des Board Index für Gäste

Verfasst: 14.07.2006 23:08
von Fähnchen
jensemann hat geschrieben:/bin/bash existiert nicht ... Windows Maschine? Apache im Chroot?
Merkwürdig.
/bin/bash existiert eindeutig. Ich kann die Datei doch sehen.
Es ist ein Apache Server, ja, OS Debian Sarge

Verfasst: 14.07.2006 23:30
von Jensemann
Vergiss das mit dem Apache ...

Hat das Script Ausführungsrechte? chmod +x cache.sh? Auch wenn das normalerweise eine andere Fehlermeldung geben sollte ...

Falls es daran auch nicht liegt, was passiert wenn du "bash cache.sh" aufrufst?

Verfasst: 15.07.2006 10:57
von Fähnchen
jensemann hat geschrieben:Hat das Script Ausführungsrechte? chmod +x cache.sh? Auch wenn das normalerweise eine andere Fehlermeldung geben sollte ...
Ja, das Script ist ausführbar. Das habe ich nochmal geprüft und testweise neu gesetzt.
jensemann hat geschrieben:Falls es daran auch nicht liegt, was passiert wenn du "bash cache.sh" aufrufst?
Dann passiert das:
/pfad/zu/wget$ bash cache.sh
cache.sh: line 2: cd: /pfad/zu/wget/temp: No such file or directory
rm: cannot remove `*.html\r': No such file or directory
cache.sh: line 4: syntax error near unexpected token `do'
cache.sh: line 4: `for i in cat ´../urls.list´; do'
Das sieht doch schon etwas informativer aus :)

Verfasst: 15.07.2006 13:54
von Jensemann
1. Pfad zum wget Dir fixen
2.

Code: Alles auswählen

for i in `cat ../urls.list´; do

Verfasst: 15.07.2006 17:47
von Fähnchen
jensemann hat geschrieben:1. Pfad zum wget Dir fixen
:-? Da gibt es nichts zu fixen, der stimmt.
/home/www/webxy/html/wget$ bash cache.sh
cache.sh: line 2: cd: /home/www/webxy/html/wget/temp: No such file or directory
rm: cannot remove `*.html\r': No such file or directory
cache.sh: line 4: unexpected EOF while looking for matching ``'
cache.sh: line 9: syntax error: unexpected end of file
Das bekomme ich jetzt mit bash cache.sh

Code: Alles auswählen

#!/bin/bash
cd /home/www/webxy/html/wget/temp
rm *.html
for i in `cat ../urls.list´; do
            # möglicherweise defekte vorherige downloads löschen
            /bin/rm -f *.html
            /usr/bin/wget $i -E -U Cache-Skript && mv *.html ../
done;

Verfasst: 15.07.2006 18:09
von Jensemann
Fähnchen hat geschrieben:
jensemann hat geschrieben:1. Pfad zum wget Dir fixen
:-? Da gibt es nichts zu fixen, der stimmt.
Kann ja nicht, dann würde cd ja nicht sagen das es da nicht rein kommt.

file /home/www/webxy/html/wget sagt was?
Fähnchen hat geschrieben: rm: cannot remove `*.html\r': No such file or directory
Folgefehler von 1. Aber das \r macht mich stutzig ... hast du die Datei zufällig unter Windows erstellt und dann hochgeladen und dabei vergessen die Zeilenumbrüche von Windows nach Unix zu konvertieren?
Fähnchen hat geschrieben: cache.sh: line 4: unexpected EOF while looking for matching ``'
Du hast um das cat ... rum ' und ` gemischt, zumindest laut der Fehlermeldung.
Fähnchen hat geschrieben: cache.sh: line 9: syntax error: unexpected end of file
Folgefehler von Zeile 4.

Verfasst: 15.07.2006 18:35
von Fähnchen
jensemann hat geschrieben:file /home/www/webxy/html/wget sagt was?
Folgendes:
/$ file /home/www/webxy/html/wget
/home/www/webxy/html/wget: directory
jensemann hat geschrieben:hast du die Datei zufällig unter Windows erstellt und dann hochgeladen und dabei vergessen die Zeilenumbrüche von Windows nach Unix zu konvertieren?
Ja, ich habe die Datei unter Windows erstellt und im Reintext-Modus hochgeladen.
Der Quellcode sieht zumindest bei mir so aus:

Code: Alles auswählen

#!/bin/bash
cd /home/www/webxy/html/wget/temp
rm *.html
for i in `cat ../urls.list#´; do
            # möglicherweise defekte vorherige downloads löschen
            /bin/rm -f *.html
            /usr/bin/wget $i -E -U Cache-Skript && mv *.html ../
done;
Schon ziemlich merkwürdig.

Verfasst: 15.07.2006 19:14
von Jensemann
Jau, habs eben mal per Copy & Paste getestet, das was in deinem Text ist, sieht nur aus wie ` `, eins davon ist aber keins :D

Strange.

Habe dir das eben mal per HTTP bereitgestellt das Script, notwendige Änderungen führst du bitte direkt auf der Linux Kiste aus, per vim, mc, nano oder was dir beliebt. Finger Weg von Windows Editoren in deinem Fall ;-)

wget http://simple-tech.de/cache-script-phpbb.txt

Natürlich noch umbenennen anschliessend.