tar инкрементное резервное копирование выполняет резервное копирование всего, каждый раз, когда используется в каталоге Dropbox

Я сделал инкрементное резервное копирование около 10 месяцев назад (27 января 2013 г.), создав файл метаданных.snar. Теперь, когда я пытаюсь сделать инкрементное резервное копирование с помощью

tar --create --file=dropbox_incremental_1.tar --listed-incremental=dropbox_0.snar Dropbox

команда просто резервирует все.

Я не эксперт по меткам времени Unix, но я заметил, что практически все мои метки времени в каталогах более поздние, чем в прошлый раз, когда они менялись. Для моих реальных файлов они выглядят так:

Access: 2013-03-12 19:04:51.000000000 -0500
Modify: 2012-09-30 15:10:47.000000000 -0500
Change: 2013-03-12 19:04:51.306209672 -0500

Временная метка "Изменить" кажется правильной, но файлы точно не были изменены (по крайней мере, ничего не делая из того, что я знаю), когда они сказали, что были. Эти файлы все еще, похоже, попадают в инкрементный архив.

Что тут происходит? Есть ли способ сказать tar, чтобы он посмотрел на временную метку 'modify'? Разве это не то, что он должен делать?

3 ответа

Вы не упомянули тип файловой системы / устройства, но вы можете попробовать:

$ tar --create --no-check-device --file=dropbox_incremental_1.tar --listed-incremental=dropbox_0.snar Dropbox

Также см. Исправление файлов снимков.

Тар выглядит mtime действительно. Но он также должен выглядеть как ctime, поскольку он обрабатывает метаданные файла (например, права доступа).

Я предполагаю, что ваше приложение Dropbox использует ctime для своих собственных целей, и вы ничего не можете с этим поделать.

UPD:

Вы можете использовать опцию обновления -u вместо инкрементного режима. Кажется, он игнорирует ctime.

В конечном итоге я не смог найти способ получить --listed-incremental, работая с Dropbox. Полагаю, как сказал Вениамин, tar смотрит как на ctime, так и на mtime. Dropbox должен делать что-то, что касается ctime, поэтому он просто создает резервную копию всего архива при каждом его запуске.

Вместо этого я просто выполнил tar --create --file mybackup.tar --newer-mtime="26 января 2013" Dropbox

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

Спасибо за ваши ответы.

Другие вопросы по тегам