цикл bash до возврата dig

Поскольку вы скопировали файлы, используя rsync, а затем сравнили два набора файлов, используя diff, и поскольку diffне сообщает о различиях, два набора файлов идентичны.

Разница в размерах, вероятно, может быть объяснена размерами фактических узлов каталогов в двух структурах каталогов. В некоторых файловых системах каталог не усекается при удалении файла или подкаталога, в результате чего узел каталога остается немного больше, чем требуется на самом деле.

Если в какой-то момент вы сохранили много файлов, которые впоследствии были удалены, это могло привести к тому, что остались большие узлы каталогов.

Пример:

$ mkdir dir
$ ls -ld dir
drwxr-xr-x  2 kk  wheel  512 May 11 17:09 dir
$ touch dir/file-{1..1000}
$ ls -ld dir
drwxr-xr-x  2 kk  wheel  20480 May 11 17:09 dir
$ rm dir/*
$ ls -ld dir
drwxr-xr-x  2 kk  wheel  20480 May 11 17:09 dir
$ du -h.
20.0K  ./dir
42.0K  .
$ ls -R
dir

./dir:

Обратите внимание, что хотя я удалил 1000 созданных файлов, каталог dirпо-прежнему занимает 20 КБ.

0
31.03.2021, 00:00
2 ответа

Вы можете попробовать:

until host example.com > /dev/null ;do sleep 1; done
3
28.04.2021, 22:54

Пара вещей:

  1. dig вернет истинный результат, даже если запись не существует.
 $ dig +answer non-existent-record-$(date +%F).com && echo "Shouldn't see this" 
 # => Shouldn't see this

Вместо этого, как говорит Мирча, используйте /usr/bin/host. Кроме того, вы можете проверить, возвращает ли преобразователь пустое значение, используя [ ! -z "$(dig +short example.com.)" ]. Существует очень тонкая разница в поведении между hostи dig, когда есть запись AAAA или запись MX, но это может не повлиять на вас.

  1. Вместо do :используйте /usr/bin/trueвместо :
  2. .

TL;DR, ответ Мирчи работает для меня, но просто чтобы быть другим, вот мое мнение. Он отличается тем, что не останавливается ни на секунду при каждом тесте, который может быть или не быть тем, что вам нужно, и не завершается даже при наличии записей AAAA или MX.

until [ ! -z "$(dig +short example.com)" ]; do true; done
3
28.04.2021, 22:54

Теги

Похожие вопросы