Hallo
Ich befinde mich zur Zeit auf Reise. Auf meinem NAS zuhause läuft ein
FTP Server auf den ich gelgentlich zugreife. Nun müsste ich dort eine
Datei suchen da ich nicht weiß, wo sie genau liegt, d.h. ich kenne nur
den Namen. Wie kann ich das am effezientesten, auf dem Server liegen gut
3TB Daten...
Lukas
Das kommt jetzt wohl etwas auf deinen ftp-Client an.
Ich habe mal eben nachgesehen, bei meinem unter Debian
bekomme ich mit "dir -R" ein rekursives Verzeichnis (also
inkl. aller Unterverzeichnisse) angezeigt, mit
"dir -R liste.txt" wird dieselbe Ausgabe lokal in der Datei
liste.txt abgelegt.
Diese könnte man dann lokal nach dem gesuchten Namen durchforsten.
Nachtrag: ncftp kann die Umleitung in eine lokale Datei nicht
direkt. Aber dafür ist da ein Programm ncftpls dabei, damit
geht es.
Man würde also auf dem lokalen Rechner laufen lassen:
danke schon mal. Dauert das aber nicht trotzdem extrem lang? Ich dachte
eher an eine Lösung mit der ich z.b. über Telnet auf den Server
zugreife, diesen dann autonom ein Inhaltsverzeichnis in txt Form
anfertigen lasse und dieses dann zum Laptop den ich hier hab
übertrage....
telnet geht, wenn dein NAS per telnet erreichbar ist.
Wahrscheinlich (hoffentlich) eher nicht.
Ich habe es bei mir so eingerichtet, daß meines per ssh erreichbar ist.
Dazu muß der ssh-Dämon drauf laufen, und der entsprechende Rechner
von außen erreichbar sein (also entweder global sichtbare IP haben
oder bei einem NAT muß der Router z.B. per dyndns adressierbar sein
sowie die ssh-Verbindung an das NAS weiterreichen).
Wenn du das nicht so eingerichtet hast, wird es auch nix mehr
von außen...
Lukas (der von der Insel) schrieb:> Dauert das aber nicht trotzdem extrem lang?
Das hängt davon ab, wie schnell der Rechner sucht, wie schnell die
Übertragung ist und wieviele Dateien es sind, die gelistet werden
müssen (nicht: wie groß sie sind).
Was heißt "extrem lang"?
Lukas (der von der Insel) schrieb:> Ich dachte> eher an eine Lösung mit der ich z.b. über Telnet auf den Server> zugreife, diesen dann autonom ein Inhaltsverzeichnis in txt Form> anfertigen lasse und dieses dann zum Laptop den ich hier hab> übertrage
Das würde auch nicht schneller gehen.
Schneller wäre nur, mit ssh oder telnet zum Server gehen und dort
mit find nach der Datei suchen zu lassen, also gar nicht alle
Namen zu übertragen.
Das geht aber halt wie gesagt nur, wenn du einen Zugang eingerichtet
hast.
Die ftp- bzw. ncftpls-Variante geht schon bei ftp-Zugang.
Ist dein NAS zuhause gleichzeitig der Router, z.B. eine Fritzbox
mit angeklemmtem USB-Speicher?
Oder reicht der Router die ftp-Verbindung an ein eigenes NAS durch?
ne, der Router leitet die entsprechenden Ports weiter an ein NAS
(Synology)
Klaus Wachtler schrieb:> Das würde auch nicht schneller gehen.> Schneller wäre nur, mit ssh oder telnet zum Server gehen und dort> mit find nach der Datei suchen zu lassen, also gar nicht alle> Namen zu übertragen.
das ist es ja grad, ich wollte die Dateien nicht übertragen sondern die
Auflistung der Verzeichnise und Dateien direkt vom NAS vornehmen lassen
und anschließend die erzeugte Liste übertragen
Lukas (der von der Insel) schrieb:> das ist es ja grad, ich wollte die Dateien nicht übertragen sondern die> Auflistung der Verzeichnise und Dateien direkt vom NAS vornehmen lassen> und anschließend die erzeugte Liste übertragen
Nichts anderes macht die "ls -R"-Variante.
Um herauszufinden, wie die auf einem ftp-Server gespeicherten Dateien
heißen, muss man sie nicht herunterladen ...
ok, ich muss zugegeben ich bin ein Linux-Newbie...
Beim Eingeben bekomme ich eine Fehlermeldung:
Server> ls -R * > myindex.txt
Server> -sh: cannot create myindex.txt: Permission denied
Klaus Wachtler schrieb:> Lukas (der von der Insel) (Gast) ist jetzt Hänschen?> Geht es noch um das gleiche Problem?> telnet geht jetzt auf einmal doch?
ja, Lukas (Notebook) ist Hänschen (Netbook) :)
es geht um das selbe Problem
FTP ging schon immer, hatte das eigentlich auch ganz klar geschrieben...
ok, dann musst du halt zu DEINEM ftp-Client mal die Hilfe zum
ls-Kommando anschauen.
Du hast versucht (offenbar auf dem NAS mit ftp eingeloggt?):
Server> ls -R * > myindex.txt
Bei meinem ftp müsste man das > weglassen, also
Server> ls -R . myindex.txt
. steht natürlich für das aktuelle Verzeichnis auf dem Server, und
myindex.txt wird dann die lokale Datei bei deinem lokalen Rechner
(wo der Client läuft).
Das kann aber bei jedem ftp-Client anders sein.
Lesen musst du schon selber.
Wenn dein ftp das nicht kann, musst du es halt mit dem
erwähnten ncftpls machen.
Das läuft auf dem lokalen Rechner, loggt sich auf dem Server
ein, holt das Inhaltsverzeichnis und gibt es auf dem lokalen
Rechner auf der Standardausgabe aus.
Dort kann man es mit >myindex.txt in eine Datei umleiten.
> FTP ging schon immer, hatte das eigentlich auch ganz klar geschrieben...
Aber mir war nicht klar, ob du das bist und und ob die Zeile:
Server> ls -R * > myindex.txt
mit ftp erzeugt wurde oder telnet oder was auch immer.
Ich sitze doch nicht an deinem Rechner und bin nicht Jesus.
Hänschen schrieb:> FTP ging schon immer, hatte das eigentlich auch ganz klar geschrieben...
sorry, sollte telnet heißen, ich logge mich mit telnet ein...
Du bist jetzt also mit telnet auf dem Ding unterwegs?
Und es läuft etwas Linuxähnliches darauf?
Dann brauchst du nicht das ganze Verzeichnis aller Dateien holen.
Probier mal:
1
find . -name "wie die datei heisst"
oder:
1
find . -name "*Teil des Namens*"
Groß-/Kleinschreibung ist relevant!
Wenn alles gut geht, bekommst du den gesuchten Namen angezeigt.
Den kannst du anschließend mit ftp holen.
Klaus Wachtler schrieb:> find . -name "*Teil des Namens*"
super, der Tipp war Gold wert, vielen Dank. Hat nun knapp eine Stunde
gedauert, aber die Datei wurde gefunden :)