ルートユーザーなしであるサーバーから別のサーバーにディレクトリ構造をコピーする方法は?

ルートユーザーなしであるサーバーから別のサーバーにディレクトリ構造をコピーする方法は?

あるサーバー(Unix)から別のサーバー(Linux)にディレクトリ構造をコピーする最良の方法を知りたいです。

  • rootユーザーなし
  • サーバーが接続されていません(サーバー間でSSHを直接使用することはできません)。
  • ファイルはコピーせずにフォルダとサブフォルダをコピーするだけです。
  • フォルダの権限も転送する必要があります。

だからuser@server1といくつかのディレクトリ構造があります。この構造をファイルなしで同じ権限でuser@server2にコピーする必要があります。両方のサーバーのユーザーは同じ権限を持ち、同じグループに属し、サーバーは接続されません。

編集:私はserver1がUnixで、server 2がLinuxであることを言及するのを忘れました。したがって、Unixサーバーでproyconのコードを実行しようとすると、次のメッセージが表示されます。 tar:認識できないフラグ:z Tom Huntのオプションを試みると、-printfは有効なオプションではありませんというメッセージが表示されます。また、ユーザーは同じ権限を持ち、同じグループに属していても名前が異なることに言及する価値があります。だから私はuser_xy@server1とuser_zx@server2を持っています。

ベストアンサー1

rsync理想的には、またはなどの操作を実行しますscpが、マシンは実際に接続する必要があります。直接送信できない場合は、tarユーザー、権限、およびシンボリックリンクを保持するwithを使用することを選択します。find

ホストから:

$ find yourdirectory/ -type d | tar -cvzf archive.tar.gz --no-recursion --files-from -

何らかの方法でアーカイブを転送します(ftp?USBスティック?煙信号?)。

ターゲットホストから:

$ tar -xvzf archive.tar.gz

おすすめ記事