私の状況は次のとおりです。
A:ボタンを数回クリックすると、6つのLinuxサーバーから複数のサービスをリモートで再起動できるダッシュボードサーバーがあります。
B. 私は複数のデータベースサーバーを持っています。 2つは開発用で、2つは本番用です。ノードサーバー2台
私のスクリプトは、1つのノードを2つのデータベースサーバーに同時に接続します。
#!/bin/bash
ssh -f -N -L 3307:192.168.0.19:3306 -L 3308:192.168.0.20:3306 192.168.0.12 -luser
直接入力するか、ターゲットサーバーのスクリプトにあるショートカットを介して入力する場合にのみ機能します。
私が望むのは、ダッシュボードを介して問題のサーバーを再起動している間、exec( './localdashbaordscript')でスクリプトを実行することです。
問題は、このスクリプト(./tunnel.sh)がダッシュボードからSSHを介してリモートまたはcronジョブとして実行されないことです。
クローンタブ -e:
@reboot /home/user/sh/tunnel.sh
どんなアイデアがありますか?私は明らかに言いましたか?ありがとうございます!
答え1
走ってみよう
SERVER=$1
ssh user@$SERVER 'ssh -f -N -L 3307:192.168.0.19:3306 -L 3308:192.168.0.20:3306 192.168.0.12 -luser'
ダッシュボードから
うまくいくのは、ターゲットサーバーからスクリプトを呼び出すことです。
SERVER=$1
ssh user@$SERVER '~/sh/tunnel.sh'