Files
blog-public/content/docs/server/config/hpcstat.md

67 lines
3.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
weight: 3
title: "hpcstat 扩展功能"
---
`jykang@hpc.xmu.edu.cn` 是许多人共用了一个账户(尽管是使用不同密钥认证的)。
这导致所有基于 linux 账户的工具都只能把这些人当作同一个人来对待,
许多功能都无法实现(例如,区分现在登陆的是谁,分用户统计核时,等)。
原则上来说,这个问题是没法彻底解决的。但是康老师又要求我去尽量解决这个问题(例如,统计每个人的核时、每个人登陆的时间等)。
因此我写了一个程序(起名叫 `hpcstat`)来尽量解决这些问题。
在解决掉这些棘手的问题之后,我也顺便加了一些额外的功能(列在下面)来方便我自己的使用。
如果你有需要,也可以使用。
{{< callout type="warning" >}}
很多功能通过“滥用”`TERM` 变量来实现。
如果 `TERM` 变量的格式设置得不正确PuTTY 登陆后一些程序会无法正常工作(但也不会造成更严重的问题),
因此尝试时应该仔细且小心,并且在尝试之前记下原来的 `TERM` 变量以便出错后恢复。
{{< /callout >}}
## 设置子账户
一个老师拿到密钥后,可能会将它分发给多个不同的学生。
如果希望区分不同学生(统计不同学生的使用情况,或者给不同学生设置不同的环境),
可以修改 `TERM` 变量,加上 `hpcstat_subaccount:your_name:` 前缀,
以此来进一步区分使用同一个密钥的不同用户。
对于 PuTTY 来说,`TERM` 变量在 Connection -> Data -> Ternimal-type string 中修改。
例如,如果原本的 `TERM` 变量是 `xterm`,那么修改后的 `TERM` 变量可以是 `hpcstat_subaccount:chn:xterm`
`TERM` 变量只在交互式登陆时有效,因此无法在 WinSCP 中使用。
如果设置了这个参数,那么会额外统计不同子账户的使用情况(登陆次数、投递的任务、占用的核时,等)。
是否设置这个参数都不影响按密钥统计的功能(即,按照密钥统计的核时,是所有使用这个密钥的用户的总和,无论是否设置了这个参数)。
如果有需要(例如,希望为某个子账户设置特别的环境,同时又不希望影响到他人),也可以做到(通过测试 `HPCSTAT_SUBACCOUNT` 环境变量)。
子账户的统计结果仅供参考,这个统计结果显然很容易造假
(如果 A 和 B 都使用同一个密钥登陆,那么显然 B 可以在 TERM 中填入 A 的名字以假装自己是 A把自己用的核时都算到 A 头上)。
## PuTTY 登陆时自动跳转:
如果您希望在登陆时自动跳转到自己的目录下,可以在 `TERM` 中再增加以下前缀:`chn_cd:your_path:`
例如,将 `TERM` 变量修改为 `chn_cd:linwei/chn:xterm`,那么使用 PuTTY 登陆后会自动跳转到 `linwei/chn` 目录下。
如果同时使用了 `hpcstat_subaccount``chn_cd`,那么 `hpcstat_subaccount` 必须在 `chn_cd` 之后,
例如 `chn_cd:linwei/chn:hpcstat_subaccount:chn:xterm`
## 任务进度微信通知:
用微信打开下面的链接:
```
https://wxpusher.zjiecode.com/wxuser/?type=1&id=75864#/follow
```
您应该会被引导去关注一个公众号WxPusher 消息推送平台)。关注这个公众号之后会收到一条包含 UID 的消息。
然后把下面的信息发给我:
* 您的 UID
* 您使用的密钥的指纹(用 PuTTY 登陆时会提示)
* 如果使用了子账户(在 `TERM` 中设置了 `hpcstat_subaccount`),还需要告诉我您设置的子账户名
之后您投递的任务有新进度(例如,开始运行、运行结束)时就会通过这个公众号收到通知。
需要注意的是,这个 UID 会被明文写到 jykang 上的文件里。
也就是说存在这样的风险:有权限登陆 jykang 的人都有权限通过这个公众号给您发消息。