外部用户调用将无法 运行 IPFS 调用
External user call won't able to run IPFS call
我遵循了这个指南:当作业在 slurm 上启动时,它触发了一个我已经实现的脚本。
我有以下脚本。它可由 SlurmUser 读取和执行。在脚本中,我想调用 ipfs 和 return 生成的哈希值。
hello.sh
#!/bin/bash
export IPFS_PATH="path/to/ipfs_repo/.ipfs"
x=$(/usr/local/bin/ipfs add -r path/to/added)
在 slurm.conf
上更新了这一行。
MailProg=/path/to/my_script.sh
所以当我通过SLURM运行一个作业时,这个脚本是能够被触发的。但是它不能 运行 ipfs add -r path/to/added
命令,所以它不能 return 一个有效的散列。 IPFS 应该将当前路径上的文件写入 .ipfs 文件夹和 return 哈希。
我做到了:
sudo chmod +x /usr/local/bin/ipfs
sudo chmod +x path/to/added/*
netlab@ebloc:~/.ipfs$ ls -ls
total 16
4 drwxr-xr-x 78 netlab netlab 4096 May 6 12:02 blocks
4 -rwxr-xr-x 1 netlab netlab 3705 May 5 12:14 config
4 drwxr-xr-x 2 netlab netlab 4096 May 6 12:02 datastore
4 -rwxr-xr-x 1 netlab netlab 2 May 5 12:14 version
感谢您的宝贵时间和帮助。
尝试使用 hello.sh 中 ipfs 二进制文件的完整路径作为 PATH 环境变量可能缺少 %GOPATH%/bin 目录。
此外,IPFS 从 HOME 环境变量中导出其存储库的路径。如果 HOME 环境变量未设置或指向没有初始化 IPFS 存储库的主目录,则它将找不到已初始化的存储库,并且会出错并退出。要覆盖派生路径,请在调用 ipfs 二进制文件之前设置 IPFS_PATH 环境变量:
导出 IPFS_PATH=/path/to/ipfsrepo
我遵循了这个指南:
我有以下脚本。它可由 SlurmUser 读取和执行。在脚本中,我想调用 ipfs 和 return 生成的哈希值。
hello.sh
#!/bin/bash
export IPFS_PATH="path/to/ipfs_repo/.ipfs"
x=$(/usr/local/bin/ipfs add -r path/to/added)
在 slurm.conf
上更新了这一行。
MailProg=/path/to/my_script.sh
所以当我通过SLURM运行一个作业时,这个脚本是能够被触发的。但是它不能 运行 ipfs add -r path/to/added
命令,所以它不能 return 一个有效的散列。 IPFS 应该将当前路径上的文件写入 .ipfs 文件夹和 return 哈希。
我做到了:
sudo chmod +x /usr/local/bin/ipfs
sudo chmod +x path/to/added/*
netlab@ebloc:~/.ipfs$ ls -ls
total 16
4 drwxr-xr-x 78 netlab netlab 4096 May 6 12:02 blocks
4 -rwxr-xr-x 1 netlab netlab 3705 May 5 12:14 config
4 drwxr-xr-x 2 netlab netlab 4096 May 6 12:02 datastore
4 -rwxr-xr-x 1 netlab netlab 2 May 5 12:14 version
感谢您的宝贵时间和帮助。
尝试使用 hello.sh 中 ipfs 二进制文件的完整路径作为 PATH 环境变量可能缺少 %GOPATH%/bin 目录。
此外,IPFS 从 HOME 环境变量中导出其存储库的路径。如果 HOME 环境变量未设置或指向没有初始化 IPFS 存储库的主目录,则它将找不到已初始化的存储库,并且会出错并退出。要覆盖派生路径,请在调用 ipfs 二进制文件之前设置 IPFS_PATH 环境变量: 导出 IPFS_PATH=/path/to/ipfsrepo