получите приблизительный размер каталога (рекурсивно включая все файлы и подкаталоги)

ntpd не ответственно за синхронизацию часов локального оборудования. Обычно, существует программа, предоставленная, чтобы сделать это. На Ubuntu программа hwclock. Это используется при начальной загрузке для установки системной даты и на завершении работы для обновления его.

Я обычно только настраиваю аппаратные часы как источник времени на локальном сервере времени NTP. Если я действительно настраиваю его на клиентах, я установил их в более высоком слое, так, чтобы сервер времени остался полномочиями времени, если это достижимо.

Если Вы используете ntpd для синхронизации с локальными часами установите аппаратные часы на UTC и настройте систему для ожидания UTC из часов во время начальной загрузки. К сожалению, это не работает хорошо если Вы двойная загрузка к Windows. В этом случае не используйте локальные часы в качестве источника времени.

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

То, что Ваши аппаратные часы от моих больше чем 1 000 секунд при начальной загрузке, указывает на одну из двух вероятных проблем:

  • Аппаратные часы не установлены на часовой пояс, ожидаемый программным обеспечением, которое устанавливает системное время во время последовательности начальной загрузки.
  • Батарея, используемая для поддерживания CMOS в рабочем состоянии, когда система выключается, перестала работать или умирает.

Можно решить синхронизирующую проблему во время начальной загрузки путем добавления -g опция к ntpd команда.

10
11.02.2014, 00:05
4 ответа

Я нахожу, что это довольно полезно.

du -sm Directory

или получить разбивку внутренних каталогов

du -sm Directory/*

и затем с видом, если это имеет много subdirs

du -sm Directory/* | sort -n 

Причина я использую-m опцию, состоит в том, чтобы гарантировать, чтобы я производил мегабайт. Я нахожу, что это легче для меня выдержать сравнение визуально (когда я не получаю смеси единиц, например, сравниваю 999 КБ и 1 МБ по сравнению с 999000 МБ и 1000000 МБ), дополнительное преимущество - то, что можно передать вывод в вид.

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

du -sm Directory/* | sort -nr > ~/cacheDu.log &

Отметьте обратный вид, таким образом, большие - вначале. Добавьте, что это к крону работает каждый n минуты.

Затем с псевдонимом ducache, у Вас есть довольно актуальное использование каталога.

export alias ducache='head -n 15 ~/cacheDu.log'
14
27.01.2020, 20:00
du -sh "$dir"

даст Вам сводку общего размера в "человеческом" отформатированном выводе.


Так как Вы искали альтернативу du, Я попробовал find, но это - точно то же:

$ find . -printf "%s\n" | { 
    sum=0
    while read size; do ((sum+=size)); done
    echo $sum
}
122865202884
$ du -sb .
122865202884    .
5
27.01.2020, 20:00
  • 1
    Спасибо, я знаю об этом, но du берет слишком давно, это приводит к точному результату. Я надеялся на инструмент / команда, которая предоставляет быстрый n' грязный приблизительный ответ. –  Marcus Junius Brutus 11.02.2014, 00:17
  • 2
    Существует df но это работает над целой файловой системой. –  glenn jackman 11.02.2014, 00:18

Вам не может понравиться мой ответ, но я думаю лучший способ сделать то, что Вы хотите, должен выполнить "du-s" в фоновом режиме регулярно использование крона и сохранить результат в файле. Затем, когда Вы хотите приближенное значение, используйте значение из файла. Вы добираетесь для решения, как часто выполнить du. Я не вижу более быстрый способ получить значение. Команда du эффективна для того, что она делает.

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

Если это быстрее для знания всего в файловой системе кроме каталога, Вы могли бы выполнить df для файловой системы, du для всего кроме Вашего каталога и вычесть.

1
27.01.2020, 20:00

Это не совсем соответствует вашим потребностям (не однострочная печать), но это намного проще, чем другие решения :

du -a -h | sort -hr | head -2

Эта команда даст вам размер каталога и подкаталога и размер самого большого файла или подкаталога в текущем каталоге.

PS: head -2 - это в случае, если подкаталог занимает место текущего каталога и прослушивается перед текущим.

0
27.01.2020, 20:00

Теги

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