加拿大天文学数据中心数据传输客户端
cadcetrans的Python项目详细描述
加拿大天文学数据中心-电子传输
cadc-etrans是一个用于数据和 加拿大天文学数据中心(CADC)的元数据。待归档文件 由cadc-etrans处理的文件将放在以下位置之一 用户指定的源目录的子目录:
- 新建-用于CADC存档中的新文件。cadc-etrans 如果不是这样,则标记为错误。
- 已替换-用于预期已在CADC存档中的文件。 cadc-etrans如果文件丢失,则将其标记为错误。
- 任何-对于在CADC存档中不重要的文件
cadc-etrans可以配置为对文件名执行检查 根据提供的规则检查文件的类型。文件 失败这些检查将移动到被拒绝的子目录并根据 遇到错误的类型。希望用户能解决这些问题 并将文件放回源目录以便重新处理。
通过所有验证的文件将发送到CADC存档。
注意:要确保在尝试传输之前完全接收到文件 它必须在输入目录中花费最少的时间(5分钟) 在处理之前没有被修改/更新。
通过修改 ~/.config/cadc-etrans文件。
用法
cadc-etrans通常与crontab一起使用。下面的示例处理文件 每15分钟一次。
*/15 * * * * cadc-etrans data --cert /home/auser/.ssl/cadcproxy.pem -c /home/auser/.config/cadc/dao-namecheck.xml sourcedir
cadc-etrans可以将传输日志备份到vospace:
0 11 * * * cadc-etrans status -b --cert /home/auser/.ssl/cadcproxy.pem sourcedir
Docker用法
避免部署应用程序环境(例如,在 主机),应用程序可以从Docker容器运行。 要构建容器,请下载 https://github.com/opencadc/cadctools/tree/master/cadcetrans/docker目录 自定义配置文件cadc-etrans-config和namecheck.xml和 构建容器:
cd docker docker build -t cadcetrans .
调用它:
docker run --rm --mount type=bind,source=/tmp/logs,target=/logging --mount type=bind,source=/tmp/input/,target=/input cadcetrans status
或:
docker run --rm --mount type=bind,source=/tmp/logs,target=/logging --mount type=bind,source=/tmp/input/,target=/input cadcetrans data
注意需要两个装载:一个是传输日志 记录下来,以便它们在容器外部可用 其中一个用于源目录(source=<>部分是需要自定义的 指向本地主机上的目录。