Здравствуйте, уважаемые читатели. Сегодня тема статьи: «Бэкап общей папки Windows в Linux». Рассмотрим организацию резервного копирования общего ресурса Windows, на машину под управлением Linux.

Предположим на одном из компьютеров локальной сети, под управлением Windows, есть директория с общим доступом, в которой находятся критически важные файлы. С файлами ежедневно производятся какие-то манипуляции. Как обезопасить файлы в директории?

Можно настроить резервное копирование критически важной директории на машину под управлением Linux. Отдельной машины для этого не понадобится, если в сети есть Linux машина, которая работает в роли DHCP-сервера, шлюза, или в какой-нибудь другой роли, то можно без проблем добавить функционал резервного копирования на неё. Функционал резервного копирования не потребует больших ресурсов, кроме того, производится резервное копирование будет ночью, так что особой нагрузки на сеть также не будет.

Подготовительные действия

  • Предварительно нам нужно создать необходимую инфраструктуру.
  • Для хранения резервных копий, создадим директорию /rezerv.
  • Кроме того, для монтирования общей папки, создадим директорию /mnt/arhiv.
# mkdir /rezerv
# mkdir /mnt/arhiv
  • На компьютере под управлением Windows, создаём нового пользователя с паролем, и даём ему полный доступ на папку с критически важными файлами.
  • Проверяем подключение к общей папке с Linux машины. Монтируем общую папку к созданной для этих целей директории /mnt/arhiv.
# mount -t cifs //192.168.10.20/123 /mnt/arhiv -o user=user-2,password=123

— 123 – название общей папки Windows.

— user-2 – пользователь для подключения к общей папке.

— 123 – пароль пользователя user-2.

  • Если всё было сделано правильно, то Вы получите доступ к файлам общей папки Windows, зайдя в директорию /mnt/arhiv.
  • Резервное копирование мы будем производить с помощью утилиты tar. В одной из предыдущих статей, мы уже пользовались утилитой для создания бэкапа файлов сайта.

Ручной бэкап общей папки Windows в Linux

  • Бэкап в ручном режиме, можно сделать используя простую команду:
# tar -czvf /rezerv/docs-`date
+"%Y-%m-%d_%H-%M"`.tar.gz -C /mnt/ arhiv
  • В итоге в директории /rezerv, мы получим резервную копию общей папки Windows, в архиве формата: docs-Дата_Время.tar.gz
архив с бэкапом общей папки windows
  • После создания бэкапа, можно размонтировать общую папку.
# umount
/mnt/arhiv

Автоматический бэкап общей папки Windows в Linux

  • Для настройки автоматического резервного копирования, мы будем использовать планировщик заданий Cron. Нужно зайти в /etc/crontab и добавить задание.
  • Можно создать простую задачу, как и в случае с бэкапом сайта.(Общая папка должна быть постоянно подключена)
  • Задание в таком случае будет выглядеть так:
# Бэкап
00 23 * * * root /bin/tar -czf /rezerv/docs-`date +\%Y-\%m-\%d_\%H-\%M`.tar.gz -C /mnt/ arhiv
  • Резервное копирование будет производится каждый день в 23:00.
  • Но наиболее удобным вариантом, будет настройка резервного копирования при помощи специального скрипта.
  • Создаем файл /usr/local/bin/backup.sh с таким содержанием:

#!/bin/sh
dir_1='/rezerv'
dir_2='/mnt/'
dir_3='arhiv'
time=`date +"%Y-%m-%d_%H-%M"`

mount -t cifs //192.168.10.20/123 /mnt/arhiv -o user=user-2,password=123
/usr/bin/tar -czvf $dir_1/docs-$time.tar.gz -C $dir_2 $dir_3
/usr/bin/find $dir_1 -type f -mtime +7 -exec rm {} \;
umount /mnt/arhiv


  • Три первые строчки, это директории используемые для резервного копирования.
  • Четвертая строчка, это формат даты и времени.
  • Дальше идёт команда для монтирования общей папки.
  • После монтирования, расположена команда создания бэкапа.
  • Предпоследней идёт команда удаления резервных копий старше семи дней.(Можно изменить под свои нужды)
  • И последней идёт команда размонтирования общей папки Windows.

  • Делаем скрипт исполняемым.
делаем скрипт исполняемым
  • Добавляем задание на выполнение скрипта в Cron.
# Бэкап с помощью скрипта 
00 23 * * * root /usr/local/bin/backup.sh >/dev/null 2>&1
добавление задание в cron
  • После добавления задания, скрипт backup.sh будет выполнятся каждый день в 23:00.

Таким способом, можно организовать резервное копирование одной и более общих папок, на разных компьютерах локальной сети. Можно создать несколько скриптов, изменив переменные, и время выполнения скрипта.

Сегодня мы рассмотрели тему: «Бэкап общей папки Windows в Linux». Произвели настройку резервного копирования критически важных файлов. Смотрите также видео по теме.

Надеюсь статья была вам полезна. До встречи в новых статьях.

С уважением, Андрей Бондаренко.


Видео на тему «Бэкап общей папки Windows в Linux»: