Bei einem aktuellen Projekt bin ich auf ein außergewöhnliches deployment gestoßen. Außergewöhnlich aber nicht negativ wertend gemeint. Halt nicht “state of the art”. Stack: Amazon EC2 Server mit einem NGINX Webserver. Der Ablauf ist wie folgt. Der Order html unter dem Pfad /usr/share/nginx/html
war ein Symlink auf ein Verzeichnis im selben Pfad. Nennen wir den Ordner usr/share/nginx/kundenwebsite-2022-01-11
.
Ich nahm an das der frühere Entwickler von seiner lokalen Machine die Dateien via scp
hochgespielt hatte und dann den Symlink angepasst hat. Kann man machen aber ich finde das birgt eine Menge an Risikopotenzial. Außerdem kommt man eher selten in die Verlegenheit Symlinks selber zu setzen. Heißt man muss sich immer wieder einlesen. Aus diesem Grund schreibe ich diesen Artikel. Es soll ein kleines How To Symlink sein.
Ein Symlink wird gesetzt mit: ln -s /absoluter/pfad/zum/ziel /absoluter/pfad/der/verknüpfung
Im Kontext zum obigen Beispiel beduetet es: ln -s usr/share/nginx/kundenwebsite-2022-01-11 usr/share/nginx/html
Erklärung: Wer jetzt auf usr/share/nginx/
ein ls -la
macht wird folgende Ausgabe erhalten: html -> kundenwebsite-2022-01-11
drwxr-xr-x 1 nginx nginx 50 26. Jan 11:22 html -> kundenwebsite-2022-01-11
drwxr-xr-x 5 nginx nginx 4096 31. Aug 2021 kundenwebsite-2022-01-11
Heißt das der Symlink erfolgreich gesetzt ist und html eine Referenz auf den kundenwebsite-2022-01-11
Ordner enthält.
Wenn man nun ein Feature eingebaut hat und es im März auf den sever schiebt, passt man den Symlink wie folgt an:
ln -sfn $PWD/kundenwebsite-2022-03-01
$PWD/html
Somit wird die alte Referenez überschrieben.
Wenn man dann die Schnauze voll hat von so einem Deployment löscht man den Symlink ganz easy mit: rm $PWD/html
.
Bemerkung: $PWD
gibt der den aktuellen Standpunkt deines aufenhalts im Verzeichnissystem wieder. Also achte beim ausführen mit der Systemvariable $PWD wo du gerade bist. Du musst in unserem beispiel hier sein: ln -sfn $PWD/src2/ $PWD/target/Daten
.
Hoffe es hat geholfen das Wissen über Symlinks etwas aufzufrischen?