# 多项目管理工具使用说明

## 1. 概述

神策分析在 1.5 版本里面推出了“[多项目](../data_import/multi_project)”功能。本文介绍多项目管理工具的使用方法。

多项目管理工具提供如下几个功能：

1. 列出所有项目
2. 新建项目
3. 更新项目显示名
4. 删除项目
5. 回收已删除项目的资源

此外：

* 关于项目重置功能请参见 [多项目](../data_import/multi_project);
* 云版多项目相关操作请联系值班同学处理;

## 2. 使用方法

请在 sa\_cluster 账户下使用该工具。从 root 切换到 sa\_cluster 账户的方法：

```
su - sa_cluster
```

* 请注意 su 与 sa\_cluster 中间的减号。

### 2.1 列出所有项目

执行以下命令可以列出所有项目：

```
project_tools -m list
```

运行输出样例如下：

```
--------------------------------------
project.id:     1
name:           default
cname:          默认项目
status:         AVAILABLE
super_token:    FFNJ24C31
normal_token:   8FWI1GN1F
create_time:    2016-06-29 23:46:39.0
--------------------------------------

当前共 1 个有效 project.
许可允许最多使用 2 个项目.
```

其中 status 共有 3 种取值，分别含义如下：

* CREATED: 已经创建，不能导入数据，一般出现在刚创建项目的前 1 分钟内，之后转为 PREPARED；
* PREPARED: 可以导入，但还不能查询，该状态一般出现在新项目创建还没有导入数据；
* AVAILABLE: 可以查询，即已经导入行为事件数据；

### 2.2 新建项目

执行以下命令可以新建项目：

```
project_tools -m create -n <项目名称> [-c <项目显示名>] -p <新项目admin的密码> [--normal_token <数据导入 Normal Token>] [--super_token <数据导入 Super Token>]
```

参数解释：

* -n, --name: 项目名称，需要是一个合法的变量名，即英文大小写字母、数字以及下划线组成，第一个字符不能为数字；
* -p, --password: 新项目的admin帐号的密码；
* -c, --cname: 项目显示名，可以是中文名，用于界面显示。此参数可选，若不输入则项目显示名同项目名称；
* \--normal\_token: 1.6 新增配置项，项目的 Normal Token。可选参数，若不设置则值为空；
* \--super\_token: 1.6 新增配置项，项目的 Super Token。可选参数，若不设置则值为空；

例子：

```
project_tools -m create -n my_project -c 我的项目 -p PasswordTest123
```

执行以上命令即可创建名为 my\_project ，显示名为“我的项目”的新项目，登录时使用帐号 admin，密码 PasswordTest123。

在创建这个账号之后，就可以使用这个账号登录相应的项目，然后再在界面上创建账号和分配权限了。

* 若当前项目个数已达到许可所限制的项目数最大值，则无法再创建新项目。您可以删除项目或更换许可后再创建新项目。

### 2.3 更新项目配置

执行以下命令可以更新项目配置：

```
project_tools -m update -n <项目名称> [-c <项目显示名>] [--normal_token <数据导入 Normal Token>] [--super_token <数据导入 Super Token>] [--clear_normal_token] [--clear_super_token]
```

参数解释：

* -n, --name: 要修改配置的项目名;
* -c, --cname: 设置项目显示名，可选参数；
* \--normal\_token: 1.6 新增配置项，设置项目的 Normal Token，可选参数；
* \--super\_token: 1.6 新增配置项，设置项目的 Super Token，可选参数；
* \--clear\_normal\_token: 1.6 新增配置项，将 Normal Token 设置为空值，可选参数；
* \--clear\_super\_token: 1.6 新增配置项，将 Super Token 设置为空值，可选参数；

例子：

```
project_tools -m update -n my_project -c 新的项目
```

### 2.4 删除项目

执行以下命令可以删除项目：

```
project_tools -m delete -n <项目名称>
```

参数解释：

* -n, --name: 删除项目的项目名称；

例子：

```
project_tools -m delete -n my_project
```

* 请注意：项目删除后不可恢复，请谨慎操作！
* 默认项目 `default` 不能删除，但可以重置。关于重置功能请参见 [多项目](../data_import/multi_project)。

### 2.5 回收已删除项目的资源

执行以下命令可以回收已删除项目的资源：

```
project_tools -m purge
```

* 请注意：该操作运行时间较长，请耐心等待！
