Как настроить автоматическое резервное копирование файлов при подключении USB флешки к Linux

Как настроить автоматическое резервное копирование файлов при подключении USB флешки к Linux

Рубрики:

BackUp

Метки:

, , , , ,

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

Содержание:

  1. Настраиваем резервное копирование при подключении USB флешки
    1. Настраиваем правила udev для съемных носителей
    2. Создаем сценарий автоматического резервного копирования с помощью rsync
  2. Выводы

Настраиваем резервное копирование при подключении USB флешки

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

Для этого Вам потребуется версия дистрибутива Linux, включающая следующие компоненты:

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

Если у Вас все готово к выполнению рекомендаций из данного руководства — давайте перейдем к первому шагу.

Настраиваем правила udev для съемных носителей

Автоматизировать процесс резервного копирования и привязать его начало к подключению определенного съемного носителя нам поможет udev. Однако для начала вкратце расскажем о том, что собой представляет эта программа.

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

Systemd — это подсистема инициализации и управления службами в большинстве современных популярных дистрибутивов GNU / Linux, которая вытеснила использующуюся ранее подсистему init за счет использования более быстрого параллельного запуска служб при загрузке системы.

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

  • производитель устройства;
  • идентификатор продукта.

Для тестирования мы будем использовать USB-накопитель — флешку, объемом 16 ГБ:

 

Вставляем USB-накопитель и вводим еще раз команду:

 

Появилась новая строчка — это и есть и есть наш носитель. Вывод вышеприведенной команды содержит нужный нам идентификатор поставщика устройства — 0781. Именно его мы и будем указывать в правиле для udev.

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

Важно: число «10» в названии файла позволит изменить порядок выполнения нового правила — чтобы оно выполнялось прежде правил, доступных по умолчанию.

 

После создания файла добавляем в него следующее:

 

Давайте кратко объясним, что означают отдельные элементы этой конструкции:

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

Сохраняем и закрываем файл — правило успешно создано.

Создаем сценарий автоматического резервного копирования с помощью rsync

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

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

Создаем текстовый файл со следующим названием и расположением:

 

После чего вписываем в него следующее содержимое:

 

Важно: обязательно замените значения параметров BACKUP_SOURCE, BACKUP_DEVICE и MOUNT_POINT в указанном скрипте на свои!

Далее делаем скрипт исполняемым с помощью команды chmod:

 

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

 

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

Важно: скорость выполнения резервного копирования будет зависеть от конкретного типа файловой системы на Вашем съемном носителе и написанных для этого правил udev.

Чтобы узнать больше — обязательно прочтите страницы руководства man для udev, mount и rsync. Сделать это помогут следующие команды:

 

Читайте также:

Выводы

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

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

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

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

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

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

BackUp

Метки:

, , , , ,

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

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

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

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

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


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню