Резервное копирование с помощью rsnapshot только при наличии изменений

Я бы запустил apt-get autoclean , который очистит кеш любого программного обеспечения, которое в настоящее время не установлено. Если вам нужно пойти глубже, apt-get clean очистит весь ваш кеш.

1
12.04.2016, 13:37
2 ответа

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

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

find tree -newer timestamp

. Если нет, не создавайте резервную копию. В любом случае, mv timestamp.new timestamp в следующий раз. Это предполагает, что у вас нет приложений, которые манипулируют временными метками файлов и каталогов.

3
27.01.2020, 23:35

Я также рассматривал это как возможность, которая носит более общий характер, чем отличные предложения , которые я принял от меня .

listfiles()
{
    (
        # List attributes of file tree, discarding inode number
        cd "$1" 2>/dev/null && find . -type f -ls | sed -r 's/^ *[1-9][0-9]*//' | sort
    )
}

listfiles hourly.1 >/tmp/list1
listfiles hourly.0 >/tmp/list0
cmp -s /tmp/list1 /tmp/list0 && echo "the same" || echo "different"

Это также игнорирует ACL и расширенные атрибуты, связанные с файлом, но не перечисленные с помощью find -ls . Однако для моих целей это было бы приемлемо.

0
27.01.2020, 23:35

Теги

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