Назад | Перейти на главную страницу

Robocopy исключает каталог в рекурсивной файловой структуре

Кажется, это популярный вопрос в сети, но все остальные, похоже, согласны с возможностью указать только часть полного пути для достижения своего рода подстановочного знака. Я думаю, мне нужно быть более конкретным, так как у меня рекурсивная файловая структура и я не могу использовать / XJ.

Контекст

Мы выполняем ночное резервное копирование на всех наших серверах с файлового сервера Windows 2008, который запускает сценарии robocopy для выполнения дифференциального резервного копирования через общие файловые ресурсы Samba. У меня возникают проблемы с резервной копией для общего веб-сервера Linux.

Особенность резервного копирования этого конкретного сервера заключается в том, что он использует рекурсивную файловую структуру с использованием символических ссылок. Причина в том, что на сервере запущен suPHP в chroot jail, и требуется рекурсивная файловая структура, чтобы заставить suPHP работать обманом.

Пример структуры каталогов выглядит так:

Домашний каталог для пользователя: /home/websites/wwww.customersite.com/home/wwww.customersite.com/

Их веб-сайт находится в: /home/websites/www.customersite.com/home/www.customersite.com/public_html/

Рекурсия начинается в: /home/websites/www.customersite.com/home/websites/

И поэтому, когда начинается эта рекурсия, в моем журнале robocopy я вижу такие записи:

\\ 10.230.0.25 \ резервная копия \ главная \ сайты \ клиент \ главная \ сайты \ клиент \ главная \ сайты \ клиент \ главная \ сайты \ клиент \ главная \ сайты \ клиент \ главная \ сайты \ клиент ...

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

... \ главная \ сайты \ клиент \ главная \ сайты \ клиент \ главная \ сайты \ клиент \ главная \ клиент \ public_html \ администратор \ компоненты \ com_jce \ img \

Что я пробовал

Я видел подобную проблему с рекурсивной структурой файлов при использовании robocopy перед копированием из систем на базе Windows Vista +. Например, эта проблема при резервном копировании C: \ Users:

https://superuser.com/questions/478882/delete-recursive-directory-created-by-robocopy-when-the-file-name-is-too-long

Как уже упоминалось, раньше я мог использовать / XJ чтобы решить проблему. Однако я предполагаю, что, поскольку файлы копируются из Linux системе рекурсивная символьная ссылка не появляется как точка соединения с robocopy.

Я пока не нашел способа, чтобы символическая ссылка отображалась как точки соединения.

Конечно, я не вижу способа использовать / XD здесь тоже, так как мне нужно иметь возможность сделать резервную копию всех данных в / главная / сайты / так поступает / XD / главная / сайты / наверняка отменит резервную копию этой папки.

В идеале я бы хотел что-то вроде:

/ XD /home/websites/.+/home/websites/.+

Или даже просто:

/ XD /home/websites/.+/home/websites/

Любая помощь приветствуется.

Спасибо!

вы читали это: https://serverfault.com/a/304993/171115 ?

Я пробую это на своем компьютере, и это сработало! прежде чем я сделаю несколько копий:

cd c:\temp
mkdir source
cd source
for %i in (user1 user2 user3) do (mkdir %i\source %i\others)

ОК? тогда я хочу скопировать все, кроме пользователей * \ source, верно?

cd c:\temp
robocopy source dest /mir /r:1 /w:1 /xd source

Возможно, задание rsync cron на сервере Linux сбрасывает его в tar, который может захватить ваш robocopy? Затем вы можете просто исключить весь исходный путь.

Для себя я делаю следующее:

У меня есть несколько серверов Linux, где мне просто нужен ETC и резервные копии нескольких папок. Я выполняю rsync для tar, а затем использую PSCP, чтобы просто получить файл tar (поскольку он будет меняться каждую ночь). Затем мой сценарий PSCP удаляет все, что было скопировано более 7 дней назад (поскольку резервные копии Windows захватывают папку «выгружено в», так что технически у меня есть резервные копии резервных копий за пределами сайта.

Надеюсь, это поможет.