
異なる仮想マシン間でファイルをコピーする作業コマンドはすでにあります。
ただし、コピーされたファイルが自動的に元のファイルと同じファイル名を持つことを望みます。したがって、元のファイル名を取得し、コピーされたファイルに対して同じファイル名を保持するスクリプトを作成したいと思います。それはすべてです。
関連しているがそうではないと思う場合、異なるVM間でコピーするコマンドは次のようになります。
cat /path/to/file_in_dom0 | qvm-run --pass-io <dst_domain> 'cat > /path/to/file_name_in_appvm'
このコマンドは以下からコピーされました。ここ
答え1
アイデアはファイルをアーカイブし、アーカイブをもう一方の端にパイプし、もう一方の端は標準入力をアーカイブ解除することです。それは次のとおりです。
tar cf - /path/to/file_in_dom0 | qvm-run --pass-io <dst_domain> 'cd / && tar xf -'
これにより、フルパス名が保存されます。これを望まない場合は、スクリプトで同様の操作を実行し、コマンドをdirname
使用して必要な操作を正確に実行できます。basename
cd
注:Unixでは標準なので、これを使用していますが、tar
他のアーカイバも同様のことができます。単一のコマンドを使用して複数のファイルをコピーできます。