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

clamAV

ウイルスソフトclamAVのインストールと使用法について Contents1 インストール1.1 CentOS61.2 CentOS72 スキャン実行の設定に関して インストール CentOS6 [c …

no image

シンボリックリンクについて

えー見ることは多かったんですが、自分で使うことはなかったシンボリックリンクについて。 Contents1 シンボリックとは?2 使い方 シンボリックとは? 簡単にいうとショートカットみたいなものです。 …

no image

composerでのライブラリ登録

今回はPHPのパッケージ管理ツールであるcomposerへのライブラリ登録を。 Contents1 ライブラリの作成2 packagistへの登録3 呼び出す側3.1 composer.json3.2 …

no image

DNSの仕組み

本日はDNSについて。 とりあえず要点のみ DNSのざっくりとした仕組み ネットワーク上での住所を決める仕組み。 本来はIPがその役割を果たしている. [crayon-617234e0a47fd275 …