Бекап через RSYNC. Часть 1 - сервер
Бекап через RSYNC. Часть 2 - клиент
Сегодня об использовании rsync для переноса данных внутри NAS. И зачем такие хитрости.
Кроме вкладок "Клиент" и "Сервер" в nas4free реализована вкладка "Локально", Services|Rsync|Local. Очевидно, она предназначена для переноса данных внутри NAS.
Для включения - жмём серый плюс внизу-справа, открывается диалог, его верхняя часть

Source share - откуда копируем
Destination share - куда
Who - под каким пользователем
Sync time - cron таблица. У меня задано в 02:02 каждый день недели, каждый день, каждый месяц. Вы можете задать произвольный график - каждый час, если пятница пришлась на 13-е :)
Description - необязательная памятка - что это такое.

Расширеные опции, значения
Recursive - включая подпапки
Times - сохранять время изменения файлов
Compress - сжимать при пересылке
Archive - архивный режим. Прим. эквивалент -rlptgoD (no -H,-A,-X) - рекурсивно по подпапкам (r), симлинки как симлинки (l), сохранять *nix права доступа (p), сохранять время изменения файлов (t), сохранять информацию о владельце файла (o) и его группе (g), сохранять специальные файлы и файлы-устройства. Не сохранять ACL, хардлинки и расширенные атрибуты.
Delete - стирать на принимающей стороне файлы, которых нет на передающей
Quiet - подавлять сообщения, кроме сообщений об ошибках
Preserve permissions и extra attributes - сохранять права доступа и атрибуты файлов
IMHO по большому счёту главное - не ставить галочку против Delete. Остальное менее важно. Я расставил опции как указано на рисунке.
Кнопки немного особенные - есть обычные Save и Cancel, то есть Сохранить и Отменить. По окончании настройки стоит сохранить. А потом можно войти диалог снова, нажав на гаечный ключ и выполнить немедленно это задание (Execute now)
Ну и, напоследок, зачем такие хитрости - запускать rsync внутри одного NAS, когда можно просто скопировать? Я придумал пока два полезных применения.
Во-первых, я предпочитаю качать контент на выделенный диск, смотреть и большую часть удалять. А существенно меньшую - переносить на raidz массив. Копирование десятков гигабайт данных - процесс небыстрый. Поэтому я организовал папку-источник на диске для скачек и папку-приёмник на массиве. Достойное хранения преносится в папку источник, ночью копируется в папку-приёмник. Потом в удобное время я могу разложить по вкусу файлы из папки-приёмника и не забыть стереть файлы в папке-источнике.
Во-вторых, не все домашние продвинуты в компьютерной области, то есть в принципе могут наломать дров. Поэтому я расшариваю по SMB определённые папки, куда они могут с со смартфонов и пр. кидать картинки-видео. И смотреть тут же на Дюне на большом экране. А ночью в фоновом режиме всё это бекапится. Если исходные файлы ненароком стереть - автоматические копии останутся.
Comments
2014/08/20 20:50:02 [54518] rsync: --delete does not work without --recursive (-r) or --dirs (-d).
2014/08/20 20:50:02 [54518] rsync error: syntax or usage error (code 1) at main.c(1554) [client=3.1.0]
А сообщение говорит, что стирать без дополнительныз ключей не даст. Кстати, вы точно что то там стирать собираетесь? Может забить и оставить как есть?
Edited at 2014-08-21 04:59 am (UTC)
Убрал галочку удалять. И выдает вот это.
2014/08/21 16:55:00 [17919] building file list
2014/08/21 16:55:00 [17919] skipping directory .
2014/08/21 16:55:01 [17919] sent 21 bytes received 17 bytes total size 0
Хотелось бы чтобы делал копию файлов, и при каждой проверке удалял лишние файлы.
Кстати сделал бэкап, как было написано в инструкции ранее, системного винта(Windows) на nas. Все делает вроде бы норм, но почему то после выдает сообщение
https://www.dropbox.com/s/7k9h9z3lurdowsu/%D0%A1%D0%BA%D1%80%D0%B8%D0%BD%D1%88%D0%BE%D1%82%202014-08-20%2021.49.56.png
И в фоновом режиме постоянно пытается сделать копию, поменял время с 10 мин на 1 час. Но все равно выдает сообщения в уведомлениях. О том что программа с путем к файлу с настройками не может сделать копию. Как понимаю просто не может сделать копию одного или пару файлов и из-за этого постоянно пытается сделать бэкап. И это очень раздражает окошко
такое сообщение пару раз видел - систему появления не понял
Вы весь системный винт хотите сбекапить? Если да - то это возможно только при запуске другой оси, винды не дают по живому систему копировать. Вариантов много, напр http://ping.windowsdream.com/
Как я понимаю http://ping.windowsdream.com/ делает грубо говоря образ системного диска в dos окне? И каждый раз это делать не радует. Хотелось бы все таки бэкап каждый день:(
Он может делать и инкрементальные бекапы, но для ежедневного - не пойдёт. Поищите что в виндах для этого рекомендуют, должны были что-то M$ придумать...
Столкнулся с такой проблемой, хотя это может и не проблема, а так и должно быть). Вообщем рассудите).
Вкратце, настроил локальный RSYNC:
https://cloud.mail.ru/public/2wsmzyYk9RrL/2015-05-19_182553.jpg
Настроил автоснапшот:
https://cloud.mail.ru/public/2ZGRfs7p7SV6/2015-05-19_183650.jpg
В итоге поимел постоянное увеличение места занимаемое снимками, как будто файлы полностью менялись, хотя этого не было:
https://cloud.mail.ru/public/suC47fNt6CPK/2015-05-19_183117.jpg
Где я накосячил или так и должно быть? А то 2Тб диск быстро забивается автоснапшотами за неделю.
Перенастройте через zfs send-receive
1) Делаем снапшот на исходном пуле
2) Передаём его на бэкап пул
3) Убиваем лишние (но не последниий!) снапшот на исходном.
Ср. в оглавлении Г. Backup, удалённая синхронизация, облака
п 4, в конце - по сети или локально. Но сетевой скрипт и локально умеет.
ещё есть профессиональная хрень zrep
Edited at 2015-05-19 08:07 pm (UTC)
Если кто-нибудь знает как сделать исключение из синхронизации - буду благодарен.
Второй вопрос, который у меня возник - это как избавиться от копирования каталогов, являющихся хард-линками? Получается что одна и таже информация несколько раз копируется. Допускаю, что если можно указать исключения для копирования - эту проблему можно будет решить.
Ну и самая важная проблема - это ошибка в логе типа "Previous local synchronization still running... exiting"
Вот что с этим делать?