web-dev-qa-db-ja.com

ROBOCOPYリモートコンピューターからディレクトリをコピーしています:エラー 'ネットワークパスが見つかりませんでした'

ROBOCOPYを使用してリモートコンピューターからフォルダーをコピーしようとしています

私は以下を使用しています:

Net Use \\192.168.10.90\IPC$ /u:server\[username] [password]

ROBOCOPY \\192.168.10.90\home\lgr\ \\C:\LGR_Back_Up\LGR_A\ /Z

Net Use \\192.168.10.90\IPC$ /D

この行を1行ずつ実行すると、最初の行の後に「コマンドが正常に完了しました」と表示され、Robocopyコマンドを入力すると「ネットワークパスが見つかりませんでした」と表示されます。

これは私が間違った場所にいるからだと思います。

SSHを使用してコンピューター192.168.10.90にログインすると、指定したユーザー名でユーザーのフォルダーにログインします。このフォルダはhomeディレクトリに含まれているため、パスはhome/user。ファイルのコピー元はhome/lgr/

スクリプトの最初の行でコマンドラインからログインすると、ユーザーフォルダーに移動して、スクリプトがフォルダーhome/user/lgr/?もしそうなら、どうすれば1レベル上にナビゲートできますか?

これが理にかなっているといいのですが。

4
Robert Holden

\\C:\LGR_Back_Up\LGR_A\は有効なネットワークパスではありません。

LGR_Backupがローカルドライブにある場合は、C:\LGR_Back_Up\LGR_A\を使用します。

LGR_BackupがリモートコンピューターのC:のルートにあるフォルダーで、C $管理共有を介してアクセスしようとしている場合は、\\Remote_Computer\C$\LGR_Back_Up\LGR_A\を使用します。

1

最後に、これは私が作業するようになったスクリプトです:

rem # Script to connect:

Net Use \\192.168.10.90\IPC$

rem # Script to copy:

ROBOCOPY \192.168.10.90\lgrdata\ \ICOS\Analyser_backups\LGR_Flux\ /NP /TEE /E /dcopy:T /Z 

rem # Script to disconnect:

Net Use \\192.168.10.90\IPC$ /D

あなたのすべての協力に感謝します。これは、楽器のフォルダー構造による複雑で特定の問題だったと思います。コピーしたいデータがどこにあるのかわからなかっただけで、元のスクリプトの次のコードを使用するときにも問題が発生しました。

\\C:\LGR_Back_Up\LGR_A\ /Z

Techie007が言ったように、これは有効なネットワークパスではありません。

1
Robert Holden

OK、Net Useコマンドの一部を逃しました

[ネットワークストレージを接続するドライブ文字を省略]

クイックガイド

1> Net Use X:\\ server DNSまたはIP\Network.Share\to\connect\to\specified\drive\letter/user:serverDNS *(注1)\ username password *(注2)

2> Robocopy X:[または指定されたドライブ文字]\*。* C:\ location\of\backup\directory [事前にmkdirでディレクトリを作成することを忘れないでください

3> Net Use X:/ del/y [確認の質問なしに共有を切断]

(注1)必要に応じてipを使用しますが、ここでは通常、Winbind名またはDNSのいずれかが必要です。これらはgoogle enable winbind ubuntu(またはLinuxのフレーバー)であり、ほとんどの場合、非常に簡単です。私はFQDNとwinbind名のどちらかを交換可能に使用していますが、コマンドのユーザー部分のIPはほとんど常に失敗します。

(注2):セキュリティを確保するため、スクリプトをオフにしておくと、スクリプトは停止し、Net Useコマンドを実行して接続した後、パスワードを要求し、入力してEnterキーを押すと、スクリプトが続行されます。これにより、セキュリティを高めるためにパスワードをプレーンテキストのスクリプトファイルに残しておく必要はありませんが、スクリプトを停止しないようにする必要がある場合があります(つまり、ログオンスクリプト)。

また、あなたはこの奇妙な方法について考えているかもしれません[VPNよりも多くの設定と労力が必要です]。 Windowsクライアントから* nixホストへの私である場合、OpenVPNのようなVPNサーバーを使用することをお勧めします。ブリッジ設定を使用して、ネットワーク上の別のクライアントになることができます[SSHを使用すると、サーバーに直接接続されます。サービスを物理クライアントに直接パススルーさせるには、SSH経由のポート転送を設定する必要があります]が、しばらくの間、Net Useが正しく実行されていないように見えるので、それが機能する場合は、現在の設定を読んで使用してください。うまくいくはず

Net Useはドライブ文字を設定するためのものです:Net Use X:[または使用されていないドライブ文字] \\ 192.168.10.90\home\lgr/user:server [username] [password]

windowsがLinuxやUnix、Mac OS Xなどの大文字小文字を区別しないようにしたい場合は、すべての下位でNet Useを実行できます。

ただし、IPC $ ITを使用してメッセージを表示したくない場合は警告IS理由が隠されているため、Windowsマシン上のすべてのアプリケーション間のすべての通信が処理されます[およびすべてのネットワークトランザクション] NT 4の時代に戻って、退屈して削除されたIPC $の共有を削除したのはなぜですか?すべてのネットワーク通信期間を失ったことを意味します。 IDEA OF INTEGRAL IT IS参照: http://msdn.Microsoft.com/en-us/library/windows/desktop/ aa365574(v = vs.85).aspx 以下のネットにあるIPC $に接続する必要はありません。ドライブ文字を指定し、IPC $を自動的にチェックして、クレデンシャルが有効であることを確認します。繰り返し警告しましたIPC $については、自分が何をしているのかを知っていて、本当に触れなければならないかぎり、それをあざけらないでください。

警告後、OKです。最初の実行:ネット使用X:[または使用されていないドライブ文字] \\ 192.168.10.90\home\lgr/user:server [username] [password] [CIFSを使用していることに注意してください。 Winblowsと同じように参照されます]]

その後

Robocopy X:\ File.ext [または* .txtのようなパターン] C:\ some\directory\to\save\to\file.ext

したがって、短縮されたNet Useは、ネットワークの場所のNet Useドライブ文字であり、実際には英語で書かれているため、実際にドライブ文字を指定することを忘れないでください[ド​​ライブ文字なしでは、接続をテストしますが、実際にはNetを使用していないことはわかりません正しく使用してください]。

次に、robocopyを使用して、現在使用中のドライブ文字からコピーし、指示したネットワークの場所をポイントし、そこからローカルにコピーします[または、別のネットの場所を使用して、2番目のネットの場所を2番目のドライブにマップします。文字:-O]。

net Use xを切断するためにすべてが完了したとき:/ del/y [xでのNet Use:確認せずに削除はい] OR Net Use */del/yは、接続されているすべてのネット共有を強制終了します

そして、WindowsのNet Useだけで、開いている接続が一覧表示され、直接確認されたピアツーピアでありながらネットワークベースの接続であるコンピューター名だけに接続します。 Net Useの背後にあるポイントは、\\ a really\long\network\shareパスを取得してドライブ文字に割り当て、\ my.server\net\share\somewhereがX:\(またはA:およびZ [A:B:C:D:は使用しない]これらはフロッピー用に予約されているAおよびB C:メインドライブウィンドウのロード元およびD:通常はCD/DVDドライブである違いますが、一般的にはこれがどのように行われるかです。したがって、L〜Zのようにアルファベットを低くすることをお勧めしますが、完全にあなた次第です。

0
Pariah

申し訳ありませんが、直接返信できなかったため、新しい回答を作成する必要がありました。これは、長い返信に詳細が記載されている短いフォームです。興味がある場合は、両方を残します...

彼の質問は、Windowsホストからnixホスト[LinuxまたはUnixのLinuxの場合はdunno]なので、/ home /がデフォルトで共有されているため、ほとんどの場合、Windowsの共有は\\ IP OR FQDNまたはWindBindアドレス[通常、LinuxはデフォルトでFQDNまたはIPであるため、手動で有効にしない限り、Windbindを処理しません]

したがって、WindowsからLinuxでは、デフォルトよりも多くのデフォルトを使用します

Net Use X:server\usernameの\\ 192.168.10.90\home\lgr/user:IP [またはIPが失敗した場合はFQDN]

[私の経験では、Windowsはユーザーステートメント内でIPを適切に処理しません。通常、認証するホストをFQDNにする必要があります[完全なDNSはserver.localだけではなく、ほとんどすべてのDNSクライアントがデフォルトでname.localを設定します。ホスト名は.localを追加します。これは、ユーザーまたはwinbindで機能する場合がありますが、IPが機能する場合があります]

Robocopy X:\ *。* C:\ LGR_Back_UP\LGR_A/s/e/z [再起動可能な[転送再コピーファイルでエラーが発生した場合]モードでディレクトリが空であっても、サブディレクトリを含むすべてのファイルをコピーしますコマンドが失敗した場合/ zして、もう一度お試しください]

ネット使用x:/ del/y [インタラクティブな確認を求めずにドライブ文字Xのネット共有を切断します[スクリプトを使用するため、これが必要になるため]]

上記の投稿への返信で申し訳ありませんが、私があなたのケースで使用するrobocopyコマンドも含まれています[/ zで失敗した場合[コピー中に何かが発生した場合の再起動可能モードが特定のセットアップで機能しないことがある]オフ/ s =すべてコピーサブディレクトリ/ e =空のサブディレクトリを含みます。

これはあなたの特定のケースに一致させる方が簡単で、詳細については上記の私の長い投稿を参照してください。

OHと、あなたが現在問題がある場所から「戻る」またはディレクトリレベルを上げる他の質問

cD ..

enterキーを押すと、すべてのOSで常に上のディレクトリを参照します[C:\ some\directoryがあれば、このようなスクリプトでも使用できます。.\ file.ext C:をコピーすると、ディレクトリでスクリプトを実行します。コマンドラインでディレクトリにいるときにコマンドを実行すると、someというディレクトリのファイルをdirectoryというディレクトリにコピーする\ some\directory :-)

OR

cd /

windowsでは、あなたがいるドライブのルートディレクトリに移動しますので、私がそれを実行した場合

c:\ some\long\directory\that\takes\a\long\time\to\cd ..\from> cd /

私は得る

c:\>

MUCH LOVEコマンドライン:-D

0
Pariah