2017-05-29 7 views
0

私の仕事の1つは、毎日複数のLinuxサーバーの状態を確認することです。私はこのタスクを自動化する方法を考えています(毎日各サーバーにログインする必要はありません)。私は途中で初心者のシステム管理者です。最初は、私の考えは、スクリプトを実行して出力を電子メールで送信するcronジョブをセットアップすることでした。残念ながら、現在のところ、サーバーからメールを送信することはできません。複数のLinuxサーバーのコマンドを実行する

私はこのコマンドを並行して実行することを考えていましたが、どのようにすればよいかわかりません。たとえば、サーバーに1つずつログインせずに、出力をdf -hにするにはどうすればよいですか。

答えて

0

-tフラグを指定してsshを実行すると、sshセッションを開き、コマンドを実行してからセッションを閉じることができます。しかし、これを完全に自動化するには、すべてのサーバーへのログインプロセスを自動化して、すべてのサーバーにパスワードを入力する必要はありません。

リモートサーバー上でdf -hを実行してセッションを閉じるには、ssh -t [email protected] "df -h"を実行します。その後、あなたはその出力を処理することができます。

これを自動化する方法の1つは、すべてのサーバーに対してこのコマンドを実行し、出力を処理してサーバーの正常性をチェックするbash scriptを作成することです。

フラグ-tの詳細、またはsshのログインプロセスを自動化する方法については、こちらを参照してください。

https://www.novell.com/coolsolutions/tip/16747.html

https://serverfault.com/questions/241588/how-to-automate-ssh-login-with-password

0

sshトンネルを使用することも、単にこの目的のためにsshを使用することもできます。 sshトンネルを使用すると、出力をマシンにリダイレクトすることができます。または、代わりに、マシン上のリモートコマンドでsshを実行して、マシン上に出力を取得することもできます。手動ログインを避けたい場合は、

http://blog.trackets.com/2014/05/17/ssh-tunnel-local-and-remote-port-forwarding-explained-with-examples.html

https://www.google.hu/amp/s/www.cyberciti.biz/faq/unix-linux-execute-command-using-ssh/amp/

SSHキーを使用します。

さらに読書のための以下のページをご確認ください。

関連する問題