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

ansibleでのインストール

ansibleについてのメモなど。 Contents1 ansibleって何?2 インストール前準備3 ansibleインストール4 SSH鍵登録5 具体的なソフトウェアのインストール6 参考リンク& …

no image

vagrant 複数ホストを起動

ansbileを使おうと思ったんですが、ansibleはホスト1→ホスト2という構成になっているため、2台のホストがないと使えません。 MACであればローカル環境からいけますし、Windowsでもcy …

no image

mod_aliasに関して

同一ドメインでパスによってルートディレクトを分けたい時。 この場合、apacheの設定ファイルをいじることになります。 一般的にはhttpd.confではなく*.confと言った設定ファイルを使い、エ …

no image

CSRF(クロスサイト・リクエスト・フォージェリ)

Contents1 CSRF(クロスサイト・リクエスト・フォージェリ)とは?2 被害3 対策4 参考(トークンチェック) CSRF(クロスサイト・リクエスト・フォージェリ)とは? ウェブサイトの中には …

no image

MacでのVirtualHost設定

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