Es geht um ein System NFS-Server und Client Am Server gibt es ein Partition /data Am Client wird diese Partition in /data_nfs gemountet. Führe ich ein Bash-Script am Client aus, das mit ln -s eine Datei erzeugt, so ist die Verknüpfung (logischerweise) ok. Welche Möglichkeit gibt es, wenn am _Server_ das Script ausgeführt wird, dass der Link am _Client_ passt? Client und Server haben ja andere Pfade. Am Server muss der Link nicht funktionieren, wie es ja auch ist, wenn am Client der Link erzeugt wird. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Al Bogner wrote:
Es geht um ein System NFS-Server und Client
Am Server gibt es ein Partition /data Am Client wird diese Partition in /data_nfs gemountet.
Führe ich ein Bash-Script am Client aus, das mit ln -s eine Datei erzeugt, so ist die Verknüpfung (logischerweise) ok.
Du erzeugst keine Datei, sondern einen Link. Oder?
Welche Möglichkeit gibt es, wenn am _Server_ das Script ausgeführt wird, dass der Link am _Client_ passt? Client und Server haben ja andere Pfade. Am Server muss der Link nicht funktionieren, wie es ja auch ist, wenn am Client der Link erzeugt wird.
Wenn ich Dich richtig verstehe, geht es um folgendes: Es gibt eine Datei, die - sagen wir - /data/verzeichnis/datei heißt und auf dem Server liegt. Sie ist auf dem Client gemountet als /data_nfs/verzeichnis/datei Und jetzt soll z.B. im Verzeichnis /data/directory/ ein Link angelegt werden. Und Du machst das etwa so: cd /data/directory ln -s /data/verzeichnis/datei link So dass hinterher das so aussieht: ls -l ... link -> /data/verzeichnis/datei Auf dem Client sieht das genauso aus, aber dort soll es so aussehen: ... link -> /data_nfs/verzeichnis/datei Habe ich das Problem verstanden? Ich schlage zwei Lösungen vor: 1. die falsche Leg einfach auf dem Client einen weiteren Link an ln -s /data_nfs /data 2. richtig: Verwende relative, nicht absolute Pfade. Wenn Du den Link als cd /data/directory ln -s ../verzeichnis/datei link anlegst, dann passt er auf beiden Rechnern. Gruß Jan -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch 26 August 2009 16:19:07 schrieb Jan Handwerker:
Al Bogner wrote:
Es geht um ein System NFS-Server und Client
Am Server gibt es ein Partition /data Am Client wird diese Partition in /data_nfs gemountet.
Führe ich ein Bash-Script am Client aus, das mit ln -s eine Datei erzeugt, so ist die Verknüpfung (logischerweise) ok.
Du erzeugst keine Datei, sondern einen Link. Oder?
Ja
Welche Möglichkeit gibt es, wenn am _Server_ das Script ausgeführt wird, dass der Link am _Client_ passt? Client und Server haben ja andere Pfade. Am Server muss der Link nicht funktionieren, wie es ja auch ist, wenn am Client der Link erzeugt wird.
Wenn ich Dich richtig verstehe, geht es um folgendes:
Es gibt eine Datei, die - sagen wir -
/data/verzeichnis/datei
ja
heißt und auf dem Server liegt. Sie ist auf dem Client gemountet als
/data_nfs/verzeichnis/datei
genau
Und jetzt soll z.B. im Verzeichnis
/data/directory/
ein Link angelegt werden. Und Du machst das etwa so:
cd /data/directory ln -s /data/verzeichnis/datei link
So dass hinterher das so aussieht:
ls -l
... link -> /data/verzeichnis/datei
Theoretisch ja, das Skript wird am Client bis jetzt ausgeführt und daher wäre es /data_nfs. Du ziehst das Beispiel genau umgekehrt auf. Sollte aber egal sein.
Auf dem Client sieht das genauso aus, aber dort soll es so aussehen:
... link -> /data_nfs/verzeichnis/datei
Habe ich das Problem verstanden?
Ich denke ja. Zur Erklärung, ich führe das Skript zur Zeit am Client aus, das tagsüber ziemlich egal ist. Da das Skript aber sehr lange dauern kann, möchte ich es nachts nur am Server laufen lassen und den Client ausschalten.
Ich schlage zwei Lösungen vor:
1. die falsche
Leg einfach auf dem Client einen weiteren Link an
Wäre etwas kompliziert. Die Dateinamen werden aufgrund von Analysen erzeugt, wenn das Skript läuft.
ln -s /data_nfs /data
2. richtig:
Verwende relative, nicht absolute Pfade. Wenn Du den Link als
cd /data/directory ln -s ../verzeichnis/datei link
Danke, das muss ich mir anschauen. Wird allerdings im Skript etwas kompliziert, da die Variablen grundsätzlich absolute Pfade sind. Aber das müsste schon zu schaffen sein. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Al Bogner schrieb:
Es geht um ein System NFS-Server und Client
Am Server gibt es ein Partition /data Am Client wird diese Partition in /data_nfs gemountet.
Führe ich ein Bash-Script am Client aus, das mit ln -s eine Datei erzeugt, so ist die Verknüpfung (logischerweise) ok.
Welche Möglichkeit gibt es, wenn am _Server_ das Script ausgeführt wird, dass der Link am _Client_ passt? Client und Server haben ja andere Pfade. Am Server muss der Link nicht funktionieren, wie es ja auch ist, wenn am Client der Link erzeugt wird.
hmm blöde Lösung... mit -- if Ping -- abtesten und mit ssh -s shell einloggen und tun ... wird zwar nicht auf dem Server ausgeführt..aber vom Server initiiert ( und "verwaltet")... schubse hier so ähnlich backup-rsyncs an...
Al
Fred -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Wednesday 26 August 2009 15:56:16 schrieb Al Bogner:
Es geht um ein System NFS-Server und Client
Am Server gibt es ein Partition /data Am Client wird diese Partition in /data_nfs gemountet.
Führe ich ein Bash-Script am Client aus, das mit ln -s eine Datei erzeugt, so ist die Verknüpfung (logischerweise) ok.
Welche Möglichkeit gibt es, wenn am _Server_ das Script ausgeführt wird, dass der Link am _Client_ passt? Client und Server haben ja andere Pfade. Am Server muss der Link nicht funktionieren, wie es ja auch ist, wenn am Client der Link erzeugt wird.
Al
Hallo Al, es gibt immer 2 Möglichkeiten, einen Pfad anzugeben, absolut oder relativ. Absolut wird fast nie gleich sein auf Server und Client, weil ja der Mount-Punkt schon ein Verzeichnis ist. ln -s /data/capture/videos vids, angelegt in /data/vids ist absolut ln -s ../capture/videos vids angelegt in /data/vids ist relativ In meinen Beispiel funktioniert die relative Angabe des Pfades sowohl auf dem Server als auch auf dem Client. die absolute Angabe aber nicht, denn auf dem Client heißt der Pfad ja /data_nfs/capture/videos. Auch relative Pfadangaben funktionieren nicht immer. Wenn man mit dem Link den Verzeichnisbaum, der gemountet worden ist, verlässt, ist es in der Regel vorbei (es sei denn, man hält die Verzeichnisnamen und(!) Mount-Punkte so konsistent, dass es doch wieder passt). Tschö, Emil -- Registered Linux User since 19940320 -------------------------------------------------- Emil Stephan, Marktplatz 39, 53773 Hennef, Germany voice: +49-2242-84438 Accelerate Windows: 9.81 m/sec^2 would be adequate -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (4)
-
Al Bogner
-
Emil Stephan
-
Fred Ockert
-
Jan Handwerker