Назад | Перейти на главную страницу

сценарий выборочного резервного копирования в bash

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

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

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

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

Спасибо

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

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

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

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

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

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

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

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

Однако, если у вас их нет, то rdiff-backup тоже работает неплохо.

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

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

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

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