Как выполнить автоматическое резервное копирование файлов на USB-носитель при его подключении к ПК?

Как выполнить автоматическое резервное копирование файлов на USB-носитель при его подключении к ПК?

BackUp

Резервное копирование является надёжной защитой от потери данных. Вы можете использовать съемный носитель, такой как внешний жесткий диск или флэш-диск USB, общую сетевую папку или же удаленный хост для резервного копирования ваших данных. Очень легко (и в равной степени важно) автоматически создавать резервные копии важных файлов.

В этой статье мы узнаем, как выполнять автоматическое резервное копирование данных на съемный носитель после его подключения к компьютеру с Linux. Это именно то руководство, с которого вы можете начать использовать udev для реальных решений.

Для наших задач вам нужна система Linux с:

  • systemd менеджером систем и сервисов;
  • менеджером устройств udev;
  • rsync инструментом для резервного копирования.

 

Как настроить правила Udev для съемных носителей?

Udev — это менеджер устройств, который позволяет вам определять правила, которые могут, среди прочего, запускать программу или скрипт, когда устройство добавляется или удаляется из работающей системы, как часть обработки событий устройства. Мы можем использовать эту функцию для выполнения сценария резервного копирования после добавления съемного носителя в работающую систему.

Прежде чем мы настроим фактическое правило для обработки событий устройства, нам нужно предоставить udev некоторые атрибуты съемного носителя, которые будут использоваться для резервного копирования. Подключите внешний диск к работающей системе и выполните следующую команду lsusb, чтобы определить его поставщика и идентификатор продукта.

Для тестирования мы будем использовать внешний жесткий диск емкостью 1 ТБ, как показано на скриншоте ниже:

$ lsusb

 

Find-Device-Vendor-ID-of-Removable-Media

 

 

Исходя из вышеприведенной команды, идентификатор поставщика нашего устройства равен 125f, его мы и будем указывать в правилах udev.

Сначала удалите подключенный носитель из системы и создайте новый файл правил udev с именем 10.autobackup.rules в каталоге /etc/udev/rules.d/.

Цифра 10 в имени файла указывает порядок выполнения правил. Порядок, в котором анализируются правила, важен; Вы всегда должны создавать собственные правила для анализа перед настройками по умолчанию.

$ sudo vim /etc/udev/rules.d/10.autobackup.rules

 

Затем добавьте в него следующее правило:

SUBSYSTEM=="block", ACTION=="add", ATTRS{idVendor}=="125f" SYMLINK+="external%n", RUN+="/bin/backup.sh"

 

Давайте кратко объясним вышеприведенное правило:

  • «==«: оператор для сравнения на равенства.
  • «+=»: оператор для добавления значения к ключу, который содержит список записей.
  • SUBSYSTEM: соответствует подсистеме устройства события.
  • ACTION: соответствует названию действия события.
  • ATTRS{idVendor}: сопоставляет значения атрибута sysfs устройства события, которое является идентификатором поставщика устройства.
  • RUN: указывает программу или скрипт для выполнения в рамках обработки события.

 

Сохраните файл и закройте файл.

 

Создание сценария автоматического резервного копирования

Теперь создайте сценарий автоматического резервного копирования, который будет автоматически создавать резервные копии файлов на съемный USB при его подключении к системе:

$ sudo vim /bin/autobackup.sh 

 

Теперь скопируйте и вставьте следующий скрипт, обязательно замените значения BACKUP_SOURCE, BACKUP_DEVICE и MOUNT_POINT в скрипте:

#!/usr/bin/bash
BACKUP_SOURCE="/home/admin/important"
BACKUP_DEVICE="/dev/external1"
MOUNT_POINT="/mnt/external"

 

#check if mount point directory exists, if not create it
if [ ! -d “MOUNT_POINT” ] ; then
/bin/mkdir “$MOUNT_POINT”;
fi

/bin/mount -t auto “$BACKUP_DEVICE” “$MOUNT_POINT”

#run a differential backup of files
/usr/bin/rsync -auz "$MOUNT_LOC" "$BACKUP_SOURCE" && /bin/umount "$BACKUP_DEVICE"
exit

 

 

Затем сделайте скрипт исполняемым с помощью следующей команды:

$ sudo chmod +x /bin/autobackup.sh

 

Теперь перезагрузите правила udev, используя следующую команду:

$ udevadm control --reload

 

При следующем подключении внешнего жесткого диска или любого другого устройства, которое вы настроили к системе, все ваши документы из указанного места должны быть автоматически скопированы на него.

 

Примечание: насколько эффективно данное решение может работать, зависит от файловой системы на вашем съемном носителе и написанным вами правилами udev.

 

Для получения дополнительной информации загляните в страницы man udev, mount и rsync.

$ man udev
$ man mount
$ man rsync 

 

В этой статье мы объяснили, как выполнять автоматическое резервное копирование данных на съемный носитель после его подключения к компьютеру с Linux.

 

 

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Ciscoкурсы по кибербезопасности,  полный курс по кибербезопасностикурсы DevNet (программируемые сети) от Академии Ciscoкурсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco и Linux с трудоустройством!

Спешите подать заявку! Осталось пару мест. Группы стартуют 22 июля, а следующая 19 августа, 23 сентября, 21 октября, 25 ноября, 16 декабря, 20 января, 24 февраля.
Что Вы получите?
  • Поможем стать экспертом в сетевом администрировании и получить международные сертификаты Cisco CCNA Routing & Switching или Linux LPI.
  • Предлагаем проверенную программу и учебник экспертов из Cisco Networking Academy и Linux Professional Institute, сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и сделать карьеру. 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проводим вечерние онлайн-лекции на нашей платформе или обучайтесь очно на базе Киевского офиса.
  • Спросим у вас об удобном времени для практик и подстроимся: понимаем, что времени учиться мало.
  • Если хотите индивидуальный график — обсудим и осуществим.
  • Выставим четкие дедлайны для самоорганизации. Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
А еще поможем Вам:
  • отредактировать резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроим на работу в Cisco по программе Cisco Incubator, New Graduate и Experienced. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco CCNA Routing & Switching и Linux LPI, подайте заявку или получите бесплатную консультацию.
BackUp

Больше похожих постов

Результатов не найдено.

1 комментарий. Оставить новый

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения

Самое читаемое
Меню