-
Notifications
You must be signed in to change notification settings - Fork 1
end_report
KoueiYamaoka edited this page May 9, 2018
·
11 revisions
- 研究室内から使用すること
- ネットワークに接続されていること
- windowsの場合: putty付属のplink.exeがインストールされていること
- linuxの場合: ssh, sshpass がインストールされていること
$ sudo apt-get install sshpass
- ¥ と \ は等価
- 実行するスクリプトの最後に以下のコードを追記し,いつもどおり実行.
- コード内の(username@slack) はslackでのユーザ名に変更 (ex: yamaoka)
- コード内の(script name) は実行するスクリプト名に変更 (ex: test.m)
- puttyがあるフォルダのパスを調べる
- puttyフォルダを開き,アドレスバーを右クリックでアドレスをコピー
- (path_to_putty)をコピーしたものに置き換える
cmd = '(path_to_putty)\plink.exe shumaikun@172.16.0.210 -pw (パスワード。誰かに聞いてね) python3 endReport (slack のユーザ名) (script name)';
system(cmd);
- 例
cmd = 'C:\Users\Owner\Desktop\putty-0.67-ja20160306\plink.exe shumaikun@172.16.0.210 -pw (パスワード。誰かに聞いてね) python3 endReport yamaoka test.m';
system(cmd);
cmd = 'sshpass -p (パスワード。誰かに聞いてね) ssh shumaikun@172.16.0.210 ''python3 ~/endReport (slack のユーザ名) (script name)''';
system(cmd);
- 例
cmd = 'sshpass -p (パスワード。誰かに聞いてね) ssh shumaikun@172.16.0.210 ''python3 ~/endReport yamaoka test.m''';
system(cmd);
MATLABとほぼ同じ
import os
cmd = "sshpass -p (パスワード。誰かに聞いてね) ssh shumaikun@172.16.0.210 'python3 ~/endReport (slack のユーザ名) (script name)'"
os.system(cmd)
import
cmd = '(path_to_putty)\plink.exe shumaikun@172.16.0.210 -pw (パスワード。誰かに聞いてね) python3 endReport (slack のユーザ名) (script name)';
os.system(cmd);
- プログラム本体はサーバにあり,上記コマンドはスクリプトから ssh コマンドを呼び出しているだけ.
- 他言語でも変数 cmd に格納してある文字列を実行すればこの機能が使えるはず.
- テスト期間中はサーバの都合上パスワードが必要なため面倒になっている.
- ubuntu 16.04 で MATLAB を使用時
- ssl のバージョンがミスマッチしてるとかいうエラーをMATLABが吐く.
- 解決策は不明なため,以下のように力技で戦う.
$ matlab -nodesktop -nosplash -r '(script name W/O .m); exit' ; sshpass -p (パスワード。誰かに聞いてね) ssh shumaikun@172.16.0.210 'python3 ~/endReport (slack のユーザ名) (script name)
- コマンドmatlabはmatlabの実行ファイルを起動するalias
- (script name W/O .m) は実行ファイルが test.m であれば test
- sshpass ... は長いのでaliasでも貼ればいいのでは