我已经有一个在不同虚拟机之间复制文件的工作命令。
但我希望复制的文件自动具有与原始文件相同的文件名。因此,我想创建一个脚本来获取原始文件名并为复制的文件维护相同的文件名。就这些。
如果相关,而我认为不相关,则在不同虚拟机之间复制的命令是:
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
命令完全执行您想要的操作。
注意:我使用它是tar
因为它是 Unix 下的标准,但其他归档器可能能够执行类似的操作。您可以使用单个命令来复制多个文件。