skillup

技術ブログ

サーバー・ネットワーク

シェルスクリプトでのsshログインとメール送信

投稿日:2015年7月20日 更新日:

久々にシェルスクリプトをやったんでその復習を。

応用範囲は結構広そうです。

ファイルの読みこみ方

こんなことも知りませんでした。カレントディレクトリであれば、上記のように. ファイル名だけでよいようです。

関数の定義、使い方

シェルスクリプトの場合、呼び出す前に関数を定義しておかないと呼び出せません。

引数は$1,$2...とします。

SSHログイン

通常は対話しながら処理を行います。このような場合、expectというメソッドが必要になります。

ちなみにcronなどで実行する場合、一番最後を

と記述しなくてはいけません。

ssh鍵認証つきのログイン

ちなみに鍵認証つきのログインの場合は下記のようになります。

keyは秘密鍵のパスになります。

鍵認証ログインに関してはこちら

メール送信

いろいろな書き方があると思いますが、下記が一番簡単でした。

これを組み込んでメールを飛ばすことができます。

cron実行時の注意

  • ユーザー権限のチェック
  • ファイルパスを絶対パスで記述しているか
  • 必ずcdコマンドでカレントディレクトリに移動する
  • わからない場合は ファイルパス>/var/log/hoge.txt  2>/var/log/error_log.txt などとしてエラーログを見る

参考リンク

シェルスクリプト基礎

シェルの基礎とSSH Tips

SSHコマンドで 公開鍵認証(鍵交換)を使ってSSH 接続してみる

関数の使い方

シェルスクリプトを書いてみよう4(関数作成編)

SSHログイン

[Shell] crontabでシェルスクリプトのexpectコマンドがうまく動かない

鍵認証のSSHログイン

expectでsshのパスフレーズ付き鍵認証を自動化

ポート番号指定

MacからSSHでサーバーに自動ログイン

-サーバー・ネットワーク
-

執筆者:


  1. […] シェルスクリプトで動かしたいときは↓の方法がそのまんま使えます。sshコマンドをそのままSCPに切り替えます。 シェルスクリプトでのsshログインとメール送信 […]

comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

nginxのデバッグ

今までいろいろと苦しめられてきた(汗)nginxのデバッグについて。 まず任意の文字や変数をログに出すことができます。 Contents1 変数の出力1.1 rewriteデバッグ2 小ネタ 変数の出 …

no image

herokuでのLet’s Encrypt設定

herokuで運用しているアプリでhttps設定(Let’s Encrypt)をしたいという要望があり、調査、設定をすることに。 当然herokuでなくても大丈夫です。 過去に行ったhtt …

no image

Linuxでのパス

以前、composerを入れるときに、こちらの記事を書いたのですが、自分が使っているVPSではこの方法で入りませんでした。 調べるとみるとPATHが[crayon-64813530b7abc36005 …

no image

MacでのVirtualHost設定

MacでのVirtualHostについて。 Contents1 設定方法2 注意点2.1 httpd -S2.2 httpd: Could not reliably determine the ser …

no image

nohup(sshログアウトしてもコマンドは続く)+ StickyBit(誰もで書き込み自由)

インフラ系の小ネタです Contents1 nohup2 Sticky Bit(スティッキービット) nohup sshでログインしている時に長時間かかるような処理を実行中、ログアウトするとそのコマン …

アーカイブ