web-dev-qa-db-ja.com

ネットワーク上の任意のマシンからファイルを取得するにはどうすればよいですか?

Ubuntuを実行しているシステムが100以上あります。これらのシステムの1つに172 .。10という設定ファイルがあります。 172 .。100と言う他のシステムからその構成ファイルを取得できますか? wgetをインストールしましたか?そして、私は次のwget http://172.*.*.10/name.confを試しましたが、そのファイルを取得することができません。

4
karthick87

次の2つのことを行う必要があります。

  1. UbuntuインストールにApacheをインストールします。使用するコマンドはSudo apt-get install Apache2です。
  2. file.conf/var/wwwのフォルダーにコピーまたは移動します。この場合、Sudoを再度使用する必要がある場合があります。たとえば、Sudo cp /path/to/your/file.conf /var/www/file.confです。

wgetは、おそらくワイルドカードでは機能しません。より良い解決策は、すべての構成ファイルにアクセスできるようになったら、シェルスクリプトとして次のようにすることです。

#!/bin/bash

for i in {1..100}

do

wget "127.0.$i.1"

done

幸運を!

2

scpまたはrsyncは、複数のマシンから単一の任意ファイルを取得するのに適しています。

ただし、その単一のファイルがパスワード、リモートマウント構成、または同様のシステム管理機能である場合、集中管理用に特別に設計されたNetwork Information System(NIS)を使用して、100台すべてのマシンが同じマシンのように見えるようにする必要がありますの前に。

7
msw

ここでの解決策は役立ちますが、その多くのコンピューターの「ssh in a forループ」は、最終的には長い時間を要することになります。 puppetのような構成管理ツールを検討する必要があります。

これにより、PCの外観を定義し、自動的に構成されます。すべてのノードに関する情報を取得するには、 mcollective を確認してください。

5
Jorge Castro

wgetは、もう一方の端で実行されているHTTPサーバーがある場合にのみ、何でもダウンロードできます。

Sshを介して一括でコマンドを実行できる場合があるため、これが役立つ場合があります。

# on the client machine:
cd /home/username/Pictures/
python -m SimpleHTTPServer

これにより、実行されているマシンでWebサーバーが起動します。その後、どこからでもファイルにアクセスできます

wget http://172.29.34.15:8000/vacation.jpeg
4
Stefano Palazzo

この種の目的のために、バージョン管理システムを調べて、そこからファイルを「分岐」または「チェックアウト」することができます。しかし、ちょっと混乱するかもしれません。ツールについては、おそらく config-manager などをご覧ください。私はかつてCVS + Makeでそれをやっていました。 :D

1
Mace Ojala

これらのファイルの同期にはUbuntu Oneを使用することをお勧めします。

ガイドもあります: https://help.ubuntu.com/10.10/internet/C/networking-shares.html

ただし、wgetはhttpプロトコルを使用してファイルをダウンロードするため、このファイルをwgetでダウンロードすることはできません。サーバー上でApacheを実行していない場合、それは不可能です。ただし、一部のファイルを同期するためだけにApacheをインストールしないでください!

ダニエルがお役に立てば幸いです、ダニエル

0
omnidan