sosadmin命令
以下是本人翻譯的官方文檔,如有不對,還請指出,引用請標明出處。
原本有個對應表可以跳轉的,但是CSDN的這個
[](#)
跳轉好像不太一樣,必須得用html標簽,就懶得改了。
sosadmin help
- 用法
sosadmin help
sosadmin help command
sosadmin archive
- sosadmin archive - 用于歸檔項目數據
- 用法
sosadmin archive server_name project_name archive_to_dir
- 描述
- 將所有項目數據存檔到指定的目錄以備備份,移動或重命名。
- 數據存檔在名為
SOS_<prj_name>\archive
的目錄中。 - 它包含以下文件:
README
- 關于此存檔的信息sosd_cfg.tgz
- 項目設置目錄中的所有文件sos_DB.??????
- 項目數據文件,分割以便于復制
- 參數
server_name
:SOS服務器名稱project_name
:要歸檔的項目名稱archive_to_dir
:項目數據存檔的目錄路徑。(這個目錄必須存在且非空)
- 注意事項
- 您可以使用歸檔和還原的組合來完成以下操作:
- 重命名一個項目
- 將一個項目移動到不同的服務器
- 您可以使用歸檔和還原的組合來完成以下操作:
- 示例
sosadmin archive USB_SRV USB_PRJ /store/EDA/USB_exported
# 將USB_PRJ項目數據庫存檔到目錄/store/EDA/USB_exported
sosadmin audit
- sosadmin audit - 用于顯示該項目的審計跟蹤
- 用法
sosadmin audit <server_name> <project_name> \-txt|-htm|-csv|-f"<custom_format>" \ <fromtime> \<totime> \<command list>| ALL \[<output file name> [-sfo | -sdo]]
- 描述
- 顯示項目審計跟蹤,按時間順序升序排列
- 以下列顯示
Date
Time
Username
Command
Pathname
Revision
Change Summary
- 參數
server_name
:要使用的SOS服務器名稱。project_name
:獲取指定項目的審計跟蹤。-txt | -htm | -csv | -f
- 這些是相互排斥的選項,用于定義審計跟蹤的格式
-txt
:以列形式呈現的文本輸出-htm
:帶有表格的超文本標記語言(HTML)格式-csv
:以制表符(TAB)分隔列的格式(即逗號分隔值格式)-f
:自定義格式,將會輸出到標準輸出(stdout)。- 分隔符:“%”。
- 有效字段:日期(date)、用戶(user)、命令(cmd)、對象(obj)、修訂版本(rev)、摘要(summary)。
- 分隔符 “%” 后面的數值用于確定字段寬度。
- 例如:“%20date %-20user %summary %obj %rev %cmd”。
<from_date+time>
- 開始時間。該日期和時間是以本地時間來指定的,并且會在服務器上進行相應的轉換。
- 指定日期和時間的格式為:“YYYY/MM/DD HH:MM:SS”(即 年/月/日 時:分:秒)。
- 你必須從年份開始填寫,但可以按需選擇填寫盡可能少的部分。未指定的部分將被視作 0。
<to_date+time>
- 結束時間。該日期和時間是以本地時間來指定的,并且會在服務器上進行相應的轉換。
- 指定日期和時間的格式為:“YYYY/MM/DD HH:MM:SS”(即 年/月/日 時:分:秒)。
- 你必須從年份開始填寫,但可以按需選擇填寫盡可能少的部分。未指定的部分將被視作 0。
<command name list> | ALL
- 此選項是一個過濾器,用于指定哪些命令將在審計跟蹤中列出。命令應以逗號分隔的列表指定。命令名稱字符串應與使用 soscmd 的命令名稱匹配。只有寫入存儲庫的命令才是有效選項。
- 以下為有效選項:
create, co, ci, discardco, tag, snapshot, delete, rename,
deleterev, modattr, definetag, definebranch, merge,
move, termbranch, addreference, editreference - 指定關鍵字 ALL 以列出所有命令。
<out file name>
- 輸出文件的路徑名。
- 如果提供了相對路徑名,則假定它是相對于sosadmin調用的當前目錄的。
- 如果期望輸出為HTML格式,則此選項是必需的。
- 如果沒有提供此選項用于文本格式,則審計跟蹤將終端輸出。
-sfo | -sdo
- 這些是互斥選項,用于篩選審計跟蹤以顯示文件或目錄。
- -sfo --> 僅顯示文件和軟件包的審計跟蹤
- -sdo --> 僅顯示目錄的審計跟蹤
- 如果沒有指定任何選項,則將顯示所有對象的審計跟蹤。
- 注意事項
- 即使服務器位于不同的時區,審計跟蹤報告中顯示的所有時間也都在本地時區。
- 開始和結束時間也應使用本地時間指定。
- 示例
sosadmin audit USB_srv USB_PROj -txt "2015/01/01" "2015/01/18 09:15:20" ALL
# 打印出從2015/01/01 00:00:00到2015/01/18 09:15:20的所有變更的審計跟蹤文本到標準輸出sosadmin audit USB_srv USB_PROj -f"%20date %-20user %50summary %obj %rev %cmd" "2019/01/01" "2019/05/15 09:15:20" ALL
# 打印出審計跟蹤的文本格式到標準輸出,列出從 "2019/01/01" 到 "2019/05/15 09:15:20" 的所有更改以自定義格式。sosadmin audit USB_srv USB_PROj -htm "2015/01/01" "2015/01/18 09:15:20" "ci,create,delete" /home/tom/usb/audit_trail.html -sfo
# 以HTML格式列出2015/01/01 00:00:00至2015/01/18 09:15:20期間創建或刪除的所有新文件以及新文件修訂版本。僅列出文件和包,不包括目錄。
sosadmin cachecleanup
- sosadmin cachecleanup - 用于清理項目的緩存數據
- 用法
sosadmin cachecleanup sos_server_name \project_name \[rev_depth [older_than_days [link_count]]]
- 描述
- 刪除緩存中的舊版本,即使其鏈接計數不為零。此命令將在緩存服務器中啟動清理過程并返回。它不會等待清理完成。用戶應檢查srv_cache.log文件以查看清理是否完成。只有在完成此操作后,才能向同一緩存服務器發出另一個清理命令。
- 使用的算法如下:
- 找到所有修訂次數超過 ‘rev_depth’ 的文件。
- 在緩存中保留 ‘rev_depth’ 修訂。
- 如果剩余修訂的創建時間早于(當前時間 - ‘older_than_days’)并且(修訂鏈接計數 <= ‘link_count’),則刪除剩余修訂。
- 參數
sos_server_name
:要使用的 sos 服務器的名稱。project_name
:需要清理緩存的項目名稱。rev_depth
:緩存中保留的文件修訂次數。環境變量是 SOS_FORCE_SCRUB_DEPTH。默認值與緩存服務器的緩存深度相同。older_than_days
:這是一個表示天數的整數。文件修訂版本,如果比當前時間早于’older_than_days’,將被考慮刪除。環境變量是 SOS_FORCE_SCRUB_DAYS。默認值是90。link_count
:這是一個表示指向此修訂版本的鏈接數量的整數。鏈接數量小于或等于 ‘link_count’ 的文件修訂將被考慮刪除。環境變量是SOS_FORCE_SCRUB_COUNT
。默認值是 5。- 可選參數的參數優先級如下:
- 有命令行參數時優先使用命令行參數。
- 無命令行參數時使用環境變量。
- 無環境變量時使用默認值。
- 注意:可選參數的順序很重要。
- 示例
sosadmin cachecleanup sync55 mp3
# 清理 sync55 緩存服務器上項目 mp3 的緩存,可選參數取自環境變量或默認值。sosadmin cachecleanup sync55 mp3 3
# 清理 sync55 緩存服務器上項目 mp3 的緩存,rev_depth 為 3,其他可選參數取自環境變量或默認值。sosadmin cachecleanup sync55 mp3 3 30 7
# 清理 sync55 緩存服務器上項目 mp3 的緩存,rev_depth 為 3,older_than_days 為 30,link_count 為 7。
sosadmin clients
- sosadmin clients - 列出連接到服務器的客戶端
- 用法
sosadmin clients <server_name>|ALL \[list | exit | closeconn | sendmsg <message_string>] \[<project_name> | ALL] \[<user_name> | <connection_id>]
- 描述
- 列出所有客戶端、發送消息、退出或關閉與當前連接到服務器
server_name
或所有服務器的客戶端的連接。 - 省略可選參數或使用
list
關鍵字以打印客戶端信息。 - 使用
exit
關鍵字退出指定的 SOS 客戶端。 - 使用
closeconn
關鍵字關閉與客戶端的連接而不退出它們。 - 使用
sendmsg
關鍵字和消息字符串向客戶端發送消息。 - 可以指定
project_name
以將列表過濾到特定項目,否則使用關鍵字ALL
。 user_name
參數是可選的,用于過濾屬于特定用戶的客戶端。project_name
和user_name
參數可以接受通配符字符串以過濾客戶端。- 列表顯示每個客戶端的“連接 ID、項目名稱、用戶名、主機名和工作區路徑”。
- 列出所有客戶端、發送消息、退出或關閉與當前連接到服務器
- 參數
server_name | ALL
:服務器名稱,其連接的客戶端將被列出,或使用關鍵字ALL
。list
:如果未指定其他選項,則這是默認操作。根據其他選項(如project_name
或user_name
)列出連接的客戶端。exit
:退出所選客戶端的工作區中的 SOS 會話。closeconn
:關閉服務器與所選客戶端的連接。sendmsg <message_string>
:向所選客戶端發送由<message_string>
指定的消息。<project_name> | ALL
:在特定項目的客戶端上運行上述命令之一,或使用關鍵字ALL
表示所選服務器下的所有項目。可以為project_name
使用通配符字符串。<user_name> | <connection_id>
:可選參數,用于過濾來自特定用戶或工作區的客戶端。連接 ID 可從上述list
選項的輸出中獲取。輸出行的第一個字段顯示連接 ID。可以為username
使用通配符字符串。
- 示例
# 列出客戶端信息相關
sosadmin clients USB_SRV
# 列出服務器 'USB_SRV' 的所有連接客戶端。sosadmin clients USB_SRV list '*PRO*'
# 列出服務器 'USB_SRV' 中項目名稱包含 "PRO" 的連接客戶端。sosadmin clients USB_SRV list '*PRO*' '*mgr*'
# 列出服務器 'USB_SRV' 中項目名稱包含 "PRO" 且用戶名包含 "mgr" 的連接客戶端。# 退出客戶端會話相關
sosadmin clients USB_SRV exit ALL
# 退出與 'USB_SRV' 服務器連接的所有項目的客戶端。# 發送消息相關
sosadmin clients ALL sendmsg "Shutting down servers for maintainence" ALL
# 向所有定義服務器的所有連接客戶端發送消息。sosadmin clients ALL sendmsg "Are you available for a WebEx meeting." ALL 1486
# 向連接 ID 為 1486 的客戶端發送消息,連接 ID 可通過 `sosadmin clients ALL list ALL` 命令獲取,其在輸出行的第一個字段。# 關閉客戶端連接
sosadmin clients USB_SRV closeconn USB_PROJ xyz
# 關閉與 USB_SRV 服務器管理的 USB_PROJ 項目下用戶 xyz 的 sos 客戶端的連接。
sosadmin create
- sosadmin create - 創建新服務器
- 用法
sosadmin create server_name \<new_primary | use_primary> \host \command_port \repo_path \[<auth | no_auth>] \<new_cache cache_host cache_command_port cache_path num_rev_in_cache [auto_update_info] | \use_cache cache_host cache_command_port | \no_cache>
- 描述
- 創建一個新的主服務器或緩存服務器。
- 參數
server_name
:要創建的服務器名稱。server_type
new_primary
:創建新的主服務器。use_primary
:使用現有的主服務器。
host
:服務器將在其上運行的主機名。command_port
:用作客戶端連接的服務器命令監聽端口號,也用于 SOS 服務器和 Postgresql 服務器之間的 Unix 套接字通信。repo_path
:創建服務器存儲庫的目錄路徑,存儲庫名稱為<server_name>.rep
,項目目錄在此目錄下創建。當server_type
為use_primary
時,此參數不需要。auth_info
auth
:啟用 SOS 客戶端的身份驗證機制。no_auth
:不啟用身份驗證,默認值為 no_auth。
cache_info
- 需要以下三組參數之一:
new_cache cache_host cache_command_port cache_path num_rev_in_cache [auto_update_info]
use_cache cache_host cache_command_port
no_cache
new_cache
:將定義一個新的緩存服務器。use_cache
:將使用現有的緩存服務器。no_cache
:將不定義任何緩存。cache_host
:緩存服務器將運行的主機名。cache_command_port
:緩存服務器的監聽命令端口號。cache_path
:用于緩存項目文件的路徑名。num_rev_in_cache
:要緩存的修訂版本數量。auto_update_info
(僅在new_cache
選項中有效):有以下三個選項,默認值為 no_auto_update。immediate_auto_update
:持續更新緩存。no_auto_update
:不自動更新緩存。auto_update no_of_minutes
:每no_of_minutes
分鐘更新一次緩存,no_of_minutes
必須大于零。
- 需要以下三組參數之一:
- 示例
sosadmin create newXP new_primary tiger.cliosoft.com 7832 /store/EDA/repository no_cache
# 在主機 `tiger.cliosoft.com` 上執行此命令
# 創建一個名為 `newXP` 的新主服務器,運行在主機 `tiger.cliosoft.com` 上,命令端口為 `7832`。
# 沒有緩存服務器。服務器倉庫位于 `/store/EDA/repository/newXP.rep`。
# 項目配置位于 `/store/EDA/repository/newXP.rep/<proj_name>/setup`。sosadmin create useXP use_primary tiger 7832 \new_cache peacock.cliosoft.com 8935 \/proj/SOS/cache 4 immediate_auto_update
# 在主機 `peacock.cliosoft.com` 上執行此命令
# 創建一個名為 `useXP` 的服務器,使用主機 `tiger` 上現有的主服務器,命令端口為 `7832`。
# 在主機 `peacock.cliosoft.com` 上創建一個新的緩存服務器,命令端口為 `8935`,緩存倉庫路徑為 `/proj/SOS/cache`,最多緩存 4 個文件版本。
# 緩存服務器將在新文件版本檢入項目倉庫時立即更新。緩存倉庫位于 `/proj/SOS/cache/useXP.cac`。
# 項目緩存位于 `/proj/SOS/cache/useXP.cac/<proj_name>`。sosadmin create dummyXP use_primary tiger 7832 \use_cache peacock.cliosoft.com 8935
# 在主機 `peacock.cliosoft.com` 上執行此命令,
# 創建一個名為 `dummyXP` 的服務器,使用主機 `tiger` 上現有的主服務器,命令端口為 `7832`。
# 同時使用主機 `peacock.cliosoft.com` 上的緩存服務器,命令端口為 `8935`。
sosadmin createproject
- sosadmin create project - 創建新項目
- 用法
sosadmin createproject server_name project_name \place_holder_arg_ignored \[comment [list_of_admins [import_6_path]]]
- 描述
- 在 SOS 中創建一個新項目及其倉庫。
- 參數
server_name
:負責管理該項目的服務器名稱。project_name
:要創建的項目名稱。place_holder_arg_ignored
:從版本 7 開始不需要此參數,僅用于向后兼容。comment
:新項目的注釋信息,可選參數,注釋字符串必須用雙引號括起來。list_of_admins
- 提供一個或多個項目管理員,必須用雙引號括起來且以逗號分隔。
- 此參數可選,但如果要指定管理員列表則必須同時指定注釋。指定管理員將在項目級服務器配置文件中創建帶有 ADMIN 行的內容。
import_6_path
- 如果要導入一個 SOS 6 項目,則指定從中導入項目數據的存儲庫路徑。
- 僅在導入 SOS 6 存儲庫時使用,若使用此參數,必須同時指定“comment”和“list_of_admins”以完成命令參數。
- 注意事項
- 此命令只能由管理項目的主服務器所有者執行。
- 示例
sosadmin createproject serverPalm cray_yp place_holder_arg_ignored "" "sosAdmin"
# 使用 serverPalm 服務器創建名為 cray_yp 的項目
# place_holder_arg_ignored 僅用于向后兼容未實際使用
# 注釋為空
# 管理員為 sosAdmin。sosadmin createproject USB_SRV USB_PRJ place_holder_arg_ignored "Project for USB." "sosAdmin, projManager"
# 使用 USB_SRV 服務器創建名為 USB_PRJ 的項目,
# # place_holder_arg_ignored 僅用于向后兼容未實際使用
# 注釋為空
# 指定管理員為 `sosAdmin` 和 `projManager`。sosadmin createproject USB_SRV USB_PRJ <bogus/path.rep> "Project for USB."
# 與上一示例類似,但只指定了注釋,未指定管理員列表。sosadmin createproject USB_SRV USB_PRJ place_holder_arg_ignored
# 與之前示例類似,但未指定注釋和管理員列表。sosadmin createproject USB_7_SRV USB_7_PRJ place_holder_arg_ignored "Comment:Importing an SOS 6 project" "cadmgr" /proj/sos_rep/USB.rep
# 使用 USB_7_SRV 服務器創建新的 USB_7_PRJ 項目
# place_holder_arg_ignored 僅用于向后兼容未實際使用
# 注釋為“Comment:Importing an SOS 6 project”
# 管理員為 `cadmgr`
# 從倉庫路徑 `/proj/sos_rep/USB.rep` 導入 SOS 6 項目。
sosadmin debug
- sosadmin debug - 將調試消息記錄到服務器
- 用法:
sosadmin debug server_name server_type debug_mode
- 描述:
- 為指定的服務器設置或取消調試日志記錄。
- 此設置不會被保存,僅應用于服務器的當前運行會話。
- 參數:
server_name
:需要調試的服務器的名稱。server_type
:服務器類型,可以是primary
(主服務器)或cache
(緩存服務器)。debug_mode
:可以通過enable
啟用調試,或通過disable
禁用調試。
- 示例:
sosadmin debug USB_SRV primary enable
# 為主服務器 `USB_SRV` 設置調試日志記錄。sosadmin debug USB_SRV cache disable
# 為緩存服務器 `USB_SRV` 取消調試日志記錄。
sosadmin delete
- sosadmin delete - 刪除服務器
- 用法:
sosadmin delete server_name
- 描述:
- 刪除指定的服務器。
- 參數:
server_name
:需要刪除的服務器的名稱。
- 示例:
sosadmin delete USB_SRV
# 刪除服務器 `USB_SRV`。
sosadmin deleteproject
- sosadmin deleteproject - 刪除項目
- 用法
sosadmin deleteproject server_name project_name
- 描述
- 刪除指定服務器中指定項目
- 參數
server_name
:要刪除的項目所在的服務器project_name
:要刪除的項目
- 示例
sosadmin delete USB_SRV USB1
# 刪除 `USB_SRV` 服務器中的 `USB1` 項目
sosadmin exitclients
- sosadmin exitclients - 斷開連接到服務器或指定項目的客戶端
- 用法:
sosadmin exitclients <server_name> [<project_name>]
- 描述:
- 斷開當前連接到服務器
server_name
或指定項目project_name
的客戶端。 - 可以通過指定
project_name
來過濾特定項目的客戶端。
- 斷開當前連接到服務器
- 參數:
server_name
:需要斷開客戶端連接的服務器名稱。project_name
:僅斷開屬于指定項目的客戶端。
- 示例:
sosadmin exitclients USB_SRV
# 斷開服務器 `USB_SRV` 上所有連接的客戶端。sosadmin exitclients USB_SRV USB_PROJ
# 斷開服務器 `USB_SRV` 上屬于項目 `USB_PROJ` 的客戶端。
sosadmin getcfg
- sosadmin getcfg - 獲取自定義配置文件
- 用法
sosadmin getcfg sos_server_name \ project_name \cfg_file_platform \cfg_file_type \cfg_filename
- 描述
- 獲取自定義配置文件。用于獲取服務器、客戶端或 SOS GUI 的配置文件。
- 自定義配置文件是指從
<proj_repository>/setup
目錄中獲取的配置文件。
- 參數
sos_server_name
:要使用的 SOS 服務器名稱。project_name
:需要自定義的項目名稱。cfg_file_platform
:- 獲取正確的平臺級別配置文件。
- 可選值為
unix
或windows
。
cfg_file_type
:- 指定要獲取的配置文件類型。
- 可選值為
server
、client
、gui
、tcl
或cfg
:server
- 獲取sosd.cfg
或sosd.win.cfg
。client
- 獲取sos.cfg
或sos.win.cfg
。gui
- 獲取Sos.ad
或Sos.win.ad
。tcl
- 獲取sos.tcl
。cfg
- 使用cfg_filename
指定的配置文件。SCRIPTS
- 從SCRIPTS
目錄中獲取cfg_filename
指定的文件。
cfg_filename
:自定義配置文件保存的文件名。
- 示例
sosadmin getcfg USB_SRV uC8051F unix server sosd.cfg.uC8051F
# 從服務器 `USB_SRV` 和項目 `uC8051F` 中獲取 `sosd.cfg` 文件,并將其保存為當前目錄下的 `sosd.cfg.uC8051F`。sosadmin getcfg USB_SRV uC8051F windows client ./tmp/sos.win.cfg.uC8051F
# 從服務器 `USB_SRV` 和項目 `uC8051F` 中獲取 `sos.win.cfg` 文件,并將其保存為 `./tmp` 目錄下的 `sos.win.cfg.uC8051F`。
sosadmin listconsumers
- sosadmin listconsumers - 獲取引用項目的所有消費者的詳細信息
- 用法
sosadmin listconsumers [-csv] \[-htm<html outfile> \[-hdr] \[-cleanup] \[-cmd<sos cmds>] \[-rp<comma sep list of reference project names>] \[-s<comma sep list of snapshots] \[-rrso<list of reference rso labels>] \-w \-sum \server_name \project_name
- 描述
- 打印給定項目中所有引用消費者的詳細信息。
- 這基本上是主項目對給定項目的引用操作列表。
- 您還可以匯總消費者列表,而不是查看完整的事件日志。
- 參數
server_name
:托管消費者項目的 SOS 服務器名稱。project_name
:需要獲取引用的消費者項目名稱。-rrso
:引用項目的 RSO(標簽、分支、快照)作為逗號分隔列表。-s
- 按消費者快照過濾,作為逗號分隔列表。
- 用于查看消費者項目中包含的底層引用。
-b
:按消費者項目的指定分支過濾。-rp
:引用路徑作為逗號分隔列表。-sum
:打印給定引用項目的活動消費者摘要,列出最后的addreference
、editreference
或undelete
操作。-w
:為所有過濾參數啟用前導和尾隨通配符匹配。-cleanup
:清理給定引用項目的已刪除引用記錄(僅限管理員使用)。-cmd
- 對引用項目執行的操作,作為逗號分隔列表。
- 有效值為
addreference
、editreference
、snapshot
、delete
、undelete
、rename
、move
。
-hdr
:顯示列標題。-htm
:以 HTML 格式輸出到指定的 HTML 文件。
- 輸出
listconsumers
命令輸出以下列:
<Reference Proj> <Reference Path> <Consumer Project> <Consumer Path> <Consumer Branch> <Reference RSO> <Action(addreference,snapshot etc)> <Consumer Snapshot> <Action By><Action Time>
- 示例
sosadmin listconsumers IP_CATALOG USB_IP
# 打印所有引用項目 `USB_IP` 的消費者項目(服務器為 `IP_CATALOG`)。sosadmin listconsumers IP_CATALOG USB_IP -rrsorelease_A1
# 打印所有引用項目 `USB_IP` 且引用 RSO 為 `release_A1` 的消費者項目。sosadmin listconsumers IP_CATALOG USB_IP -bLow_Power_Branch
# 打印所有引用項目 `USB_IP` 且消費者分支為 `Low_Power_Branch` 的消費者項目。sosadmin listconsumers IP_CATALOG USB_IP -rp./USB_IP_A, ./USB_IP_B
# 打印所有在路徑 `./USB_IP_A` 和 `./USB_IP_B` 添加引用的消費者項目。sosadmin listconsumers IP_CATALOG USB_IP -sum -bmain -htmlout.html
# 打印分支為 `main` 的消費者項目的 HTML 摘要報告,這些項目引用了項目 `USB_IP`。
sosadmin info
- sosadmin info - 獲取服務器的配置信息
- 用法
sosadmin info server_name [info_keywords]
- 描述
- 打印主服務器和緩存服務器的配置信息
- 如果未指定參數,則打印所有信息,包括:
服務器名稱: <sever name> 主服務器類型: <LOCAL | REMOTE> 主服務器主機: <host name> 主服務器命令端口: <command port> 主服務器倉庫路徑: <repository path> 主服務器備份路徑: <primary backup path> 客戶端認證: <0 | 1> (如果類型是 REMOTE 就填 '?') 緩存服務器類型: <NONE | LOCAL | REMOTE> 緩存服務器主機: <host name> (如果為 NONE 就填 '-') 緩存服務器命令端口: <command port> (如果為 NONE 就填 '-') 緩存路徑: <cache path> (如果類型是 REMOTE 就填 '?',如果為 NONE 就填 '-') 緩存深度: <cache depth> (如果類型是 REMOTE 就填 '?',如果為 NONE 就填 '-') 緩存更新: <-1, 0, #mins> (-1 = Immediate(立即). 0 = On Demand(按需)) 緩存備份路徑: <cache backup path>
- 可以使用關鍵字作為可選參數,僅獲取所需信息。每個關鍵字的信息將單獨打印一行。
- 參數
server_name
:需要重新讀取所有配置文件的服務器名稱。info_keywords
- 可選關鍵字包括
ptype --> 主服務器類型phost --> 主服務器主機pcport --> 主服務器命令端口prpath --> 主服務器倉庫路徑pauth --> 是否啟用客戶端認證pbkup --> 主服務器備份路徑ctype --> 緩存服務器類型chost --> 緩存服務器主機ccport --> 緩存服務器命令端口cpath --> 緩存路徑cdepth --> 緩存深度cupdate --> 緩存更新cbkup --> 緩存備份路徑
- 注意事項
- 無論服務器是否運行,都可以執行此命令。
- 信息通過讀取服務器配置文件返回。
- 如果服務器位于遠程位置,某些類型的信息將不可用(例如遠程主服務器的數據端口和客戶端認證)。
- 如果值未知,則顯示為
?
。
- 示例
sosadmin info USB_SRV
# 打印服務器 `USB_SRV` 的主機、端口和其他信息。sosadmin info USB_SRV phost
# 打印服務器 `USB_SRV` 的主服務器主機名稱。sosadmin info DENALI phost pcport prpath
# 打印主服務器的主機名稱、命令端口號和倉庫路徑,每行一個信息。
sosadmin list
- sosadmin list - 列出已經定義的服務器
- 用法
sosadmin list [-primary|-remote]
- 描述
- 列出已定義的服務器。
- 若無選項,默認設置是列出所有的服務器。
- 參數
-primary
:僅列出主服務器。remote
:僅列出鏈接到主服務器的服務器。
- 示例
sosadmin list
# 列出所有已定義的服務器。sosadmin list -primary
# 列出主服務器。sosadmin list -remote
# 列出鏈接到主的服務器。
sosadmin lockproject
- sosadmin lockproject - 鎖定項目
- 用法:
sosadmin lockproject sos_server_name project_name [lock_state]
- 描述:
- 鎖定/解鎖項目,以控制對項目倉庫的寫操作。有三種鎖定狀態:
- all - 鎖定所有用戶和管理員。
- user - 僅允許管理員或具有“覆蓋權限”的用戶寫入。
- none - 解鎖項目,允許所有用戶和管理員寫入。
- status - 打印項目的鎖定狀態。
- 鎖定/解鎖項目,以控制對項目倉庫的寫操作。有三種鎖定狀態:
- 參數:
sos_server_name
:要使用的 SOS 服務器名稱。project_name
:需要鎖定的項目名稱。lock_state
:- 允許的鎖定狀態之一:
all
、user
、none
或status
。 - 默認為
all
。
- 允許的鎖定狀態之一:
- 示例
sosadmin lockproject sync55 mp3
# 鎖定 SOS 服務器 `sync55` 上的項目 `mp3`。sosadmin lockproject sync55 mp3 none
# 解鎖 SOS 服務器 `sync55` 上的項目 `mp3`。sosadmin lockproject sync55 mp3 status
# 打印項目 `mp3` 的鎖定狀態。輸出值為:
# - 0: 未鎖定
# - 1: 鎖定所有用戶
# - 2: 鎖定所有用戶和管理員
sosadmin ping
- sosadmin ping - 測試服務器是否正在運行
- 用法:
sosadmin ping server_name
- 描述:
- 測試服務器(如果定義了緩存服務器)是否正在運行。
- 返回的
$status
狀態如下:
0 -> 主服務器和緩存服務器均正常運行。 1 -> 主服務器正常運行,緩存服務器未運行。 2 -> 緩存服務器正常運行,主服務器未運行。 3 -> 主服務器和緩存服務器均未運行。
- 參數:
server_name
:需要測試的服務器名稱。
- 示例:
sosadmin ping USB_SRV
# 測試服務器 `USB_SRV` 是否正在運行。
sosadmin pingall
- sosadmin pingall - 測試所有服務器是否正在運行
- 用法:
sosadmin pingall
- 描述:
- 測試所有已定義的服務器,檢查它們是否正在運行。
- 命令的輸出是一個表格,列出所有服務器的狀態。列標題如下:
ServerName PrimaryHost Running CmdPort P.PID CacheHost Running CacheCmdPort C.PID
```
- 運行狀態表示如下:- `Running`:SOS 服務器守護進程的版本號- `Not running`:no- `Not defined`:空白
- 參數:
- 無
- 示例:
sosadmin pingallServerName PrimaryHost Running CmdPort P.PID CacheHost Running CacheCmdPort C.PID
---------- ----------- ------- ------- ----- --------- ------- ------------ -----
CALLIOPE bender no 60001
CLIO bender 6.30.p1 60003 24576 marvin 6.30.p1 6000 3489
REFERENCE yosemite no 60001 marvin 6.23.p3 60009 26781
-------------------------------------------------------------------------------------------
sosadmin help projectmap
- sosadmin projectmap - 添加項目映射
- 用法:
sosadmin projectmap auto/list/add/delete [sos_server_name]
- 描述:
- 添加/刪除/列出項目映射。
- auto - 添加所有已定義服務器的項目映射。
- add - 添加指定服務器的項目映射。
- delete - 刪除指定服務器的項目映射。
- list - 打印當前項目映射。
- 添加/刪除/列出項目映射。
- 參數:
sos_server_name
:要使用的 SOS 服務器名稱。
- 示例:
sosadmin projectmap auto
# 添加所有已定義服務器的項目映射。所有已定義的服務器將被查詢。sosadmin projectmap add sync55
# 添加 SOS 服務器 `sync55` 的項目映射。sosadmin projectmap delete sync55
# 刪除 SOS 服務器 `sync55` 的項目映射。sosadmin projectmap list
# 列出當前的項目映射。
sosadmin projects
- sosadmin projects - 列出服務器管理的項目
- 用法
sosadmin projects server_name
- 描述:
- 列出服務器管理的項目。
- 參數:
server_name
:需要列出項目的服務器名稱。
- 示例:
sosadmin projects USB_SRV
# 列出服務器 `USB_SRV` 管理的項目。
sosadmin putcfg
- sosadmin putcfg - 放置自定義cfg文件
- 用法
sosadmin putcfg sos_server_name \project_name \cfg_file_platformcfg_file_type \cfg_filename
- 描述
- 將用戶定義的配置文件放入項目倉庫中。
- 用于修改服務器、客戶端或 GUI 的配置。如果項目倉庫中已存在自定義配置文件,則會被覆蓋。
- 參數
sos_server_name
:要使用的 SOS 服務器名稱。project_name
:需要自定義的項目名稱。cfg_file_platform
- 獲取正確的平臺級別配置文件。
- 可選值為
unix
或windows
。
cfg_file_type
- 指定要操作的配置文件類型。
- 可選值為
server
、client
、gui
、tcl
、cfg
或SCRIPTS
:'server' - sosd.cfg 或 sosd.win.cfg 'client' - sos.cfg 或 sos.win.cfg 'gui' - Sos.ad 或 Sos.win.ad 'tcl' - sos.tcl 'cfg' - 使用 "cfg_filename" 指定的配置文件 'SCRIPTS' - 將 "cfg_filename" 放入 'SCRIPTS' 目錄
- 注意:當使用
server
類型放置配置文件時,會自動向服務器發送重新讀取配置的命令。
cfg_filename
:要放入項目倉庫的配置文件。
- 示例
sosadmin putcfg USB_SRV uC8051F unix server sosd.cfg.uC8051F
# 將 `sosd.cfg.uC8051F` 服務器配置文件放入項目 `uC8051F` 的倉庫中。服務器將重新讀取配置。sosadmin putcfg USB_SRV uC8051F windows client sos.win.cfg.uC8051F
# 將 `sos.win.cfg.uC8051F` 客戶端配置文件放入項目 `uC8051F` 的倉庫中。
sosadmin query
- sosadmin query - 從服務器獲取項目信息
- 用法:
sosadmin query server project [tags branches snapshots labels path workareas locked isadmin attributes][rso] [reference_project] [username] [lname] [wa_state]
- 描述:
- 從 SOS 服務器打印項目特定的信息,例如標簽列表。
- 參數:
server
:要查詢信息的 SOS 服務器名稱。project
:要查詢信息的項目名稱。tags
:獲取指定項目中的標簽列表。branches
:獲取指定項目中的分支列表。snapshots
:獲取指定項目中的快照列表。labels
:獲取指定項目中的標簽、分支和快照列表。attributes
:獲取指定項目中某個標簽的屬性。rso
- 獲取當前用戶在指定項目中的默認修訂搜索順序(來自
sosd.cfg
)。 - 如果指定了
reference_project
,則獲取該項目的 RSO,否則獲取主項目的 RSO。
- 獲取當前用戶在指定項目中的默認修訂搜索順序(來自
path
:獲取項目的完整倉庫路徑。cache_path
:獲取服務器配置中指定的緩存路徑。reference_project
:與rso
選項一起使用。如果指定,則獲取主項目sosd.cfg
中引用的該項目的 RSO。workareas
:列出為指定項目創建的所有工作區。locked
:列出項目中所有被鎖定的對象。isadmin
:如果用戶是管理員,則返回1
,否則返回0
。username
:與isadmin
選項一起使用。lname
- 與
attributes
選項一起使用。 - 允許的值為任何已定義的標簽,或使用
all
獲取項目中所有標簽的屬性。
- 與
wa_state
:工作區狀態過濾器的允許值為active
或inactive
。
- 注意事項:
- 每次調用此命令只能查詢一個選項。
- 示例:
sosadmin query USB_SRV USB tags
# 打印項目 `USB` 中定義的所有標簽列表。sosadmin query sync55 mp3 labels
# 打印項目 `mp3` 中定義的所有標簽、分支和快照列表。sosadmin query sync55 mp3 rso USB
# 打印項目 `mp3` 中引用的項目 `USB` 的修訂搜索順序。sosadmin query sync55 mp3 locked
# 打印項目中所有被鎖定的對象。sosadmin query USB_SRV USB_PRJ attributes gold
# 打印項目 `USB_PRJ` 中標簽 `gold` 的所有屬性。sosadmin query USB_SRV USB_PRJ attributes all
# 打印項目 `USB_PRJ` 中所有標簽的屬性。
sosadmin readcfg
- sosadmin readcfg - 重新讀取服務器配置文件。
- 用法
sosadmin readcfg server_name [project_name]
- 描述
- 重新讀取所有項目或特定項目的服務器配置文件。這些文件稱為
sosd.cfg
,可以位于安裝級別或項目級別。 - 所有項目級別和安裝級別的配置文件都會被重新讀取。
- 如果在讀取配置文件時發現錯誤,則停止進一步讀取。
- 重新讀取所有項目或特定項目的服務器配置文件。這些文件稱為
- 參數
server_name
:需要重新讀取配置文件的服務器名稱。project_name
:這是一個可選參數。如果提供,則僅重新讀取該項目的配置文件。
- 示例
sosadmin readcfg USB_SRV
# 重新讀取服務器 `USB_SRV` 下定義的所有項目的配置文件。sosadmin readcfg USB_SRV USB_PRJ
# 僅重新讀取服務器 `USB_SRV` 下定義的項目 `USB_PRJ` 的配置文件。
sosadmin reimport
- sosadmin reimport - 增量導入已導入的 SOS6 項目
- 用法
sosadmin reimport 7_server_name 7_project_name import_6_path
- 描述
- 在已導入的 SOS7 項目基礎上,增量重新導入 SOS6 項目。
- 參數
7_server_name
:管理項目的 SOS7 服務器名稱。7_project_name
:需要通過增量導入更新的現有 SOS7 項目名稱。import_6_path
:自上次導入以來已更改的 SOS6 項目的路徑。
- 注意事項
- 此命令只能由管理項目的主服務器所有者執行。
- 示例
sosadmin reimport USB_7_SRV USB_7_PRJ /proj/sos_rep/USB.rep
# 通過增量導入 SOS6 倉庫路徑 `/proj/sos_rep/USB.rep` 的更改,更新服務器 `USB_7_SRV` 上的項目 `USB_7_PRJ`。
sosadmin restore
- sosadmin restore - 恢復項目數據
- 用法
sosadmin restore server_name project_name restore_from_dir
- 描述:
- 從歸檔目錄中恢復項目數據。
- 參數:
server_name
:服務器名稱。project_name
:要恢復數據的新項目名稱。restore_from_dir
- 恢復項目數據的目錄路徑。
- 該目錄應包含由
archive
命令創建的所有必需文件。
- 注意事項:
- 可以結合使用
archive
和restore
命令完成以下操作:- 重命名項目。
- 將項目移動到不同的服務器。
- 可以結合使用
- 示例:
sosadmin restore USB_SRV USB_4_0 /store/EDA/USB_exported
# 從 `/store/EDA/USB_exported` 目錄恢復數據到服務器 `USB_SRV` 上的項目 `USB_4_0`。
sosadmin shell
- sosadmin shell - 讓服務器運行程序或腳本
- 用法
sosadmin shell server_name project_name script_with_args
- 描述
shell
命令允許用戶在服務器上運行腳本或命令。- 注意:出于安全原因,只有在以下兩個目錄中的程序或腳本才會被執行,優先級如下:
- 環境變量
SOS_SERVER_SCRIPTS_DIR
定義的路徑。 <項目倉庫>/setup
目錄。
- 環境變量
- 參數
server_name
:執行腳本/命令的服務器名稱。project_name
:執行腳本的項目名稱。script_with_args
:腳本及其參數需要用雙引號括起來。腳本是用戶定義的腳本,需放置在上述目錄中。腳本必須對 SOS 服務器具有執行權限。
- 示例
sosadmin shell ALU_PRJ_SRV ALU_ASIC "notify_admin Check_IN $SOS_OBJ_PATH"
# 用戶腳本 `notify_admin` 由 SOS 服務器 `ALU_PRJ_SRV` 為項目 `ALU_ASIC` 執行。`Check_IN` 是第一個參數,`$SOS_OBJ_PATH` 是第二個參數。
sosadmin showdiff
- sosadmin showdiffs - 顯示兩個 RSO 在任意時間點的差異
- 用法:
sosadmin showdiffs server_name project_name fromrso torso [format] [fromtime] [totime]
- 描述:
- 顯示項目中兩個 RSO(修訂搜索順序)之間的差異(如果項目在 SOS 控制下)。
- 參數:
server_name
:使用的 SOS 服務器名稱。project_name
:獲取指定項目的審計記錄。fromrso
:起始 RSO 字符串。以逗號分隔的值列表。torso
:目標 RSO 字符串。以逗號分隔的值列表。format
:有效的格式選項為txt|csv|csv:noheader
,默認格式為txt
。[fromtime]
- 顯示結果的起始本地日期和時間。日期和時間以本地時間指定,并在服務器上適當轉換。
- 日期和時間的格式為:
"YYYY/MM/DD HH:MM:SS"
- 必須從年份開始,但可以選擇指定盡可能少的部分。未指定的部分將假定為 0。
[totime]
:- 顯示結果的結束本地日期和時間。日期和時間以本地時間指定,并在服務器上適當轉換。
- 日期和時間的格式為:
"YYYY/MM/DD HH:MM:SS"
- 必須從年份開始,但可以選擇指定盡可能少的部分。未指定的部分將假定為 0。
- 示例:
sosadmin showdiffs USB_SRV USB_PRJ main Feature_Complete
# 顯示服務器 `USB_SRV` 上項目 `USB_PRJ` 的 RSO `main` 和 `Feature_Complete` 之間的差異。sosadmin showdiffs USB_SRV USB_PRJ main Feature_Complete csv
# 以 CSV 格式顯示 RSO `main` 和 `Feature_Complete` 之間的差異。sosadmin showdiffs USB_SRV USB_PRJ main Feature_Complete csv:noheader
# 以 CSV 格式顯示 RSO `main` 和 `Feature_Complete` 之間的差異,但不包含表頭。sosadmin showdiffs USB_SRV USB_PRJ main Feature_Complete csv 2017/08/01 2017/09/12
# 顯示從時間 `2017/08/01` 到時間 `2017/09/12` 之間 RSO `main` 和 `Feature_Complete` 的差異,并以 CSV 格式輸出。
sosadmin showlabels
- sosadmin showlabels - 報告具有指定標簽的版本
- 用法
sosadmin showlabels server_name project_name labelnames [rso] [format]
- 描述
- 生成報告,列出指定 RSO 下具有標簽的對象版本。
- 參數
server_name
:使用的 SOS 服務器名稱。project_name
:獲取指定項目的審計記錄。、labelnames
:感興趣的標簽名稱。可以是單個標簽或以逗號分隔的標簽列表。[rso]
:RSO 字符串。以逗號分隔的值列表。如果未提供,則默認為main
。[format]
:有效的格式選項為txt|csv|htm|csv:noheader
。默認格式為txt
。
- 示例
sosadmin showlabels USB_SRV USB_PRJ Release_10
# 顯示具有標簽 `Release_10` 的所有修訂版本,使用默認 RSO `main` 和默認格式 `txt`。sosadmin showlabels USB_SRV USB_PRJ Release_10,Tapeout_release main csv
# 顯示具有標簽 `Release_10` 和 `Tapeout_release` 的所有修訂版本,使用 RSO `main` 和 CSV 格式。sosadmin showlabels USB_SRV USB_PRJ Release_10 "" csv
# 顯示具有標簽 `Release_10` 的所有修訂版本,使用默認 RSO `main` 和 CSV 格式。
sosadmin shutdown
- sosadmin shutdown - 關閉服務器
- 用法
sosadmin shutdown [-F] [-primary/-cache] server_name
- 描述
- 關閉服務器。
- 參數
[-F]
:強制立即關閉。[-primary/-cache]
:可選參數,指定是關閉主服務器還是緩存服務器。如果未指定,則嘗試關閉兩者。server_name
:要關閉的服務器名稱。
- 示例
sosadmin shutdown USB_SRV
# 關閉服務器 `USB_SRV`。sosadmin shutdown -cache USB_SRV
# 關閉緩存服務器 `USB_SRV`。
sosadmin sos6reposanity
- sosadmin sos6reposanit - 在從 SOS6 導入到 SOS7 之前檢查 SOS6 倉庫的完整性
- 用法
sosadmin sos6reposanity 7_server_name path_to_sos6_repo
- 描述
- 通過檢查倉庫數據的文件完整性,對 SOS6 倉庫進行完整性檢查。它會打印結果并將其保存到服務器日志文件中。
- 參數
7_server_name
:管理項目的 SOS7 服務器名稱。path_to_sos6_repo
:要導入的 SOS6 倉庫的路徑。
- 注意事項
- 此命令只能由管理項目的主服務器所有者執行。
- 示例
sosadmin sos6reposanity bazinga /home/projects/admin/repo/bazinga.rep
# 檢查位于 `/home/projects/admin/repo/bazinga.rep` 的 SOS6 倉庫的完整性,以便導入到 SOS7 服務器 `bazinga`。
sosadmin startup
- sosadmin startup - 啟動服務器
- 用法
sosadmin startup [-primary/-cache] server_name
- 描述
- 啟動服務器。
- 參數
[-primary/-cache]
:可選參數,指定是僅啟動主服務器還是緩存服務器。如果未指定,則同時啟動主服務器和緩存服務器。server_name
:要啟動的服務器名稱。
- 示例
sosadmin startup USB_SRV
# 啟動服務器 `USB_SRV`。sosadmin startup -primary USB_SRV
# 啟動主服務器 `USB_SRV`。