▼ SOさん
> ▼ takaさん
>
> 情報、ありがとうおございます(^^
>
> 今は、Tera Termにてログインしっぱなしで、
> データ同期のみバッチファイルにて動かしている状況です。
>
> 。。。Tera Termにてログインしっぱなしが気持ち悪いので、
> Puttyを調べてみたいと思います。
PuTTYでテストしてみました。
結果として、Tera Termと同じ現象です。
ログインしていないとトンネリングできないみたいです。
試しにトンネリングだけタスクスケジュールにいれて実行すると
タスクの一覧にきちんとプログラムが表示されていますが
mysqladmin ping -h localhost -P 3307 -u test
と打つとエラーが返ってきます
ログイン中でないと新しいポートの割り当てができない仕様なのかもしれないです。
トンネル接続が特殊なのかもしれないので、ポート開けるだけのプログラムで実験してみないとわかりません。
powershellを使えば
Start-Process
timeout
Start-Process -Wait
Stop-Process
を組み合わせると閉じるところまで自動化できます
# タスクの設定: プログラム/スクリプト
# %SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe
# 引数の追加(オプション)
# -ExecutionPolicy RemoteSigned -File c:\tmp\test_task.ps1
putty="C:\pathto\PuTTYPortable\App\putty\putty.exe"
$remote_user="user"
$remote_pass="pass"
$remote_host="hostname"
try{
# プロセスを実行+未待機
$process = Start-Process "$putty" -ArgumentList "-ssh -L 3307:127.0.0.1:3306 $remote_user@$remote_host -pw $remote_pass -N" -PassThru
# 指定秒数待機する(接続したであろう時間適当に待つ)
timeout 10
# 何か実行する
# Start-Process ... -Wait
} finally {
# 起動したPUTTYを強制的にシャットダウン
Stop-Process -InputObject $process
}
|