Sie sind nicht angemeldet.

Chrisber

Administrator

  • »Chrisber« ist der Autor dieses Themas

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

1

Montag, 16. Mai 2011, 21:02

Frage zu Symlinks und normalen Dateien

Hallo,
ich stehe aktuell vor einem Problem: angenommen, mein Script führt einen Symlink rekursiv auf einen leeren CSS Server nach Verzeichnis A aus.
Nun möchte ich aus Verzeichnis B aber eine cfg/valve.rc kopieren.

Wie sage ich dem Script, dass es den alten Symlink entfernen und die neue Datei von Verzeichnis B nach A kopieren soll?

Gruß
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

DeaD_EyE

Administrator

Beiträge: 3 980

Wohnort: Hagen

Beruf: Mechatroniker (didaktische Systeme)

Rootserver vorhanden: Nein

  • Nachricht senden

2

Dienstag, 17. Mai 2011, 00:12

mein Script führt einen Symlink rekursiv auf einen leeren CSS Server nach Verzeichnis A aus


Wie meinst du das genau? Meinst du damit jetzt, dass die Verzeichnisse bei deinem Server existieren und alle Gameserverdateien Symlinks auf einen anderen Gameserver sind (cp -sr /masterserver/* /server1/)?
Wenn dann der /masterserver/ wegfällt, sind alle Symlinks in /server1/ automatisch verwaist. Der Befehl find kann verwaiste Links finden bzw. auch löschen.

Quellcode

1
2
find -L /server1/ type l #nur verwaiste Links auflisten
find -L /server1/ type l -delete #verwaiste Links löschen


Danach ein cp -sr von der neuen Quelle auf das alte Ziel machen.

Nun möchte ich aus Verzeichnis B aber eine cfg/valve.rc kopieren.

Wenn du es jetzt so meinst, dass du explizit bestimmte Dateien nicht vom Masterserver haben willst, kannst du zuerst die Dateien kopieren/verlinken, die du von der anderen Quelle haben möchtest. Der Befehl cp -sr überschreibt vorhandene Dateien nicht. Es werden lediglich Fehlermeldungen ausgegeben, die mit der Umleitung von StdErr '2> /dev/null' in Datennirwana befördert werden können.

Chrisber

Administrator

  • »Chrisber« ist der Autor dieses Themas

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

3

Dienstag, 17. Mai 2011, 01:34

Wenn du es jetzt so meinst, dass du explizit bestimmte Dateien nicht vom Masterserver haben willst, kannst du zuerst die Dateien kopieren/verlinken, die du von der anderen Quelle haben möchtest. Der Befehl cp -sr überschreibt vorhandene Dateien nicht. Es werden lediglich Fehlermeldungen ausgegeben, die mit der Umleitung von StdErr '2> /dev/null' in Datennirwana befördert werden können.

Wie einfach... Serious business :D

Gruß
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

Chrisber

Administrator

  • »Chrisber« ist der Autor dieses Themas

Beiträge: 1 030

Wohnort: localhost

Rootserver vorhanden: Ja

  • Nachricht senden

4

Freitag, 1. Juli 2011, 15:13

Hallo,

ich bin es noch einmal. Mal angenommen, dass /home/bla/test.cfg ein symbolischer Link auf /home/master/test.cfg ist. Nun kopiere ich alles von /home/css_base/ als Symlink nach /home/bla/. Wenn in /home/css_base/ eine test.cfg ist, wird der symbolische Link in /home/bla/test.cfg dann geupdatet, oder wird er alte Link belassen? Oder kann man das mit Flags noch einstellen?

Gruß
Und das letzte, was gesagt wird, wenn die Welt untergeht, ist: das ist technisch unmöglich.

Ähnliche Themen