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

jenkinsのオートデプロイ

久々にJavaやりました。 Contents1 やりたいこと2 ハマりポイント2.1 Antでのjobの設定2.2 jenkinsでビルドできない2.3 jenkinsのオートデプロイ2.4 SSHで …

no image

nginxの設定&php-fpmインストール

本日、久しぶりにPHPのWebアプリを別サーバーに移行したのですが、nginxの設定でかなり手間取りましたのでちょっと記録しておきます。 Contents1 nginxの設定1.1 インストール1.2 …

no image

Perlワンライナー他

Perlではcgiと連動してWEBアプリケーションを作るケースが多いですが、元々テキストの編集や置換が非常に便利です。 例えば、あるディレクトリにある特定のファイル名(正規表現使用可)だけを抽出する場 …

no image

composer経由でのpearライブラリのインストール

2018年7月現在、PHPのライブラリはほとんどComposer経由でインストールできるかと思いますが、稀にComposerに対応していないものもあり、その場合、pearから取得してくる必要があります …

no image

Addtypeについて

htmlにはPHPを埋め込むことができますが、拡張子がhtmlの場合、そのままでは実行できません。 この場合、通常では拡張子を変えなければいけないところですが、apacheを使っている場合、設定ファイ …

アーカイブ