2017-06-13 96 views
0

我試圖用元數據鍵「啓動腳本」啓動時啓動TMUX開始TMUX。我試圖啓動時執行tmux new-session -d -s toto,但是當我做了tmux ls後來我看不出有任何TMUX會議。谷歌計算引擎 - 使用啓動腳本

我在這裏錯過了什麼?

回答

1

有可能會在這裏失去了一些先決條件:

  1. 方案應在圖像上進行安裝。標準圖像安裝了一套最簡單的程序。

  2. 啓動腳本運行的每個實例啓動時,它作爲root。因此,如果您直接從啓動腳本運行tmux,它將以root用戶身份啓動新的tmux會話。這不是你想要的。

話雖如此,這將工作(我已經放棄使用gcloud例子,但您可以將類似的邏輯休息API或雲端控制檯以及):

所有這一切都可以採取小心使用此啓動腳本:

(hash tmux 2>/dev/null || (apt-get update && sudo apt-get -y install tmux)) && sudo -H -u USERNAME tmux new-session -d -s toto 

上面的命令將安裝TMUX如果尚未安裝,然後啓動名爲toto新分離TMUX會議。

gcloud compute instances create VM_NAME --metadata 'startup-script=(hash tmux 2>/dev/null || (apt-get update && sudo apt-get -y install tmux)) && sudo -H -u USERNAME tmux new-session -d -s toto' --zone ZONE_NAME --project PROJECT_NAME 

隨時後來爲現有VM或更新元數據:在VM

gcloud compute instances add-metadata vm-1 --metadata 'startup-script=(hash tmux 2>/dev/null || (apt-get update && sudo apt-get -y install tmux)) && sudo -H -u USERNAME tmux new-session -d -s toto' --zone ZONE_NAME --project PROJECT_NAME 

您可以隨時re-run the startup script

您可以在創建實例時設置此啓動腳本無需重新啓動虛擬機):

$ sudo google_metadata_script_runner --script-type startup 

完整的文檔約Startup scripts可在這裏。

+0

謝謝你,它的工作就像一個魅力。 – Paradoxeuh