Потеря ценных данных зачастую бывает более неприятной, чем даже поломка компьютера. Особенно — если это критически важная рабочая или же ценная личная информация. Потому очень важно научиться делать резервные копии. Для этого Вы можете использовать съемный носитель (внешние HDD- и SSD-диски либо USB флешку), общую сетевую папку или же удаленный хост. С помощью простых инструментов процесс резервного копирования даже можно автоматизировать, чтобы навсегда забыть о риске утраты важных данных.
Содержание:
Настраиваем резервное копирование при подключении 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. Сделать это помогут следующие команды:
Читайте также:
- Управление процессами и службами запуска системы (SysVinit, Systemd и Upstart).
- Rsync (Remote Sync): 10 практических примеров использования команды Rsync в Linux.
Выводы
В этом руководстве мы показали и объяснили, как именно можно выполнять автоматическое резервное копирование данных на съемный носитель (внешние HDD— и SSD-диски либо USB флешку) после его подключения к компьютеру с Linux. Реализовать на практике такую удобную функцию можно гораздо проще, чем кажется на первый взгляд.
Спасибо за время, уделенное прочтению статьи!
Если возникли вопросы — задавайте их в комментариях.
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
1 комментарий. Оставить новый
А можно в «BACKUP_SOURCE» прописать несколько путей