あるサーバー(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