Используя функцию «Отправить/получить» в ZFS, вы можете использовать ее только со снимками, и нет необходимости размонтировать наборы данных. Вы не сможете отправить/получить том.
The zfs send command creates a stream representation of a snapshot that is written to standard output. By default, a full stream is generated. You can redirect the output to a file or to a different system. The zfs receive command creates a snapshot whose contents are specified in the stream that is provided on standard input. If a full stream is received, a new file system is created as well. You can send ZFS snapshot data and receive ZFS snapshot data and file systems with these commands.
Правильные команды::
zfs send tank/data@snap1 | zfs recv spool/ds01
Лучшим способом отправки и получения снимка zfs является использование mbuffer , чтобы свести к минимуму риск задержки ввода-вывода и заполнить сетевой буфер.
На отправляющем аппарате:
zfs send pool/image@test | mbuffer -s 128k -m 1G -O 127.0.0.1:9090
На принимающей машине:
mbuffer -s 128k -m 1G -I 9090 | zfs receive -F pool/image1
Так как вы можете использовать 127.0.0.1 для той же машины или xx.xx.xx.xx для удаленной машины.
Источник:https://docs.oracle.com/cd/E18752_01/html/819-5461/gbchx.html
Подстановочные знаки раскрываются оболочкой, а не командой. find
— одна из немногих команд, выполняющих сопоставление с подстановочными знаками, аналогичное оболочке, в свое время.
Когда вы запускаете ls *.jav
, сначала оболочка расширяет *.jav
до списка соответствующих файлов, например. file1.jav
file2.jav
file3.jav
, а затем оболочка вызывает ls
с результирующим списком аргументов file1.jav
file2.jav
file3.jav
. Вот почему вы видите тот же список имен файлов с echo *.jav
, хотя echo
ничего не знает о файлах и не заботится о том, являются ли его аргументы именами файлов.
Когда вы бежитеfind. -name "*.jav"
:
find
, .
, -name
, *.jav
, где *
цитируется. Поскольку *
взят в кавычки, это обычный символ с точки зрения оболочки. find
с указанным списком аргументов :.
, -name
, *.jav
. find
ищет файлы, имя которых соответствует шаблону *.jav
в любом каталоге в текущем каталоге. При запуске find. -name *.jav
и отсутствии файлов, соответствующих*.jav
:
find
, .
, -name
, *.jav
, где *
не заключено в кавычки. *.jav
содержит подстановочный знак без кавычек, оболочка выполняет генерацию имени файла. Поскольку соответствующих имен файлов нет, шаблон остается нераскрытым. find
с полученным списком аргументов: .
, -name
, *.jav
. find
ищет файлы, имя которых соответствует шаблону *.jav
в любом каталоге в текущем каталоге.Когда вы запускаете find. -name *.jav
и текущий каталог содержит file1.jav
, file2.jav
иfile3.jav
:
find
, .
, -name
, *.jav
, где *
не заключено в кавычки. *.jav
содержит подстановочный знак без кавычек, оболочка выполняет генерацию имени файла :*.jav
, заменяется списком совпадающих имен файлов. find
с результирующим списком аргументов: .
, -name
, file1.jav
, file2.jav
, file3.jav
. find
жалуется на синтаксическую ошибку, когда достигает file2.jav
. Когда вы запускаете find. -name *.jav
и текущий каталог содержит один соответствующий файлfile.jav
:
find
, .
, -name
, *.jav
, где *
не заключено в кавычки. *.jav
содержит подстановочный знак без кавычек, оболочка выполняет генерацию имени файла.:*.jav
заменяется списком совпадающих имен файлов. find
с полученным списком аргументов: .
, -name
, file.jav
. find
видит вполне допустимую команду, но, вероятно, это не то, что вы хотели.:find
сказано искать файлы с именем file.jav
в любом каталоге, а не искать какой-либо файл, соответствующий *.jav
. (Оценка и расширение оболочки имеет множество других функций. Я упомянул только те, которые актуальны здесь.)
(То, что я описываю, является поведением по умолчанию большинства распространенных оболочек :sh, bash, dash, ksh, … Некоторые оболочки могут быть настроены для отображения ошибки вместо запуска команды с нерасширенными подстановочными знаками или для расширения не -сопоставление подстановочных знаков пустому списку.Ни один из них не поможет здесь.)