0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【PowerShell】WindowsPCからLinux上のShellファイルを実行する

Last updated at Posted at 2021-02-12

前置き

今回は Putty を使用して WindowsPC から Linux サーバのシェルをキックするサンプルプログラムを紹介します。
決まった時間にシェルを実行する際はクーロンで事足りますが、手動実行したい時もあり、わざわざログインして実行するのがめんどくさかったため、PowerShellで自動化しました。
PowerShellから他のCLIツールにコマンドの実行について記載しているため、Putty 以外のツールをご利用されている方でも参考になるのではないかと思ってます。

別の記事でLinuxサーバのファイルをダウンロードする記事も書かせていただいております。
一連の流れで「シェルの実行」 → 「実行結果ログのダウンロード」のような場合に使えると思いますので、是非見ていってください。
【PowerShell】WindowsPCからLinux上のファイルをダウンロードする

シナリオ

1.PuttyでLinuxサーバにログイン
2.$EXECUT_FILE_PATHで指定したシェルを実行する

サンプルプログラム

サンプルプログラムをコピーして、拡張子「.ps1」で保存してください。
下記のサンプルプログラムのConfig部分に必要な情報を入力してください。
基本的に下記の項目を見直していただきたいと思います。
$PUTTY_PATH
$USER_NAME
$IP_ADDRESS
$PASSWORD
$EXECUT_FILE_PATH

ExecutShell.ps1

################################## Config ##################################

# PUTTY情報
$PUTTY_PATH = "C:\Tools\PuTTY"
$PLINK_PATH = Join-Path $PUTTY_PATH "plink.exe"

# Linux接続情報
$USER_NAME = "user"
$IP_ADDRESS = "XX.XX.XX.XX"
$PASSWORD = "password"

# 実行するシェルのパス
$EXECUT_FILE_PATH = "/users/app/test.sh"

############################################################################

########################## 文字コードをUTF8に変更 ##########################
chcp 65001
############################################################################

############################## シェル実行処理 ##############################

# Linux上で実行したいコマンドを上から順番に記述
<#
 ログイン直後はCLI上にゴミが初期値で競ってされており、
 配列[0]にLinuxコマンドを入力した場合、
 「 sh: コマンドが見つかりませんでした...」と出力された。
 サンプルプログラムでは、配列[0]に空白を入れることで回避している。
   ※ 空白を入れるとEnterを押したときと同じ動きをする
#>
$executionCommadn = @(
    ""
    , "sh ${EXECUT_FILE_PATH}"
    , "exit"
)

# 配列に入っているコマンドを上から順番に実行する
$executionCommadn | & $PLINK_PATH ${USER_NAME}@${IP_ADDRESS} -pw $PASSWORD

############################################################################

終わりに

今回は、シェルの実行についてでしたが、もちろん他のLinuxコマンドも利用できるので、是非、応用して使ってみてください。
ここまで読んでいただき、ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?