サーバーへのファイルのアップロード、ソフトウェアのインストール、コマンドやスクリプトの実行、サービスの再起動、サーバーの再起動など、サーバーを一括して操作する必要がある場合があります。これらを一つ一つ手動で操作すると非常に面倒で、人的資源の無駄になります。 このとき、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 を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: ユニアプリとミニプログラム(画像とテキスト)を下請けする方法を教えます
序文プロジェクトを .net core に移行した後、 System.Drawing.Commonコ...
目次1. はじめに2. データを消去するいくつかの方法2.1 ref() の使用2.2 スライスの使...
Centos7 と Centos6 では、GRUB パスワードの設定手順に大きな違いがあります。これ...
Node-red をデータベース (mysql) に接続するには、まずコンピューターに MySQL ...
この記事では、Linuxサーバー上でDockerを使用してNexusプライベートサーバーを構築する方...
1.Mysqlスクリプトのワンクリックインストール [root@uat01 ~]# cat Inst...
CentOS7 のデフォルトのファイアウォールは iptables ではなく、firewalle で...
テーブルを切り捨てる個々の行の削除をログに記録せずに、テーブル内のすべての行を削除します。文法 テー...
1. DockerでのPostgresデータベースのバックアップ注文: docker exec it...
RedHat6.5インストールMySQL5.7チュートリアル共有、参考までに、具体的な内容は次のとお...
序文開発プロセスでは、10 進データ型がよく使用されます。 MySQL では、小数点は正確なデータ型...
目次1. シーン紹介2 コードの最適化2.1 ファンを増やす問題を解決する2.2 作品追加の問題を解...
目次序文動的プロパティとは何ですか?値のコピー値の種類を決定する要約する序文これは JavaScri...
この記事の例では、複数のカウントダウンを同時に設定するためのVueの具体的なコードを参考までに共有し...
超初心者の私は、MySQL を学び始めたばかりで、インストール プロセス中に多くの問題に遭遇しました...