Eine andere Möglichkeit, dies zu erreichen, ist die Verwendung file
mit state: hard
.
Dies ist ein Beispiel, an dem ich arbeiten musste:
- name: Link source file to another destination
file:
src: /path/to/source/file
path: /target/path/of/file
state: hard
Nur unter localhost (OSX) getestet, sollte aber auch unter Linux funktionieren. Ich kann nicht für Windows sagen.
Beachten Sie, dass absolute Pfade benötigt werden. Sonst würde ich den Link nicht erstellen können. Außerdem können Sie keine Dateisysteme überqueren, sodass die Arbeit mit bereitgestellten Medien möglicherweise fehlschlägt.
Der Hardlink ist dem Verschieben sehr ähnlich, wenn Sie die Quelldatei anschließend entfernen:
- name: Remove old file
file:
path: /path/to/source/file
state: absent
Ein weiterer Vorteil ist, dass Änderungen beibehalten werden, wenn Sie sich mitten in einem Spiel befinden. Wenn also jemand die Quelle ändert, wird jede Änderung in der Zieldatei wiedergegeben.
Sie können die Anzahl der Links zu einer Datei über überprüfen ls -l
. Die Anzahl der Hardlinks wird neben dem Modus angezeigt (z. B. rwxr-xr-x 2, wenn eine Datei 2 Links enthält).