Бэкап общей папки Windows в Linux
Здравствуйте, уважаемые читатели. Сегодня тема статьи: «Бэкап общей папки 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 в 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.
# Бэкап с помощью скрипта
00 23 * * * root /usr/local/bin/backup.sh >/dev/null 2>&1
- После добавления задания, скрипт backup.sh будет выполнятся каждый день в 23:00.
Таким способом, можно организовать резервное копирование одной и более общих папок, на разных компьютерах локальной сети. Можно создать несколько скриптов, изменив переменные, и время выполнения скрипта.
Сегодня мы рассмотрели тему: «Бэкап общей папки Windows в Linux». Произвели настройку резервного копирования критически важных файлов. Смотрите также видео по теме.
Надеюсь статья была вам полезна. До встречи в новых статьях.
Видео на тему «Бэкап общей папки Windows в Linux»:
Бэкап windows из линукса
Имеется всего один «лишний» раздел (место под завязку). Хотелось бы бэкапить и раскатывать то Windows 7, то Rolling Linux при необходимости (основная система Xubuntu LTS) и просто выполнять update-grub. Прокатит ли просто скопировать файлы винды? Ведь потеряются права. dd не хочу использовать, боюсь запортить. Чем можно архивировать винду из линукса?
fsarchiver , он вроде был и на SystemRescueCd
Спасибо, попробую. По описанию то, что надо. Получается, ntfs-3g умеет читать расширенные атрибуты и права, просто в линуксе они не используются. Сделал архив, fsarchiver ругался, что атрибуты у файлов из winsxs имеют отрицательный размер. Сжался архив хорошо 2.3 вместо 5.8 Гб. Завтра разархивирую. Если будут сбои, восстановлю образ ntfsclone, который не умеет сжимать сам.
Интересно, если раздел потом увеличить, как ntfsclone отреагирует при —restore-image?
И fsarchiver, и ntfs используют в качестве назначения /dev/sda*. Если файловой системы там нет, они ее создадут/отформатируют? Главное не ошибиться номером.
Для бекаов нужен _другой_ физический накопитель данных!
Не нужен
Для резервных копий не обязателен, для архивных — совсем другое дело. И то, и другое называют «бекапом», что вызывает путаницу.
Clonezilla спасет отца русской демократии.
восстановлю образ ntfsclone, который не умеет сжимать сам.
Сжимать не умеет, но там есть опция снятия в специальном spare формате, в результате файл с образом файловой системы будет размером не с весь раздел диска, а размером с используемого пространства на файловой системе.
Дд через сжатие делай не парь моск.
Обе утилиты справились. fsarchiver правда жаловался, что не смог восстановить 3 файла из winsxs. fsarchiver работает на файловом уровне через ntfs-3g, после него меняется карта расположения файлов https://i.imgur.com/SG3vKK9.png и NTFS структура воссоздается ntfs-3g. Виндовый chkdsk сказал, что «сделал изменения в фс». Еще fsarchiver распаковывает файлы винды в линуксовую tmp папку на корневом разделе (странно, что количество занятого места при этом не уменьшается). ntfsclone просто раскатывает образ, что предпочтительнее. Структура та же, в chkdsk чистота. UUID, от которого зависит активация, тоже восстанавливается прежний в обоих случаях.
Если файловой системы там нет, fsarchiver и ntfsclone ее создадут/отформатируют?
1. Если раздел примонтирован, они откажутся работать (хинт, чтобы не ошибиться, перед запускам монтировать важные разделы). 2. fsarchiver вроде бы форматирует в ntfs, ntfsclone просто раскатывает образ на любую фс. По факту в обоих случаях получается ntfs и данные, если какие были там, не сохраняются при восстановлении образа.
Сжимать не умеет, но там есть опция снятия в специальном spare формате