2009-03-02 99 views
5

shell腳本在Solaris實例中安裝和配置一些服務和應用程序。其中一種服務是NTP - 但NTP不能在非全局區域中運行(當然,它可以,但是xntpd在嘗試調整時鐘時失敗;而是該區域從全局區域繼承時間)。shell腳本如何知道它在Solaris區域中運行?

shell腳本如何知道它確實在非全局Solaris區域中運行,以便在這種情況下可以跳過NTP配置步驟?

回答

5

使用zonename(1)。在全局區域(或在沒有任何區域的獨立服務器上),這將返回字符串global

NAME 
    zonename - print name of current zone 

SYNOPSIS 
    zonename 

DESCRIPTION 
    The zonename utility prints the name of the current zone. 

... 
1

您也可以嘗試zoneadm list -cv,在全局區域中,你會看到這樣的輸出:

# zoneadm list -cv 
ID NAME    STATUS   PATH 
0 global   running  /
1 zone1   running  /zones/zone1 

,而在其他區域,您只能看到該特定區域,例如

# zoneadm list -cv 
ID NAME    STATUS   PATH 
1 zone1   running  /zones/zone1 
1

好吧,如果你正在運行的腳本中區,並希望以確保它在區域中運行,然後運行以下命令

arp -a |grep SP 

你可以在上面的輸出中看到您的全局區域在1號線命令。根據此輸出在腳本中應用檢查可能很有用。

相關問題