Мне интересно, почему, когда я использую rsnapshot для rsync / usr / lib / locate с одной машины на другую, вывод, выдаваемый du, отличается? Машины идентичны, ОС на обоих - CentOS 5.3.
Вот результат на исходной машине:
# du -csh /usr/lib/locale
129M /usr/lib/locale
129M total
И целевая машина (куда она была синхронизирована):
# du -csh usr/lib/locale/
319M usr/lib/locale/
319M total
Разделы даже на машинах одинаковые, оба / var и оба одинакового размера, около 409 гигов.
Возможно, что rsnapshot преобразует символические ссылки в каталоге в источнике в реальные ссылки на целевой машине. Например, на исходной машине поиск файлов, которые нетрудно ни с чем связаны:
# find /usr/lib/locale -links 1 | wc -l
1733
А затем на целевой машине:
# find usr/lib/locale/ -links 1 | wc -l
4597
Прочтите справочную страницу rsync. Там вы найдете возможность обнаруживать и синхронизировать жесткие ссылки. Используйте его вместе с -a. Вы заметите значительное уменьшение пространства, если некоторые файлы в этом каталоге жестко связаны.
Также не забудьте использовать флаг -S (- sparse), чтобы rsync эффективно обрабатывал небольшие файлы. В противном случае цель для rsync будет намного больше.
Когда вы используете rsync, вы используете --delete
флаг?
Если нет, то вы не будете удалять файлы, которые были удалены с удаленного компьютера, когда выполняете синхронизацию, вы будете синхронизировать только те файлы, которые делать существует.
Также убедитесь, что вы завершаете пути таким же образом, например ...
rsync -a remote:/tmp/X ./tmp/X/
... не то же самое, что ...
rsync -a remote:/tmp/X/ ./tmp/X/
... Прежде чем добавить --delete
, убедитесь, что вы сделали --dry-run
так что вы можете видеть что бы случиться.
Попробуйте использовать rsnapshot du.
Размеры каталогов обычно никогда не уменьшаются (зависит от файловой системы), поэтому каталог, который раньше содержал большое количество файлов в одной системе, но теперь не содержит, будет больше, чем если бы он раньше не содержал много файлов.
Должна быть опция du или чего-то еще, чтобы игнорировать размеры каталогов.
(NB: я имею в виду сам каталог, а не файлы)