Скрипт выборочного резервного копирования в bash

Я использовал эту простую команду (это все, что я могу сделать:) для резервного копирования всего дерева из моих пользовательских данных на сервере NAS в течение года.

cp -r /STORAGE /BACKUP-STORAGE/YYYY-MM-DD

К сожалению, после года службы. Мой пользователь начинает заполнять пространства большим количеством фотографий и клипартов (jpg, gif, bmp), и это начинает замедлять процесс резервного копирования. Пространство также является большой проблемой. Теперь у меня больше нет места для недельного ежедневного набора резервных копий.

Я думаю, что хочу перейти от резервного копирования всего к резервному копированию только данных, не относящихся к образу. Как я могу исключить jpg, gif и bmp из резервной копии? С командой DOS XCOPY это довольно легко, но я действительно не знаю, как это сделать в bash.

Спасибо

5 ответов

Взгляните на rdiff-backup. он не будет хранить реплики неизмененных файлов, только 'diffs'.

если вы хотите продолжить копирование - используйте rsync, а не cp и посмотрите на синтаксис директивы exclude, например, как описано здесь.

не забудьте проверить, работают ли ваши резервные копии [особенно с rdiff или любой другой "расширенной" резервной копией - проверяйте репозиторий, время от времени попробуйте процедуру восстановления].

В Linux у вас всегда есть возможность использовать хороший ол tar, с помощью --exclude или же --exclude-from опции

Если вы хотите придерживаться стратегии полного резервного копирования на каждый день, вы можете использовать rsync с некоторыми флагами --exclude для копирования только данных, не относящихся к изображениям.

Если вы хотите еще больше уменьшить размер резервных копий, вы можете сжать резервные копии; самый быстрый и простой способ сделать это - использовать tar для создания архива (так что вывод будет одним файлом) с -z или -j.

Вы можете еще больше уменьшить свой размер, выполнив более традиционную модель резервного копирования, с еженедельными полными резервными копиями и ежедневными инкрементами, с помощью tar или find+tar.

Вы не упоминаете марку устройства NAS. Некоторые высокопроизводительные устройства NAS (Netapp, Isalon, DataDomain) поддерживают дедупликацию.

Это позволит вам выполнять полное ежедневное резервное копирование, а любые данные будут "дедуплицированы" на устройстве. Эта дедупликация / сжатие полностью прозрачна для пользователя (/home/user/myimages/fooimage.tiff выглядит одинаково на протяжении всей истории резервного копирования).

Я сделал это для файловой системы объемом 300 ГБ, и мы смогли хранить резервные копии на одном устройстве почти на два года.

И я знаю, что это немного касательно, но некоторые более дешевые решения теперь должны быть доступны с использованием Sun ZFS. ZFS также делает дедупликацию, хотя она немного незрелая по сравнению с предложениями Netapp или DataDomain. В следующий раз, когда я смотрю, я рассматриваю ZFS, возможно, когда выйдет FreeNAS 8.0.

Однако, если у вас нет ни одного из них, тогда 'rdiff-backup' также работает очень хорошо.

Я второй tar или rsync. find также будет работать, но потенциально может достигать некоторых ограничений в зависимости от количества файлов в этом дереве. rsnapshot тоже довольно хорош.

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