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:
1 | ncftpls -R ftp://derftpserverimnetz >liste.txt |
bzw.
1 | ncftpls -R ftp://derftpserverimnetz/ver/zeich/nis >liste.txt |
und hätte dann in liste.txt das komplette Inhaltsverzeichnis. ncftp sollte auch unter Windows laufen: http://www.ncftp.com/
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
das geht m.W. dann nur mit telnet oder ssh, also wahrscheinlich nicht (bei dir wahrscheinlich nicht, bei mir schon :-)
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 danke schon mal. Wird bei der Durchforstung mit "ls -R" eine Datei angelegt? Wo finde ich die?
ls -R * > dat.ei dann hast du einen index deines ftp. danach cat dat.ei |grep -i dateiname
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
Lukas (der von der Insel) (Gast) ist jetzt Hänschen? Geht es noch um das gleiche Problem? telnet geht jetzt auf einmal doch?
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...
Hänschen schrieb: > ok, ich muss zugegeben ich bin ein Linux-Newbie... Nimm cuteftp. Ist bunt und kann suchen.
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 :)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.