2017-05-05 108 views
1

我遵循本指南:Could SLURM trigger a script(implemented by the frontend-SLURM user) when any job is completed?當作業注視着slurm時,它會觸發我已實施的腳本。外部用戶呼叫將無法運行IPFS呼叫

我有以下腳本。它可由SlurmUser讀取和執行。內部腳本我想打電話給ipfs並返回生成的散列。

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命令,所以它不能夠返回一個有效的散列。 IPFS應該將當前路徑上的文件寫入.ipfs文件夾並返回一個散列。

我所做的:

sudo chmod +x /usr/local/bin/ipfs 
sudo chmod +x path/to/added/* 

[email protected]:~/.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 

感謝您寶貴的時間和幫助。

回答

1

嘗試使用hello.sh作爲PATH環境變量IPF問題二進制文件的完整路徑可能是缺少%GOPATH%/ bin目錄。

此外,IPFS從環境變量派生出其存儲庫的路徑。如果沒有設置環境變量或指向沒有初始化IPFS回購的主目錄,那麼它將不會找到已初始化的存儲庫,並且它將退出且出現錯誤。 出口IPFS_PATH = /路徑/到/ ipfsrepo

+0

'出口IPFS_PATH = 「路徑/到/ ipfs_repo/.ipfs」'固定它:重寫得到的路徑,調用IPF問題二進制之前設置IPFS_PATH環境變量。多謝先生! @TarnayKálmán – Alper