Ich habe meinen Code auf einem Host und möchte, dass er auf einer virtuellen Debian-Maschine (die auf demselben Host gehostet wird) ausgeführt wird.
Daher verwende ich den Freigabeordner von VmWare, um meinen Code in der virtuellen Maschine freizugeben. Aber mein Programm ist langsamer als wenn sich der Code tatsächlich auf der Festplatte der VM befindet. (wahrscheinlich wegen des anderen Dateisystems (hgfs vs ext4)
Ich sehe zwei mögliche Lösungen:
Synchronisieren Sie den freigegebenen Ordner mit einem anderen Ordner auf der VM. Es gäbe also keinen Netzwerkzugriff. Aber ich weiß nicht, welches Tool ich verwenden soll. Wahrscheinlich so etwas wie ein ständiger One-Way-Rsync, der auch die Dateien löscht.
Verwenden Sie eine Art "Link" wie einen symbolischen oder physischen Link, der den Ordner replizieren würde, aber ich weiß nicht, ob so etwas existiert.
Wie würdest du das machen ?
(Wenn ich den Code auf der virtuellen Maschine habe und ihn mit Samba teile, ist das Problem dasselbe und der Zugriff auf die Dateien mit meiner IDE ist langsamer.)
quelle
Antworten:
Der rsync ist eine gute Idee, Sie müssen jedoch Änderungen immer auf demselben Host vornehmen, von dem der rsync die Quelle abruft. Sie benötigen einige grundlegende Bash-Skripte, die rsync in einer Schleife mit der
--delete
Option ausführen, mit der Dateien aus dem TARGET entfernt werden, die in SOURCE nicht vorhanden sind. Führen Sie das Skript in einemscreen
während des Startvorgangs aus und Sie können loslegenEine andere Idee ist, eine Art Cloud-Synchronisation zu verwenden, entweder wie Dropbox, oder einen eigenen owncloud / nextcloud-Server zu spoolen, um dies zu tun.
Und wenn es sich wirklich um den Code handelt, den Sie synchronisieren möchten , besteht der EIGENE Industriestandard darin, das Git-Repository zu verwenden. Sie können unter https://bitbucket.org ein kostenloses Repository erstellen und beide Computer für die Verwendung festlegen und dann Änderungen festschreiben / abrufen wann immer nötig.
quelle
sleep 10
oder so etwas in die Schleife