sosadmin相关命令

sosadmin命令

以下是本人翻译的官方文档,如有不对,还请指出,引用请标明出处。

原本有个对应表可以跳转的,但是CSDN的这个[](#)跳转好像不太一样,必须得用html标签,就懒得改了。

sosadmin help

  • 用法
    • sosadmin help
    • sosadmin help command

sosadmin archive


  • sosadmin archive - 用于归档项目数据

  • 用法
bash 复制代码
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:项目数据存档的目录路径。(这个目录必须存在且非空)
  • 注意事项
    • 您可以使用归档和还原的组合来完成以下操作:
      1. 重命名一个项目
      2. 将一个项目移动到不同的服务器
  • 示例
bash 复制代码
sosadmin archive USB_SRV USB_PRJ /store/EDA/USB_exported
# 将USB_PRJ项目数据库存档到目录/store/EDA/USB_exported

sosadmin audit


  • sosadmin audit - 用于显示该项目的审计跟踪

  • 用法
bash 复制代码
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 --> 仅显示目录的审计跟踪
      • 如果没有指定任何选项,则将显示所有对象的审计跟踪。
  • 注意事项
    • 即使服务器位于不同的时区,审计跟踪报告中显示的所有时间也都在本地时区。
    • 开始和结束时间也应使用本地时间指定。
  • 示例
bash 复制代码
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 - 用于清理项目的缓存数据

  • 用法
bash 复制代码
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。
    • 可选参数的参数优先级如下:
      1. 有命令行参数时优先使用命令行参数。
      2. 无命令行参数时使用环境变量。
      3. 无环境变量时使用默认值。
    • 注意:可选参数的顺序很重要。
  • 示例
bash 复制代码
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 - 列出连接到服务器的客户端

  • 用法
bash 复制代码
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_nameuser_name 参数可以接受通配符字符串以过滤客户端。
    • 列表显示每个客户端的"连接 ID、项目名称、用户名、主机名和工作区路径"。
  • 参数
    • server_name | ALL:服务器名称,其连接的客户端将被列出,或使用关键字 ALL
    • list:如果未指定其他选项,则这是默认操作。根据其他选项(如 project_nameuser_name)列出连接的客户端。
    • exit:退出所选客户端的工作区中的 SOS 会话。
    • closeconn:关闭服务器与所选客户端的连接。
    • sendmsg <message_string>:向所选客户端发送由 <message_string> 指定的消息。
    • <project_name> | ALL:在特定项目的客户端上运行上述命令之一,或使用关键字 ALL 表示所选服务器下的所有项目。可以为 project_name 使用通配符字符串。
    • <user_name> | <connection_id>:可选参数,用于过滤来自特定用户或工作区的客户端。连接 ID 可从上述 list 选项的输出中获取。输出行的第一个字段显示连接 ID。可以为 username 使用通配符字符串。
  • 示例
bash 复制代码
# 列出客户端信息相关
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 - 创建新服务器

  • 用法
bash 复制代码
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_typeuse_primary 时,此参数不需要。
    • auth_info
      • auth:启用 SOS 客户端的身份验证机制。
      • no_auth:不启用身份验证,默认值为 no_auth。
    • cache_info
      • 需要以下三组参数之一:
        1. new_cache cache_host cache_command_port cache_path num_rev_in_cache [auto_update_info]
        2. use_cache cache_host cache_command_port
        3. 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 必须大于零。
  • 示例
bash 复制代码
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 - 创建新项目

  • 用法
bash 复制代码
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"以完成命令参数。
  • 注意事项
    • 此命令只能由管理项目的主服务器所有者执行。
  • 示例
bash 复制代码
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 - 将调试消息记录到服务器

  • 用法:
bash 复制代码
sosadmin debug server_name server_type debug_mode
  • 描述 :
    • 为指定的服务器设置或取消调试日志记录。
    • 此设置不会被保存,仅应用于服务器的当前运行会话。
  • 参数 :
    • server_name:需要调试的服务器的名称。
    • server_type:服务器类型,可以是 primary(主服务器)或 cache(缓存服务器)。
    • debug_mode:可以通过 enable 启用调试,或通过 disable 禁用调试。
  • 示例:
bash 复制代码
sosadmin debug USB_SRV primary enable
# 为主服务器 `USB_SRV` 设置调试日志记录。

sosadmin debug USB_SRV cache disable
# 为缓存服务器 `USB_SRV` 取消调试日志记录。

sosadmin delete


  • sosadmin delete - 删除服务器

  • 用法:
bash 复制代码
sosadmin delete server_name
  • 描述 :
    • 删除指定的服务器。
  • 参数 :
    • server_name:需要删除的服务器的名称。
  • 示例:
bash 复制代码
sosadmin delete USB_SRV
# 删除服务器 `USB_SRV`。

sosadmin deleteproject


  • sosadmin deleteproject - 删除项目

  • 用法
bash 复制代码
sosadmin deleteproject server_name project_name
  • 描述
    • 删除指定服务器中指定项目
  • 参数
    • server_name:要删除的项目所在的服务器
    • project_name:要删除的项目
  • 示例
bash 复制代码
sosadmin delete USB_SRV USB1
# 删除 `USB_SRV` 服务器中的 `USB1` 项目

sosadmin exitclients


  • sosadmin exitclients - 断开连接到服务器或指定项目的客户端

  • 用法:
bash 复制代码
sosadmin exitclients <server_name> [<project_name>]
  • 描述 :
    • 断开当前连接到服务器 server_name 或指定项目 project_name 的客户端。
    • 可以通过指定 project_name 来过滤特定项目的客户端。
  • 参数 :
    • server_name:需要断开客户端连接的服务器名称。
    • project_name:仅断开属于指定项目的客户端。
  • 示例:
bash 复制代码
sosadmin exitclients USB_SRV
# 断开服务器 `USB_SRV` 上所有连接的客户端。

sosadmin exitclients USB_SRV USB_PROJ
# 断开服务器 `USB_SRV` 上属于项目 `USB_PROJ` 的客户端。

sosadmin getcfg


  • sosadmin getcfg - 获取自定义配置文件

  • 用法
bash 复制代码
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
      • 获取正确的平台级别配置文件。
      • 可选值为 unixwindows
    • cfg_file_type
      • 指定要获取的配置文件类型。
      • 可选值为 serverclientguitclcfg
        • server - 获取 sosd.cfgsosd.win.cfg
        • client - 获取 sos.cfgsos.win.cfg
        • gui - 获取 Sos.adSos.win.ad
        • tcl - 获取 sos.tcl
        • cfg - 使用 cfg_filename 指定的配置文件。
        • SCRIPTS - 从 SCRIPTS 目录中获取 cfg_filename 指定的文件。
    • cfg_filename:自定义配置文件保存的文件名。
  • 示例
bash 复制代码
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 - 获取引用项目的所有消费者的详细信息

  • 用法
bash 复制代码
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:打印给定引用项目的活动消费者摘要,列出最后的 addreferenceeditreferenceundelete 操作。
    • -w:为所有过滤参数启用前导和尾随通配符匹配。
    • -cleanup:清理给定引用项目的已删除引用记录(仅限管理员使用)。
    • -cmd
      • 对引用项目执行的操作,作为逗号分隔列表。
      • 有效值为 addreferenceeditreferencesnapshotdeleteundeleterenamemove
    • -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>
  • 示例
bash 复制代码
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 - 获取服务器的配置信息

  • 用法
bash 复制代码
sosadmin info server_name [info_keywords]
  • 描述

    • 打印主服务器和缓存服务器的配置信息

    • 如果未指定参数,则打印所有信息,包括:

      bash 复制代码
      服务器名称: <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

      • 可选关键字包括
      bash 复制代码
        ptype   --> 主服务器类型
        phost   --> 主服务器主机
        pcport  --> 主服务器命令端口
        prpath  --> 主服务器仓库路径
        pauth   --> 是否启用客户端认证
        pbkup   --> 主服务器备份路径
        ctype   --> 缓存服务器类型
        chost   --> 缓存服务器主机
        ccport  --> 缓存服务器命令端口
        cpath   --> 缓存路径
        cdepth  --> 缓存深度
        cupdate --> 缓存更新
        cbkup   --> 缓存备份路径
  • 注意事项

    • 无论服务器是否运行,都可以执行此命令。
    • 信息通过读取服务器配置文件返回。
    • 如果服务器位于远程位置,某些类型的信息将不可用(例如远程主服务器的数据端口和客户端认证)。
    • 如果值未知,则显示为 ?
  • 示例

bash 复制代码
sosadmin info USB_SRV
# 打印服务器 `USB_SRV` 的主机、端口和其他信息。

sosadmin info USB_SRV phost
# 打印服务器 `USB_SRV` 的主服务器主机名称。

sosadmin info DENALI phost pcport prpath
# 打印主服务器的主机名称、命令端口号和仓库路径,每行一个信息。

sosadmin list


  • sosadmin list - 列出已经定义的服务器

  • 用法
bash 复制代码
sosadmin list [-primary|-remote]
  • 描述
    • 列出已定义的服务器。
    • 若无选项,默认设置是列出所有的服务器。
  • 参数
    • -primary:仅列出主服务器。
    • remote:仅列出链接到主服务器的服务器。
  • 示例
bash 复制代码
sosadmin list
# 列出所有已定义的服务器。

sosadmin list -primary
# 列出主服务器。

sosadmin list -remote
# 列出链接到主的服务器。

sosadmin lockproject


  • sosadmin lockproject - 锁定项目

  • 用法:
bash 复制代码
sosadmin lockproject sos_server_name project_name [lock_state]
  • 描述 :
    • 锁定/解锁项目,以控制对项目仓库的写操作。有三种锁定状态:
      • all - 锁定所有用户和管理员。
      • user - 仅允许管理员或具有"覆盖权限"的用户写入。
      • none - 解锁项目,允许所有用户和管理员写入。
      • status - 打印项目的锁定状态。
  • 参数 :
    • sos_server_name:要使用的 SOS 服务器名称。
    • project_name:需要锁定的项目名称。
    • lock_state
      • 允许的锁定状态之一:allusernonestatus
      • 默认为 all
  • 示例
bash 复制代码
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 - 测试服务器是否正在运行

  • 用法:
bash 复制代码
sosadmin ping server_name
  • 描述 :

    • 测试服务器(如果定义了缓存服务器)是否正在运行。
    • 返回的 $status 状态如下:
    bash 复制代码
    0 -> 主服务器和缓存服务器均正常运行。
    1 -> 主服务器正常运行,缓存服务器未运行。
    2 -> 缓存服务器正常运行,主服务器未运行。
    3 -> 主服务器和缓存服务器均未运行。
  • 参数 :

    • server_name:需要测试的服务器名称。
  • 示例:

bash 复制代码
sosadmin ping USB_SRV
# 测试服务器 `USB_SRV` 是否正在运行。

sosadmin pingall


  • sosadmin pingall - 测试所有服务器是否正在运行

  • 用法:
bash 复制代码
sosadmin pingall
  • 描述 :

    • 测试所有已定义的服务器,检查它们是否正在运行。
    • 命令的输出是一个表格,列出所有服务器的状态。列标题如下:
    bash 复制代码
    ServerName PrimaryHost Running CmdPort P.PID CacheHost Running CacheCmdPort C.PID

```
- 运行状态表示如下:
	- `Running`:SOS 服务器守护进程的版本号
	- `Not running`:no
	- `Not defined`:空白
  • 参数 :
  • 示例:
bash 复制代码
sosadmin pingall

ServerName  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 - 添加项目映射

  • 用法:
bash 复制代码
sosadmin projectmap auto/list/add/delete [sos_server_name]
  • 描述 :
    • 添加/删除/列出项目映射。
      • auto - 添加所有已定义服务器的项目映射。
      • add - 添加指定服务器的项目映射。
      • delete - 删除指定服务器的项目映射。
      • list - 打印当前项目映射。
  • 参数 :
    • sos_server_name:要使用的 SOS 服务器名称。
  • 示例:
bash 复制代码
sosadmin projectmap auto
# 添加所有已定义服务器的项目映射。所有已定义的服务器将被查询。

sosadmin projectmap add sync55
# 添加 SOS 服务器 `sync55` 的项目映射。

sosadmin projectmap delete sync55
# 删除 SOS 服务器 `sync55` 的项目映射。

sosadmin projectmap list
# 列出当前的项目映射。

sosadmin projects


  • sosadmin projects - 列出服务器管理的项目

  • 用法
bash 复制代码
sosadmin projects server_name
  • 描述 :
    • 列出服务器管理的项目。
  • 参数 :
    • server_name:需要列出项目的服务器名称。
  • 示例:
bash 复制代码
sosadmin projects USB_SRV
# 列出服务器 `USB_SRV` 管理的项目。

sosadmin putcfg


  • sosadmin putcfg - 放置自定义cfg文件

  • 用法
bash 复制代码
sosadmin putcfg sos_server_name \
                project_name \
                cfg_file_platform
                cfg_file_type \
                cfg_filename
  • 描述
    • 将用户定义的配置文件放入项目仓库中。
    • 用于修改服务器、客户端或 GUI 的配置。如果项目仓库中已存在自定义配置文件,则会被覆盖。
  • 参数
    • sos_server_name:要使用的 SOS 服务器名称。
    • project_name:需要自定义的项目名称。
    • cfg_file_platform
      • 获取正确的平台级别配置文件。
      • 可选值为 unixwindows
    • cfg_file_type
      • 指定要操作的配置文件类型。

      • 可选值为 serverclientguitclcfgSCRIPTS

        bash 复制代码
        '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:要放入项目仓库的配置文件。
  • 示例
bash 复制代码
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 - 从服务器获取项目信息

  • 用法:
bash 复制代码
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:工作区状态过滤器的允许值为 activeinactive
  • 注意事项 :
    • 每次调用此命令只能查询一个选项。
  • 示例:
bash 复制代码
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 - 重新读取服务器配置文件。

  • 用法
bash 复制代码
sosadmin readcfg server_name [project_name]
  • 描述
    • 重新读取所有项目或特定项目的服务器配置文件。这些文件称为 sosd.cfg,可以位于安装级别或项目级别。
    • 所有项目级别和安装级别的配置文件都会被重新读取。
    • 如果在读取配置文件时发现错误,则停止进一步读取。
  • 参数
    • server_name:需要重新读取配置文件的服务器名称。
    • project_name:这是一个可选参数。如果提供,则仅重新读取该项目的配置文件。
  • 示例
bash 复制代码
sosadmin readcfg USB_SRV
# 重新读取服务器 `USB_SRV` 下定义的所有项目的配置文件。

sosadmin readcfg USB_SRV USB_PRJ
# 仅重新读取服务器 `USB_SRV` 下定义的项目 `USB_PRJ` 的配置文件。

sosadmin reimport


  • sosadmin reimport - 增量导入已导入的 SOS6 项目

  • 用法
bash 复制代码
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 项目的路径。
  • 注意事项
    • 此命令只能由管理项目的主服务器所有者执行。
  • 示例
bash 复制代码
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 - 恢复项目数据

  • 用法
bash 复制代码
sosadmin restore server_name project_name restore_from_dir
  • 描述 :
    • 从归档目录中恢复项目数据。
  • 参数 :
    • server_name:服务器名称。
    • project_name:要恢复数据的新项目名称。
    • restore_from_dir
      • 恢复项目数据的目录路径。
      • 该目录应包含由 archive 命令创建的所有必需文件。
  • 注意事项 :
    • 可以结合使用 archiverestore 命令完成以下操作:
      1. 重命名项目。
      2. 将项目移动到不同的服务器。
  • 示例:
bash 复制代码
sosadmin restore USB_SRV USB_4_0 /store/EDA/USB_exported
#  从 `/store/EDA/USB_exported` 目录恢复数据到服务器 `USB_SRV` 上的项目 `USB_4_0`。

sosadmin shell


  • sosadmin shell - 让服务器运行程序或脚本

  • 用法
bash 复制代码
sosadmin shell server_name project_name script_with_args
  • 描述
    • shell 命令允许用户在服务器上运行脚本或命令。
    • 注意 :出于安全原因,只有在以下两个目录中的程序或脚本才会被执行,优先级如下:
      1. 环境变量 SOS_SERVER_SCRIPTS_DIR 定义的路径。
      2. <项目仓库>/setup 目录。
  • 参数
    • server_name:执行脚本/命令的服务器名称。
    • project_name:执行脚本的项目名称。
    • script_with_args:脚本及其参数需要用双引号括起来。脚本是用户定义的脚本,需放置在上述目录中。脚本必须对 SOS 服务器具有执行权限。
  • 示例
bash 复制代码
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 在任意时间点的差异

  • 用法:
bash 复制代码
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。
  • 示例:
bash 复制代码
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 - 报告具有指定标签的版本

  • 用法
bash 复制代码
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
  • 示例
bash 复制代码
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 - 关闭服务器

  • 用法
bash 复制代码
sosadmin shutdown [-F] [-primary/-cache] server_name
  • 描述
    • 关闭服务器。
  • 参数
    • [-F]:强制立即关闭。
    • [-primary/-cache]:可选参数,指定是关闭主服务器还是缓存服务器。如果未指定,则尝试关闭两者。
    • server_name:要关闭的服务器名称。
  • 示例
bash 复制代码
sosadmin shutdown USB_SRV
# 关闭服务器 `USB_SRV`。

sosadmin shutdown -cache USB_SRV
# 关闭缓存服务器 `USB_SRV`。

sosadmin sos6reposanity


  • sosadmin sos6reposanit - 在从 SOS6 导入到 SOS7 之前检查 SOS6 仓库的完整性

  • 用法
bash 复制代码
sosadmin sos6reposanity  7_server_name  path_to_sos6_repo
  • 描述
    • 通过检查仓库数据的文件完整性,对 SOS6 仓库进行完整性检查。它会打印结果并将其保存到服务器日志文件中。
  • 参数
    • 7_server_name:管理项目的 SOS7 服务器名称。
    • path_to_sos6_repo:要导入的 SOS6 仓库的路径。
  • 注意事项
    • 此命令只能由管理项目的主服务器所有者执行。
  • 示例
bash 复制代码
sosadmin sos6reposanity bazinga /home/projects/admin/repo/bazinga.rep
# 检查位于 `/home/projects/admin/repo/bazinga.rep` 的 SOS6 仓库的完整性,以便导入到 SOS7 服务器 `bazinga`。

sosadmin startup


  • sosadmin startup - 启动服务器

  • 用法
bash 复制代码
sosadmin startup [-primary/-cache] server_name
  • 描述
    • 启动服务器。
  • 参数
    • [-primary/-cache]:可选参数,指定是仅启动主服务器还是缓存服务器。如果未指定,则同时启动主服务器和缓存服务器。
    • server_name:要启动的服务器名称。
  • 示例
bash 复制代码
sosadmin startup USB_SRV
# 启动服务器 `USB_SRV`。

sosadmin startup -primary USB_SRV
# 启动主服务器 `USB_SRV`。