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

URLのリライトに関して

laravelのアプリをサブディレクトリ(notサブドメイン)に配置しなくてはならないケースがあり、.htaccessと格闘したのでメモを。 このパターンはハマりが多いですね・・・ http://sk …

no image

vimの基本的な使い方 設定ファイル、基本コマンド他

もう4年ぐらいの付き合いになる憎らしくもかわいいエディタvi(vim)について。 雑誌に特集があったのでこれを機にまとめてみました。シリーズものになるかも・・・ Contents1 Vi(vim)とは …

no image

メモリー不足でのスワップ割り当て

先日、あるサーバーでcomposerをinstallしようとしたところ、 The following exception is caused by a lack of memory or swap, …

no image

herokuでのhttpd.conf設定

前回の記事でLet’s EncryptでSSL設定する場合、 http://ドメイン/.well-known/ というURLにアクセスする必要があります。 ただherok …

no image

VPCでEC2+RDSを構築

以前の記事で、VPCを使ってEC2の環境を作りましたが、一般的にwebアプリはwebサーバーとDBがセットになることがほとんどだと思いますので、AWSでこの環境を構築してみようと思います。 Conte …