サーバーへのファイルのアップロード、ソフトウェアのインストール、コマンドやスクリプトの実行、サービスの再起動、サーバーの再起動など、サーバーを一括して操作する必要がある場合があります。これらを一つ一つ手動で操作すると非常に面倒で、人的資源の無駄になります。 このとき、expect を使用してターゲット サーバーに指示を送信し、バッチ操作を実装できます。 次の例では、centos上のファイルを他のサービスプロバイダーにバッチコピーし、対応するコマンドを実行します。 1. CentOSにExpectをインストールする yumインストール期待 2. 期待スクリプトcopyfilebatch.shを記述する 次のスクリプトは、イントラネット IP アドレス 192.168.0.102 ~ 192.168.0.112 を持つサーバーに rc.local ファイルをコピーします。コピーが成功したら、chmod コマンドを実行してサーバーをそれぞれ再起動します。 #!/usr/bin/expect -f パスワードを設定する rootpassword {i 102 に設定} {$i <= 112} {i を増分} { IPアドレスを「192.168.0.$i」に設定する 「$ip」を置く ssh -o StrictHostKeyChecking=no $ip を実行します。 タイムアウト3を設定 「root@$ip のパスワード:」を期待します タイムアウト3を設定 「$password\r」を送信 タイムアウト3を設定 「exit\r」を送信 scp /home/install/rc.local root@$ip:/etc/rc.d/rc.local を起動します。 タイムアウト3を設定 「root@$ip のパスワード:」を期待します タイムアウト3を設定 「$password\r」を送信 タイムアウト3を設定 「exit\r」を送信 ssh root@$ip を生成する 期待する { "*はい/いいえ" { "はい\r"を送信; exp_continue} "*password:" { "$password\r" を送信 } } 期待する "#*" #実行するコマンドは「chmod +x /etc/rc.d/rc.local\r」を送信します 「再起動\r」を送信 「exit\r」を送信 EOFを期待する } 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: ユニアプリとミニプログラム(画像とテキスト)を下請けする方法を教えます
インストールパス: /application/mysql-5.5.56 1. 事前準備MySQL 依...
SSHPASSをインストールする最新のオペレーティング システムでは、sshpass パッケージはデ...
効果: <!doctypehtml> <html> <ヘッド> ...
今日はたまたま友人のサーバーの移転を手伝うことになり、サーバーの基本的な設備の設定を行ったのですが、...
1. 前提条件インポートには require.context メソッドを使用します。vite で作成...
1. ホットリンクの原則1.1 Webページの準備Web ソース ホスト (192.168.153...
いくつかの記事を読んだ後、ようやく MySQL で row_number() ソートを実装する方法が...
コードをコピーコードは次のとおりです。 IE6 と FF の違い: background:orang...
1. レンダリングJD効果シミュレーション効果 2. 原則高さと幅が0のボックスを用意しますこのボ...
フレックス レイアウトは現在よく使用されるレイアウト方法ですが、場合によっては小さな問題が発生するこ...
目次道具プラグインをインストールするプロジェクトのルートディレクトリに.postcssrc.jsファ...
1. セットアップを始める次のコード関数を簡単に紹介します。 ref 関数を使用して変数の変更を監視...
パラメータでのストアドプロシージャの使用IN パラメータは、プロシージャに情報を渡すためにのみ使用さ...
HTML構造 <本文> <div class="wrapper"...
目次1. MySQLでよく使われる文字列関数2. 数値関数3. 日付と時刻の機能4. プロセス機能5...