Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Datei auf Nas Server finden (https://www.delphipraxis.net/194271-datei-auf-nas-server-finden.html)

EWeiss 4. Nov 2017 16:52

Datei auf Nas Server finden
 
Datei auf Nas Server finden wenn er sich im schlaf Modus befindet.
Irgend eine Idee?

gruss

Glados 4. Nov 2017 16:56

AW: Datei auf Nas Server finden
 
Das dürfte nicht möglich sein.
Das NAS muss in jedem Fall erst aufgeweckt werden, bevor man Zugriff auf die Datenträger hat.

EWeiss 4. Nov 2017 16:56

AW: Datei auf Nas Server finden
 
Zitat:

Zitat von Glados (Beitrag 1385138)
Das dürfte nicht möglich sein.
Das NAS muss in jedem Fall erst aufgeweckt werden, bevor man Zugriff auf die Datenträger hat.

Wie? Kann ich es aufwecken.. bzw. prüfen ob es schläft.

gruss

Glados 4. Nov 2017 16:57

AW: Datei auf Nas Server finden
 
Wie wurde es denn schlafen gelegt und handelt es sich um einen normalen PC mit Festplatten drin (Eigenbau-NAS) oder so ein überteuertes Ding von Synology/QNAP?

EWeiss 4. Nov 2017 17:01

AW: Datei auf Nas Server finden
 
Zitat:

Zitat von Glados (Beitrag 1385140)
Wie wurde es denn schlafen gelegt und handelt es sich um einen normalen PC mit Festplatten drin (Eigenbau-NAS) oder so ein überteuertes Ding von Synology/QNAP?

Über Explorer funktioniert es, denke deshalb ist es auf einem normalen PC.
bsp.
Code:
if (FileExist(L"V:\\Video\\MyMovie.mkv"))
V wäre in dem fall das NAS
Ich kann die Datei nicht prüfen wenn das NAS schläft wenn es läuft funktioniert es über FindFirst, FindNext.

Zitat:

Wie wurde es denn schlafen gelegt.
Kann ich leider nicht beantworten.

gruss

Bernhard Geyer 4. Nov 2017 17:06

AW: Datei auf Nas Server finden
 
Ich vermute du must das Geräte über "Wake on LAN" aufwecken.
Der Windows-Explorer wird das können.

Also musst du entweder diesen per ShellExecute starten oder selbst das WakeOnLan senden.
Beispielcode (ungetestet) könnte hier sein:
http://www.sysworksoft.net/support/delphiwol.html

EWeiss 4. Nov 2017 17:08

AW: Datei auf Nas Server finden
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1385143)
Ich vermute du must das Geräte über "Wake on LAN" aufwecken.
Der Windows-Explorer wird das können.

Also musst du entweder diesen per ShellExecute starten oder selbst das WakeOnLan senden.
Beispielcode (ungetestet) könnte hier sein:
http://www.sysworksoft.net/support/delphiwol.html

Danke werde das mal testen.

gruss

nahpets 4. Nov 2017 17:13

AW: Datei auf Nas Server finden
 
Hier was dabei? http://www.delphipraxis.net/95163-wa...2007-indy.html

EWeiss 4. Nov 2017 17:20

AW: Datei auf Nas Server finden
 
Zitat:

Zitat von nahpets (Beitrag 1385145)

Danke habe etwas gefunden ich benötige es für C++
Habe ich nicht angegeben sorry.

gruss

Glados 4. Nov 2017 17:20

AW: Datei auf Nas Server finden
 
Zitat:

Der Windows-Explorer wird das können.
Der Windows-Explorer schickt kein Wake-on-LAN-Signal. Dafür braucht man ein extra Tool bzw extra Treiber etc. Von Haus aus funktioniert das nicht.

EWeiss 4. Nov 2017 17:21

AW: Datei auf Nas Server finden
 
Zitat:

Zitat von Glados (Beitrag 1385148)
Zitat:

Der Windows-Explorer wird das können.
Der Windows-Explorer schickt kein Wake-on-LAN-Signal. Dafür braucht man ein extra Tool.

Ja er selbst macht es nicht sonst würde er ja bei der Abfrage das NAS automatisch aufwecken.
Das kann man nur im seiner Anwendung codemäßig selber lösen.

gruss

mensch72 4. Nov 2017 17:27

AW: Datei auf Nas Server finden
 
Wenn Explorer per ShellExecute im Root des benötigten Laufwerks starten, dann ca. 500..1000ms warten und dann dein "FileExist"... das klappt, dann
reicht zu 80% auch ein "SetCurrentDirectory" (https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx)
Das sollte weil explizit Netzwerkfähig unterstützt das NAS-WakeUp automatisch auslösen... dann 500..1000ms warten und erst dann per FileExist dort prüfen.

Speziell zu "FileExist" gab es da hier im Forum erst vor wenigen Tagen einen super Tip, dies NICHT per FindFirst/-Next zu machen!... erstens zu langsam zweitens nicht "direkt genug"... habe hier am PC gerade nur nicht meine OfficeHistory um das Thema direkt jetzt zu finden.

EWeiss 4. Nov 2017 17:59

AW: Datei auf Nas Server finden
 
Zitat:

Zitat von mensch72 (Beitrag 1385153)
Wenn Explorer per ShellExecute im Root des benötigten Laufwerks starten, dann ca. 500..1000ms warten und dann dein "FileExist"... das klappt, dann
reicht zu 80% auch ein "SetCurrentDirectory" (https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx)
Das sollte weil explizit Netzwerkfähig unterstützt das NAS-WakeUp automatisch auslösen... dann 500..1000ms warten und erst dann per FileExist dort prüfen.

Speziell zu "FileExist" gab es da hier im Forum erst vor wenigen Tagen einen super Tip, dies NICHT per FindFirst/-Next zu machen!... erstens zu langsam zweitens nicht "direkt genug"... habe hier am PC gerade nur nicht meine OfficeHistory um das Thema direkt jetzt zu finden.

Ahh.. gute Info danke.

greets

EWeiss 4. Nov 2017 18:49

AW: Datei auf Nas Server finden
 
verstehe nicht genau wie du das meinst.
Zitat:

Wenn Explorer per ShellExecute im Root des benötigten Laufwerks starten, dann ca. 500..1000ms warten und dann dein "FileExist"... das klappt, dann
könntest du das näher erläutern?

gruss

Glados 4. Nov 2017 19:11

AW: Datei auf Nas Server finden
 
Zitat:

Wenn Explorer per ShellExecute im Root des benötigten Laufwerks starten
Wenn das ganze NAS "schläft" wird es nichts bringen denn dann kann man kein Laufwerk starten.

nahpets 4. Nov 2017 19:17

AW: Datei auf Nas Server finden
 
Werde mal ein bisserl raten:

Den Explorer kann man mit Parametern aufrufen, z. B.:
Code:
explorer /root,i:
Startet den Explorer auf Laufwerk i: im Hauptverzeichnis.

Das kann man auch mit dem NAS-Laufwerk statt Laufwerk i: machen.

Wenn man nun diesen Aufruf per ShellExecute (o. ä.) macht, wird der Explorer dort gestartet und weckt ggfls. das NAS damit auf.

Hinter dem ShellExecute muss man nun einen Moment warten. Grob ungefähr sowas:
Delphi-Quellcode:
  ShellExecute(nil,'open','explorer.exe','/root,v:','',SW_MINIMIZE);
  Sleep(1000);
  if FileExist('V:\Video\MyMovie.mkv') then begin
    ...
  end;
Parameter für den Explorer: https://support.microsoft.com/de-de/help/506318

EWeiss 4. Nov 2017 19:22

AW: Datei auf Nas Server finden
 
Danke werde das mal weiterleiten vielleicht klappt es ja damit ;)

gruss

mensch72 4. Nov 2017 19:26

AW: Datei auf Nas Server finden
 
.."explorer /root,i:"..
ja sowas in der Richtung meinte ich:)

Das klappt z.B. so, wenn man eine "ruhende" Netzwerkverbindung zu einer Freigabe hat, die also aktuell noch "mit rotem X" im Explorer angezeigt wird.
Dann muss man normal da auch erst nochmal "draufklicken", bevor man in einem simplen FileOpen Dialog dort in einem beliebigen Verzeichnis darunter auf irgendeine Datei zugreifen kann.

EWeiss 4. Nov 2017 19:31

AW: Datei auf Nas Server finden
 
Zitat:

Zitat von mensch72 (Beitrag 1385173)
.."explorer /root,i:"..
ja sowas in der Richtung meinte ich:)

Das klappt z.B. so, wenn man eine "ruhende" Netzwerkverbindung zu einer Freigabe hat, die also aktuell noch "mit rotem X" im Explorer angezeigt wird.
Dann muss man normal da auch erst nochmal "draufklicken", bevor man in einem simplen FileOpen Dialog dort in einem beliebigen Verzeichnis darunter auf irgendeine Datei zugreifen kann.

OK Danke werde mal auf das resume warten ;)

gruss

Glados 4. Nov 2017 19:46

AW: Datei auf Nas Server finden
 
Zitat:

Das klappt z.B. so, wenn man eine "ruhende" Netzwerkverbindung zu einer Freigabe hat, die also aktuell noch "mit rotem X" im Explorer angezeigt wird.
Genau. Das NAS ist an, die Festplattenköpfe haben aber die Parkposition eingenommen.

Wenn das NAS aber schläft, also das ganze Gerät im Ruhestand oder Standby ist, kann der Explorer hier auch nix mehr machen. Außer man installiert spezielle Treiber mit entsprechender Funktion für die Netzwerkkarte.

EWeiss 4. Nov 2017 19:48

AW: Datei auf Nas Server finden
 
Zitat:

Zitat von Glados (Beitrag 1385175)
Zitat:

Das klappt z.B. so, wenn man eine "ruhende" Netzwerkverbindung zu einer Freigabe hat, die also aktuell noch "mit rotem X" im Explorer angezeigt wird.
Genau. Das NAS ist an, die Festplattenköpfe haben aber die Parkposition eingenommen.

Wenn das NAS aber schläft, also das ganze Gerät im Ruhestand oder Standby ist, kann der Explorer hier auch nix mehr machen. Außer man installiert spezielle Treiber mit entsprechender Funktion für die Netzwerkkarte.

Na ja werde mal warten was für eine Antwort kommt.
Probieren geht über studieren.

gruss

Yeonik 9. Nov 2017 15:50

AW: Datei auf Nas Server finden
 
Hat jemand eine Idee, wie ich den NAS-Server, schlafen legen kann??

Gruß

Yannick

Glados 9. Nov 2017 15:54

AW: Datei auf Nas Server finden
 
Wenn es ein Selfmade-NAS ist, einfach per SSH einloggen (bei Linux) und in den Standby schicken oder Ruhestand.
Wenn es ein Fertig-NAS ist, über das Webinterface (falls diese Funktion unterstützt wird).

Bei einem Selfmade-NAS kann ich dir wärmstens http://openmediavault.org empfehlen.

sh17 9. Nov 2017 15:57

AW: Datei auf Nas Server finden
 
Hier was für WoLAN per cmd

https://www.depicus.com/wake-on-lan/wake-on-lan-cmd

Glados 9. Nov 2017 15:59

AW: Datei auf Nas Server finden
 
Zitat:

Zitat von sh17 (Beitrag 1385822)

Weckt das Script den Server nicht auf? Er sucht was, zum schlafen legen glaube ich.
Zitat:

Hat jemand eine Idee, wie ich den NAS-Server, schlafen legen kann??
Es sei vielleicht noch erwähnt, dass man ein NAS evtl. besser einfach an lassen sollte, damit die Köpfe der Festplatten sich nicht parken.
Das zu exzessive Parken der Köpfe kann bei normalen Festplatten Defekte hervorrufen. bei NAS-Festplatten ist das vollkommen egal.

Man kann sich anhand der SMART-Werte ausrechnen, ob eine Festplatte relativ gesehen zu oft parkt:

Betriebsstunden / Laden-/Entladenzyklen = Stunde/Zyklus
60 Minuten * Stunden/Zyklus = Minutenabstand, in der geparkt wird. Sollte wenn möglich etwa bei 20 Minuten liegen. Notebookfestplatten sind normalerweise deutlich drunter.

Bei meiner 2,5"-Platte beispielsweise:
60 * (4483 [Stunden] / 83887 [Zyklen]) ~ 3,2. Meine 2,5"-Laptopplatte parkt also rund alle 3 Minuten.

Yeonik 9. Nov 2017 16:00

AW: Datei auf Nas Server finden
 
Achso Entschuldigung, ich hab mich blöd ausgedrückt:wall:! Ich wollte wissen, ob man das mit Delphi realisieren kann und wenn ja wie?!

Gruß

Yannick

Yeonik 9. Nov 2017 16:01

AW: Datei auf Nas Server finden
 
Zitat:

Zitat von Glados (Beitrag 1385824)
Weckt das Script den Server nicht auf? Er sucht was, zum schlafen legen glaube ich.

Ja genau

Yeonik 9. Nov 2017 16:11

AW: Datei auf Nas Server finden
 
Zitat:

Zitat von Glados (Beitrag 1385824)
Es sei vielleicht noch erwähnt, dass man ein NAS evtl. besser einfach an lassen sollte, damit die Köpfe der Festplatten sich nicht parken.
Das zu exzessive Parken der Köpfe kann bei normalen Festplatten Defekte hervorrufen. bei NAS-Festplatten ist das vollkommen egal.

Man kann sich anhand der SMART-Werte ausrechnen, ob eine Festplatte relativ gesehen zu oft parkt:

Betriebsstunden / Laden-/Entladenzyklen = Stunde/Zyklus
60 Minuten * Stunden/Zyklus = Minutenabstand, in der geparkt wird. Sollte wenn möglich etwa bei 20 Minuten liegen. Notebookfestplatten sind normalerweise deutlich drunter.

Bei meiner 2,5"-Platte beispielsweise:
60 * (4483 [Stunden] / 83887 [Zyklen]) ~ 3,2. Meine 2,5"-Laptopplatte parkt also rund alle 3 Minuten.

Das ist Interessant, danke dafür :)

Glados 9. Nov 2017 16:34

AW: Datei auf Nas Server finden
 
Das ist aber alles nur Halbwissen. Darüber streiten sich viele leute im Internet, ob man Festplatten besser parken lassen soll oder nicht.
Ich bin der Meinung, dass exzessives Parken die Lager schädigen kann und das schmiermittel schneller aufbraucht. Ganz davon abgesehen der Zeit- und Stromverlust für das ständige erneute Anlaufen lassen der Datenträgerscheiben.

Deswegen gehen NAS-Festplatten generell auch gar nicht erst parken.
zum Vergleich: meine NAS-Festplatte von Seagate hat bisher bei 133 Betriebsstunden 4x geparkt (das waren Neustarts des NAS).
Meine in die Jahre gekommene Western Digital Scorpio hat 29662 Betriebsstunden und hat bisher 704454x geparkt.

EWeiss 9. Nov 2017 17:36

AW: Datei auf Nas Server finden
 
Das Problem ist behoben.

WNetGetConnection..
neue Verbindung erstellen NETRESOURCE
WNetAddConnection2

gruss


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz