Аналог rsync для Windows

Обновлено: 21.11.2024

Глядя на аналоговую демонстрационную статистику, я почти уверен, что мои клиенты
посчитали бы это шагом вперед по сравнению со сводкой по внешнему виду. Технические
достоинства не будут чем-то, что они рассматривают. Я неплохо разбираюсь в css
и html, можно ли "скин" или "тему" аналог?

У меня есть несколько старых машин, работающих под управлением Mac OS 9 WebStar, вход в которые я
полагаю расширенным общим форматом журнала. Сможет ли аналоговый формат справиться с большей частью того, что
я использую для форматов журналов? Для тех, кто
необычен, я смог сделать сводку, чтобы создать настраиваемые сопоставления журналов,
это возможно?

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

Я имею дело с сотнями ГБ данных журнала за целый год, поэтому мы
начнем с малого, а в конце года их будет много. Подводя итог,
я использовал добавочную обработку по 5-минутному расписанию, что позволяло
генерировать новые отчеты для каждого клиента примерно за 10 минут.
Буду ли я анализировать весь набор журналов снова и снова?

В конце года я смог "преобразовать" журналы в html-файлы
, чтобы мои клиенты могли иметь доступ к своим прошлым данным, а аналоговые
могут что-то выполнить похожи?

Смогу ли я вытащить отдельные виртуальные хосты, защитить паролем
каждый отчет, даже если у меня есть данные журнала, которые находятся в одном
access_log?

Кэшируются ли поисковые запросы DNS?

Возможно, все это можно было бы решить с помощью матрицы, которая сравнивала бы статистику
софта для составления отчетов на диаграмме. Кто-нибудь когда-нибудь видел такую,
включающую аналог?

Спасибо за ваше время.
--
Скотт * Если вы связываетесь со мной вне списка, замените talklists@ на scott@ *

> У меня есть несколько старых машин под управлением Mac OS 9 WebStar, вход в систему я
> считаю расширенным общим форматом журнала. Может ли аналоговый формат справиться с большинством
> того, что я использую для форматов журналов? Для тех, кто
> необычен, я смог подвести итоги, чтобы создать настраиваемые сопоставления журналов,
> возможно ли это?

Analog имеет чрезвычайно гибкую поддержку пользовательских форматов журналов. Afaik, форматы журналов Webstar поддерживаются "из коробки".

> Каждый сервер Apache, который у нас есть, записывает все обращения в один журнал, который обновляется
> каждую ночь. Сводка использовала встроенный ftp для загрузки только новых
> файлов журнала. Предусмотрено ли получение журналов с удаленных компьютеров или
> Мне нужно взглянуть на что-то вроде rsync, чтобы это произошло?

Analog просто анализирует лог-файлы, он не занимается "управлением" лог-файлами, поэтому вам придется заниматься этим самостоятельно.

> В конце года я смог "преобразовать" журналы в html
> файлы, чтобы мои клиенты могли иметь доступ к своим прошлым данным, сможет ли
> аналог
> выполнить нечто подобное?

Все отчеты Analog представляют собой статические HTML-отчеты. Это не база данных, которая формирует отчеты "на лету" (хотя ее можно настроить для обработки запросов "на лету").

> Смогу ли я вытащить отдельные виртуальные хосты,
> защитить паролем каждый отчет, даже если у меня есть данные журнала, которые находятся на одном единственном
> access_log?

Да.

>> Каждый сервер Apache регистрирует все обращения в один журнал, который обновляется
>> каждую ночь. Сводка использовала встроенный ftp для загрузки только новых
>> файлов журнала. Предусмотрено ли получение журналов с удаленных компьютеров или
>> будет
>> Мне нужно посмотреть что-то вроде rsync, чтобы это произошло?
>
> Analog просто анализирует лог-файлы, он не занимается никаким лог-файлом
> "управлением", так что вам придется заниматься этим самостоятельно.

Как тогда это лучше сделать? Рассмотрим систему,
где существует акр apache access_logs с 10 машин. Есть
11-я машина, которая будет делать аналог. У меня есть журнал за 24 часа,
это означает, что я могу выполнить rsync каталоги удаленных журналов на 10
компьютерах и поддерживать все файлы журналов за 24 часа в актуальном состоянии. Однако подобный
журнал, access_log, который выполняется, должен появиться непосредственно перед запуском
аналогового. Это вместе с инкрементом дает клиенту то, что кажется
статистикой, близкой к реальному времени.

Я мог бы запускать rsync каждые 4 минуты, а аналог – каждые 5 минут, но
это плохой метод, так как время рассинхронизируется, некоторые журналы больше
других и т. д. предполагается, что аналоговый
запускается планировщиком? Если это так, могу ли я просто написать простой скрипт.

1) rsync файлы журналов
2) когда выше сообщается об успехе, запустить аналог

Я полагаю, что Summary более или менее делает именно это, он просто использует
ftp для транспорта и MDTM для определения необходимости повторной загрузки
журнала ftp.

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

Спасибо за ответы и помощь, очень признателен.
--
Скотт * Если вы связываетесь со мной вне списка, замените talklists@ на scott@ *

10/4/2009, 16:47, Скотт Ханеда написал:
>>> Каждый сервер Apache регистрирует все обращения в один журнал, который обновляется
>>> ночью. Сводка использовала встроенный ftp для загрузки только новых файлов журнала
>>>. Есть ли возможность получать журналы с удаленных компьютеров или
>>> Мне нужно посмотреть что-то вроде rsync, чтобы это произошло?
>>
>> Analog просто анализирует лог-файлы, он не занимается "управлением" лог-файлами,
>>, так что вам придется заниматься этим самостоятельно.
>
> Как лучше всего с этим справиться?

Какой длины кусок веревки? Разные люди настроят его
по-разному.

> Рассмотрим систему, в которой
> есть акр apache access_logs с 10 машин. Есть 11-я
> машина, которая будет делать аналог. У меня есть журнал за 24 часа, что
> означает, что я могу выполнить rsync каталоги удаленных журналов на 10 машинах и
> поддерживать все файлы журналов за 24 часа в актуальном состоянии. Однако аналогичный журнал
> access_log, который выполняется, должен появиться непосредственно перед запуском аналогового
>. Это, с инкрементом, дает клиенту то, что кажется статистикой, близкой к
> статистике в реальном времени.

Это действительно зависит от размера лог-файлов. Когда клиент
ищет статистику «в реальном времени», его интересуют только последние
часы активности? Вместо того, чтобы машина, работающая 24
часа в сутки, генерировала графики "в реальном времени", которые перезаписывались каждые 5
минут, я бы предпочел использовать что-то вроде аналоговой формы
>интерфейс, позволяющий пользователю генерировать отчет "по требованию".

> Насколько я понимаю, аналоговый — один из самых популярных, но если он
> не подходит для крупного общего хостинга, пожалуйста, дайте мне знать. Я
> видел, где журналы помещаются в клиентский каталог
> виртуальных хостов, а аналог установлен как опция, указывающая только на эти пользовательские
> файлы. Я, однако, предпочитаю анализировать все свои объекты в журналах.

Analog может генерировать отчеты для всего объекта из набора
«комбинированных» журналов или из набора журналов «на хост» — это просто вопрос конфигурации. . Если вы собираетесь позволить пользователю настраивать
свои собственные отчеты, меньше шансов непреднамеренно предоставить ему
доступ к чужим данным журнала, если вы создаете отдельные файлы журнала, но
на самом деле это просто вопрос предпочтений. (Ваши предпочтения и ваши
клиенты - некоторые клиенты уделяют мало внимания или лишь время от времени
внимают своим журналам, другие могут тратить много времени на их изучение).

Analog чрезвычайно гибок и часто используется в больших размещенных
средах. Но не существует одного "правильного" способа его развертывания - это действительно
зависит от того, чего вы хотите достичь.

Спасибо! Думаю, мне не нужно просто прыгать и смотреть, как это работает. Ваш
указывая мне на метод спроса формы является хорошим. Это может
пригодиться, так как тогда я использую циклы процессора только по мере необходимости. Несколько
комментариев ниже.

4 октября 2009 г., в 15:15, Энгус написал:

> 04.10.2009, 16:47, Scott Haneda написал:
>>>> Каждый сервер Apache регистрирует все обращения в один журнал, который
>>>> свернут.
>>>> ночные. Резюме использовало встроенный ftp для загрузки только новых файлов журнала
>>>>. Предусмотрено ли получение журналов с удаленных компьютеров, или
>>>> будет
>>>> Мне нужно взглянуть на что-то вроде rsync, чтобы это произошло?
>>>
>>> Analog просто анализирует лог-файлы, он не занимается никаким лог-файлом,
>>> "управляет", так что вам придется заниматься этим самостоятельно.
>>
>> Как бы тогда лучше с этим справиться.
>
> Какова длина веревки? Разные люди настроят его
> по-разному.

Вообще, мои струны довольно длинные, хотя я часто обрезаю их
коротко, так как устаю постоянно их мерить :)

>> Рассмотрим систему, где есть акры apache access_logs с 10
>> машин. Есть 11-й станок, который будет делать аналог. У меня есть
>> журнал за 24 часа, что означает, что я могу синхронизировать удаленные журналы
>> в каталогах 10 машин и хранить все файлы журналов за 24 часа до
>> Дата. Однако аналогичный журнал access_log, который выполняется
>>, должен появиться непосредственно перед запуском аналога.Это, с
>> инкрементным, дает клиенту то, что, кажется, почти в реальном времени
>> статистику.
>
> Это действительно зависит от размера лог-файлов. Когда клиент
> ищет статистику «в реальном времени», интересуется ли он только последними
> часами активности?

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

Когда я говорю "в реальном времени", я имею в виду задержку примерно в 5 минут,
в которой я смог работать со сводкой. Я мог бы включить
инкрементный режим, и 5-минутный график смог бы проанализировать все данные журнала
за очень короткое время, намного меньше 5 минут,
до следующего графика. срок.

Теперь, если бы мне пришлось перерабатывать всю партию, и это было ближе к концу
года, так как я постоянно сохраняю ценность года, это заняло бы
около часа. Имея в виду, что это было на старом Power PC
PowerMac, обновление процессора 800 МГц, так что некоторые вещи довольно медленные.

> Вместо того, чтобы машина работала 24 часа в сутки, создавая
> диаграммы "в реальном времени", которые перезаписываются каждые 5 минут, я
> более склонен использовать что-то вроде интерфейс Analog Form
> позволяет пользователю генерировать отчет "по требованию".

В случае с Summary, это был относительно небольшой всплеск загрузки ЦП в течение очень
короткого времени, но я благодарю вас за то, что вы указали мне на этот
интерфейс формы по требованию, теоретически кажется, что это гораздо более разумный способ
с этим справиться. Как вы упомянули ниже, не все мои клиенты даже используют статистику,
но у всех есть возможность, так что тех, кому она не нужна, я могу
не обрабатывать.

>> Я понимаю, что аналог является одним из самых популярных, хотя, если он
>> не подходит для большой среды общего хостинга, сообщите мне
>> об этом. Я видел, как журналы помещались в
>> клиентский каталог виртуальных хостов, а аналоговый параметр устанавливался как опция, указывающая только на
>> файлы пользователей. Тем не менее, я предпочитаю анализировать всю свою
>> информацию о средствах из журналов.
>
> Analog может генерировать отчеты для всего объекта из набора
> "комбинированных" журналов или из набора журналов "на хост" - это просто
> дело в конфигурации. Если вы собираетесь разрешить пользователю
> настраивать свои собственные отчеты, меньше шансов непреднамеренно
> предоставить ему доступ к чужим данным журнала, если вы создаете
> отдельные файлы журналов, но это просто вопрос предпочтений.

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

Мне нужно убедиться, что данные журналов одних клиентов не передаются
другим. Я регистрирую заголовок запроса хоста (имя виртуального хоста),
пока я могу ограничить отчет этим, все должно быть в порядке. Мне нужно будет
узнать, как заблокировать изменение этой настройки пользователем,
или, если бы он угадал имя хоста на машине, он мог бы
получить много денег. конфиденциальные данные.

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

> Analog чрезвычайно гибок и часто используется в больших размещенных
> средах. Но не существует одного "правильного" способа его развертывания - это
> действительно зависит от того, чего вы хотите достичь.

Спасибо, есть время поработать с документами.
Я еще раз благодарю вас за ваше время, особенно в выходные дни.
--
Скотт * Если вы связываетесь со мной вне списка, замените talklists@ на scott@ *

Если вы давно занимаетесь программированием, возможно, вы слышали о rsync. Это инструмент для передачи и синхронизации файлов в разных каталогах. Эти каталоги могут находиться внутри одного компьютера или между двумя подключенными компьютерами.

Некоторые из вас могут задаться вопросом: "Почему я не могу просто использовать команду копирования cp , чтобы мне не пришлось изучать новую команду?" Это две разные программы. cp копирует все из одного места в другое, а rsync копирует дельты (различия) из одного места в другое.

Предположим, что ваш исходный каталог A содержит файлы общим размером 1 ГБ. Предположим, что у вас также есть каталог B с тем же 1 ГБ файлов. Затем вы добавляете небольшие изменения размером около 0,1 ГБ. С rsync вам не придется копировать все 1,1 ГБ данных из точки А в точку Б. Вам нужно будет передать только 0,1 ГБ данных. Зачем копировать в основном одни и те же данные, если можно просто скопировать только различия? Это позволяет свести к минимуму использование сети, что может быть полезно, если у вас небольшая пропускная способность.

Перейдем непосредственно к коду. Я настоятельно рекомендую вам кодировать вместе. Я считаю более полезным при изучении новой вещи, если я на самом деле набираю команды. Более того, не стоит просто печатать все, что вы видите в этой статье, и останавливаться на достигнутом. Поэкспериментируйте с этими командами. Прочтите справочную страницу rsync. Делайте вариации. Эксперимент. Делайте то, о чем я здесь не упоминаю. Ломай вещи! Просто убедитесь, что вы сначала сделали резервную копию (посмотрите, что я там сделал? :D). Только сделав это, вы получите максимальную отдачу от этой статьи.

Базовая синхронизация

По сути, команда rsync выглядит следующим образом:

Выйти из полноэкранного режима

Предположим, у вас есть файл ~/Projects/source/file1.txt, который вы хотите синхронизировать с ~/Projects/destination/ . Выполнить:

Выйти из полноэкранного режима

Вы должны увидеть файл file1.txt внутри адресата/сейчас. Прохладный! Однако на практике вам, вероятно, не нужно rsync для одного файла. Rsync обычно используется в каталоге.

Чтобы синхронизировать исходный/каталог (включая все его файлы) с целевым/каталогом, выполните:

Выйти из полноэкранного режима

Теперь вы обнаружите, что все файлы внутри источника/ копируются в место назначения/ . Если вы снова запустите команду rsync source/* destination/ без внесения каких-либо изменений, rsync ничего не сделает (нет дельт).

Если вы добавите файл в источник/, который еще не находится в месте назначения/, запуск команды rsync добавит этот файл в место назначения/.

Если вы удалите файл из источника/, и этот файл также находится в месте назначения/, выполнение команды rsync не удалит этот файл из места назначения/. Rsync по умолчанию имеет аддитивный характер. Чтобы также удалить файл в месте назначения/ при удалении исходного файла, передайте параметр --delete.

Наконец, если вы добавите каталог в source/ , приведенная выше команда rsync не будет синхронизировать каталог (и содержимое этого каталога). Для синхронизации каталогов в исходном каталоге необходимо рекурсивно использовать rsync.

Рекурсивная синхронизация

Опция -r рекурсивно синхронизирует каталог. Если ваш исходный/каталог содержит:

Выйти из полноэкранного режима

Запуск rsync source/* target/ не приведет к перемещению dir1/ (и файлов внутри него) в каталог target/. Однако, если вы запустите:

Выйти из полноэкранного режима

Все будет перенесено. Аккуратно!

Архив Rsync

Если вы читали статьи о rsync в Интернете, то заметили, что многие разработчики используют команду -a ( --archive ). Это аналогично запуску rsync -rlptgoD. Ого, сколько вариантов! Не волнуйтесь, давайте разберемся:

  • -r является рекурсивным, как вы видели выше
  • -l копирует символические ссылки и сохраняет их как символические ссылки
  • -p сохраняет права доступа/привилегии к файлам
  • -t сохраняет метаданные времени в файле
  • -g сохраняет группу
  • -o сохраняет владельца (только для суперпользователя)
  • -D сохраняет устройство и специальные файлы

В целом, запуск rsync -a сохраняет все важные метаданные при передаче файлов. Можно с уверенностью сказать, что в 90 % случаев вы будете использовать rsync -a.

Rsync и SSH

Вы можете использовать rsync через сетевое соединение. Если у вас есть доступ к удаленному серверу, вы можете быстро синхронизировать свой каталог локально с удаленным сервером и наоборот.

Подождите секунду. разве это не похоже на дропбокс? Ага! В Dropbox есть множество других функций, которых нет в rsync, но, по сути, Dropbox — это причудливый и прославленный rsync с добавленной надежностью.

Для этого раздела, если вы пишете код, я предполагаю, что у вас есть доступ к удаленному серверу. Если вы этого не сделаете, продолжайте читать, но сделайте заметку в уме. Вероятно, в будущем настанет время, когда вам понадобится это сделать.

Чтобы синхронизировать исходный/ каталог с ~/stash/destination/ удаленного сервера, выполните:

Выйти из полноэкранного режима

Если вы храните хост внутри конфигурации SSH, вы также можете использовать его. Например, у меня есть хост с именем gc (Google Compute). Чтобы синхронизировать каталог Projects/, я могу запустить:

Выйти из полноэкранного режима

Обратите внимание, что у меня нет косой черты после Projects, несмотря на то, что это каталог. Когда вы выполняете rsync каталог, но не передаете ему косую черту, rsync создаст каталог с тем же именем, что и у источника. Что это делает, так это создает каталог ~/Projects/ внутри моего хоста gc.

Вот некоторые параметры, которые могут быть полезны при передаче файлов по сети:

  • -z для сжатия данных при передаче
  • -v означает подробный. Это покажет результаты передачи файла
  • -P означает --partial и --progress : partial создает частичный файл на случай, если передача прерывается, а progress показывает ход передачи файла. Этот параметр полезен для больших файлов.

Кстати, знаете ли вы, что можете передать команду при запуске rsync?

Например, если я хочу выполнить rsync только test1.txt , test2.txt , . test9.txt с удаленного сервера, я могу запустить:

Выйти из полноэкранного режима

Хитрость заключается в вашем удаленном хосте: 'YOUR_CMD' . Обратите внимание на обратную кавычку вокруг команды поиска.

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

Rsync и Cron

Rsync напоминает мне службы резервного копирования файлов, такие как Dropbox. В сочетании с cron вы можете создать автоматизированное задание для автоматической синхронизации данных каждый день, час и т. д.

В Mac я могу отредактировать задание cron с помощью команды crontab -e (у вас может быть по-другому, в зависимости от того, какая у вас ОС).

Чтобы создать несколько резервных копий:

Выйти из полноэкранного режима

Выполняется 4 резервных копирования:

  • ежечасное резервное копирование
  • ежедневное резервное копирование каждый день в 17:00
  • еженедельное резервное копирование каждую пятницу (день 5) в 18:00
  • ежемесячная резервная копия 1-го числа в 19:00

Первые три резервные копии перезапишут предыдущую резервную копию (она будет rsync в каталог с тем же именем). Ежемесячная резервная копия будет иметь уникальное имя.

Заключение

Rsync — мощная команда для создания резервных копий или синхронизации двух каталогов. Если вам нужно сделать только однократную копию, команда cp, вероятно, будет проще. Но если вам нужно синхронизировать два каталога, лучше использовать rsync.

Rsync и cron похожи на арахисовое масло и желе. Вместе они позволяют легко выполнять автоматическое резервное копирование. Какие еще варианты использования rsync вы можете придумать?

Кто знает, может быть, в будущем вы будете использовать rsync для создания следующего конкурента Dropbox! Когда вы это сделаете, пожалуйста, дайте мне знать :).

Появившись в Windows NT 4.0 Resource Kit в середине 90-х годов, Robocopy фактически стал инструментом копирования файлов для сред Windows. Robocopy (Robust File Copy) — это инструмент командной строки для копирования файлов, папок и дисков в системы Microsoft Windows и обратно. Robocopy — это улучшенная версия команд xcopy и copy, используемых в Microsoft Windows.

Недостатки роботизированного копирования

Хотя Robocopy хорошо работает для копирования файлов и папок в средах Microsoft Windows, существует ряд проблем с администрированием.

Обобщая, эти недостатки включают:

  • Только для Microsoft Windows: Robocopy не поддерживает копирование файлов и папок в Linux, Mac и другие системы.
  • Сложность. Администраторам необходимо ознакомиться с синтаксисом Robocopy и чувствовать себя комфортно при использовании командной строки для сценариев заданий копирования.
  • Багги: Robocopy печально известен своими ошибками.
  • Нет поддержки репликации в реальном времени. Robocopy управляется вручную и не копирует измененные данные автоматически в режиме реального времени.

Альтернатива Robocopy: Resilio Connect

В отличие от Robocopy, Resilio Connect является кроссплатформенным: Resilio также поддерживает Mac, Windows, Linux и другие платформы. Поэтому, если вы ищете простую в использовании, надежную альтернативу Robocopy, работающую в режиме реального времени, обратите внимание на Resilio Connect. Все задания на передачу и синхронизацию управляются централизованно и контролируются через простую в использовании консоль управления, работающую в Windows (и, при необходимости, в Linux).

Почему Resilio Connect вместо Robocopy?

  • Простота использования. Благодаря удобному графическому пользовательскому интерфейсу в консоли управления Resilio Connect все задания по копированию, синхронизации, написанию сценариев и перемещению файлов и папок можно легко настроить, а также централизованно отслеживать и управлять ими. файлов в любой точке мира, где обновления эффективно фиксируются и распространяются (почти) в режиме реального времени.
  • Кроссплатформенная поддержка не ограничивается Windows 10 и другими версиями Windows и Windows Server. Connect отлично работает при копировании файлов из Windows, Mac, Linux, Android и некоторых NAS-платформ.
  • Масштабируемость для поддержки файловых систем большой емкости (измеряется в ТБ и ПБ), содержащих множество файлов (иногда исчисляемых миллионами) разного размера (от маленького до очень большого).
  • Гибкая N-сторонняя синхронизация (односторонняя, двусторонняя, многонаправленная или полносвязная).
  • Перемещение данных по ненадежным сетям, таким как сотовые, спутниковые или глобальные сети. Resilio Connect оптимизирован для работы с глобальными сетями и универсален для использования в любой сети со встроенным сжатием, обнаружением дельты и эффективным восстановлением после сбоев для минимизации передачи данных.
  • Централизованное управление: Resilio Connect позволяет централизованно управлять всеми заданиями и легко настраивать их для распространения, синхронизации, консолидации и сценариев.
  • Файлы журналов, события, уведомления — все управляется централизованно.
  • Автоматизация: все задания по перемещению данных можно автоматизировать, запланировать, создать сценарий или интегрировать в рабочие процессы с помощью полноценного REST API.
  • Поддержка нескольких облачных сред с выбранным вами поставщиком облачных хранилищ — для локального, гибридного или облачного развертывания.

Robocopy и Rsync

Robocopy — это Windows-альтернатива известной программе rsync с открытым исходным кодом на базе Linux. И Robocopy, и Rsync предназначены для надежного копирования с сохранением метаданных файлов, таких как разрешения, расширенные атрибуты, информация о владельце, метки времени и свойства копируемых объектов.

Robocopy перемещает файлы

Robocopy может:

  • Перемещайте папки/файлы с содержимым в другие места.
  • Зеркальное отображение папок/файлов с помощью команды /mir.
  • Выполнить рекурсивное копирование папок.
  • Поддерживать атрибуты папок и файлов.

Функции Robocopy для перемещения файлов довольно просты. Этот инструмент обычно используется для синхронизации (/mir) данных и распространения файлов и изменений.

Функции Robocopy

При рассмотрении альтернативы Robocopy важно учитывать как ее возможности, так и недостатки. Robocopy имеет набор основных возможностей, таких как:

  • Допустим сбои в сети и возобновление копирования.
  • Пропуск точек соединения NTFS, которые могут привести к сбоям копирования из-за бесконечных циклов.
  • Сохранение метаданных папки: правильное копирование данных и атрибутов файла, сохранение исходных временных меток, а также списков управления доступом NTFS, а также информации о владельце и аудите с помощью переключателей командной строки.
  • Подтверждение «права на резервное копирование» в Windows NT, чтобы администратор мог копировать весь каталог, включая файлы, недоступные для чтения администратору.
  • Постоянство по умолчанию с программируемым количеством автоматических повторных попыток, если файл не удается открыть.
  • "Зеркальный" режим, в котором деревья синхронизируются за счет удаления из места назначения файлов, которых больше нет в источнике.
  • Возможность пропускать файлы, которые уже находятся в папке назначения с одинаковым размером и отметкой времени.
  • Постоянно обновляемый индикатор выполнения командной строки.
  • Возможность безошибочного копирования путей длиной более 259 символов (теоретически до 32 000 символов).
  • Многопоточное копирование.
  • Код возврата при завершении программы для использования пакетного файла.

Как указывалось ранее, использование Robocopy для перемещения файлов имеет некоторые известные ограничения и ошибки. Robocopy — достойное решение для одного пользователя, который делится несколькими файлами в своей среде Windows. Однако, когда требуется более широкое использование и масштабируемость на предприятии или между организациями, следует рассмотреть альтернативы Robocopy.

Ограничения операционных систем Robocopy

Перемещение файлов с помощью Robocopy работает только в Windows. Если на некоторых из ваших компьютеров установлены другие операционные системы, например Linux или Mac, вы не сможете использовать Robocopy на этих платформах.

Resilio Connect является кроссплатформенным продуктом, работающим на Windows, Mac и Linux, а также на других платформах. С помощью Resilio Connect легко централизованно управлять синхронизацией и переносить задания между несколькими платформами.

Производительность Robocopy и Resilio Connect

Единственный способ ускорить работу Robocopy — масштабировать в рамках одной системы с помощью многопоточности. Многопоточность — это способность ЦП одновременно выполнять несколько процессов или потоков, поддерживаемых операционной системой. Таким образом, скорость обработки файлов с помощью Robocopy зависит от типа и количества процессоров в рамках одной системы. Производительность передачи будет ограничена ЦП и пропускной способностью, доступной для одной системы.

И наоборот, Resilio Connect использует масштабируемую архитектуру, в которой производительность передачи может быть увеличена по мере добавления систем (одноранговых узлов) к заданию. Добавление дополнительных систем с агентами Resilio Connect повышает производительность передачи и синхронизации.

Robocopy перемещает файлы

По умолчанию Robocopy работает в указанных папках. Если вам нужно, чтобы Robocopy исключительно синхронизировал только файлы или папки, это потребует дополнительных усилий. Чтобы переместить файлы с помощью Robocopy, файлы необходимо выбрать или исключить с помощью необязательного аргумента фильтрации спецификаций файлов. Спецификации файлов могут ссылаться только на имена файлов, относящиеся к папкам, уже выбранным для копирования. Полные имена путей не поддерживаются. Синтаксис Robocopy также требует обработки ошибок. Такое поведение создает проблемы при копировании подмножества файлов в большой иерархии папок.

Большинство других альтернатив Robocopy, включая Resilio Connect, rsync и другие утилиты конкретных поставщиков, работают как с файлами, так и с папками.

Ограничение размера файла для роботизированного копирования

Robocopy может иметь ограничения на размер файла, поскольку Robocopy не может обрабатывать файлы размером в терабайт. Windows имеет ограниченный объем пространства пула памяти, которое может быть выделено для таких программ, как Robocopy; если программа использует всю память, доступную из этого пула, начинают возникать ошибки.

Resilio Connect, в качестве альтернативы Robocopy, оптимизирует вычисления контрольной суммы, чтобы Resilio Connect мог синхронизировать файлы любого размера, полностью устраняя ограничение размера файла, наблюдаемое в Robocopy, и обеспечивая исключительно высокую скорость передачи файлов любого размера.< /p>

Робокопирование и SSH

Robocopy не шифрует свои соединения: в Robocopy невозможно настроить SSH. Таким образом, Robocopy требует от пользователей установки и настройки дополнительных каналов шифрования, таких как SSH или VPN. Использование дополнительных каналов усложняет управление и поддержку изменений конфигурации, а также другие детали реализации.

Хорошая альтернатива Robocopy должна включать встроенное шифрование и не зависеть от сторонних продуктов. Resilio Connect использует AES256 в режиме CTR для шифрования всего трафика, отправляемого между конечными точками, включая все данные и управляющий трафик.

Робокопирование и регулирование пропускной способности/ограничение пропускной способности

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

Resilio Connect автоматически регулирует пропускную способность для каждого задания и с оптимальными динамическими параметрами; пользователям не нужно отслеживать и настраивать эти параметры.

Ошибки роботизированного копирования

Robocopy имеет несколько известных ошибок, таких как бесконечные циклы при копировании папок на основе точек соединения или повторной обработки в Windows NTFS.

ֿДругой распространенной ошибкой Robocopy является зеркалирование файлов и папок в системах старше Windows Vista. Если папка обрабатывается неправильно, Robocopy создает бесконечные циклы, которые необходимо отменять и исправлять вручную.

Для многопоточности отслеживание хода выполнения задания с помощью визуального индикатора выполнения копирования отсутствует. С файлами большого размера пользователь также не может отслеживать ход выполнения задания копирования. Следовательно, синхронизация Robocopy в реальном времени невозможна.

С помощью Resilio Connect вы можете отслеживать ход выполнения всех операций одновременно и в режиме реального времени благодаря простому и надежному графическому интерфейсу пользователя.

Resilio Connect и Robocopy

В целом, если вы ищете надежную, простую в использовании и кросс-платформенную альтернативу Robocopy, Resilio Connect предлагает превосходную альтернативу Robocopy. Благодаря синхронизации данных в режиме реального времени, специально созданной для предприятия, Resilio Connect значительно повышает производительность по сравнению с Robocopy.

Вот краткое сравнение функций Robocopy и Resilio Connect по функциям.

Функция Resilio Connect Robocopy
Дельта-кодирование
Сжатие
Динамическая маршрутизация
Шифрование
Оптимизация WAN< /td>
Все ОС
1M+ файлов
Большой размер файлов
В реальном времени

Хотели бы вы узнать больше, чтобы узнать, является ли Resilio Connect заменой Robocopy или альтернативой, которую вы искали?

Или вы предпочитаете запланировать демонстрацию Resilio Connect или начать бесплатную пробную версию, чтобы увидеть, насколько быстрее может быть ваша синхронизация.

Подсистема Windows для Linux — в чем дело?

Прошлым летом Microsoft выпустила «Юбилейное обновление» для Windows 10.Он включал в себя множество обычных обновлений операционной системы: повышенную безопасность, улучшенную интеграцию с мобильными устройствами, обновления «виртуального помощника» Microsoft Cortana (который совершенно не назван в честь ИИ-персонажа видеоигры, который стал безудержным и в настоящее время пытается уничтожить всю биологическую жизнь в известной вселенной, потому что какая компания может так искушать судьбу?)

Оболочка Bash очень популярна среди разработчиков и программистов. Почему? Разнообразие причин. Например, это система с открытым исходным кодом по сравнению с проприетарным интерфейсом Microsoft. Он имеет некоторые расширенные функции безопасности, чтобы пользователи не могли полностью сломать свою операционную систему с помощью ошибочной команды (если вы новичок в командной строке, поэтому вы иногда используете команду «sudo» в Терминале, но никогда в командной строке — Windows просто предполагает, что каждый, кто использует командную строку, является «суперпользователем» с доступом к корневым каталогам, тогда как Mac OSX/Linux предпочитает, по крайней мере, проверить, помните ли вы свой пароль администратора, прежде чем удалить свой жесткий диск из практического существования). Язык сценариев Bash обрабатывает пакетную обработку (одновременную работу с целой группой файлов), планирование команд для выполнения в будущем и другие автоматизированные задачи немного более интуитивно. И, наконец, системы Unix имеют намного больше встроенных служебных инструментов, которые делают разработку программного обеспечения и навигацию по файловым системам более элегантной (для ясности, эти служебные приложения технически не являются частью оболочки Bash — они встроены в Mac OSX/ сама операционная система Linux и доступ через оболочку Bash).

Внедрение подсистемы Linux и оболочки Bash в Windows — довольно смелый шаг, чтобы попытаться вернуть разработчиков на платформу Microsoft. Ранее предпринимались попытки создать Linux-подобную среду для Windows для портирования программного обеспечения Mac/Linux — Cygwin был, вероятно, наиболее заметным — но ни один метод, который я когда-либо пробовал, по крайней мере, не казался пользователю Mac/Linux столь же интуитивным, как Bash на Ubuntu в Windows делает это.

кто ты вообще

Учитывая растущее внимание к разработке программного обеспечения с открытым исходным кодом и внедрению командной строки в архивном сообществе, мне было очень любопытно, сможет ли Bash в Ubuntu для Windows начать преодоление разрыва между системами Mac и Windows в архивах и библиотеках. Проблема несовместимого программного обеспечения и разницы в языке командной строки между Терминалом и Командной строкой не является непреодолимой, но это не совсем удобно. Что, если бы мы могли предоставить всем пользователям одну и ту же страницу с программным обеспечением, которое они используют, И с тем, как они его используют, независимо от операционной системы.

Хорошо. Это все еще несбыточная мечта. Ранее я говорил, что подсистема Windows для Linux (да, технически она так и называется, хотя это звучит как полная противоположность тому, чем она должна быть) была «полноценной» — но я как бы солгал. Microsoft предполагает, что WSL станет платформой для разработки программного обеспечения, а не его реализации. Вы предполагаете использовать его для создания своих приложений, но не обязательно развертывать его в рабочем процессе на базе Windows. С этой целью есть несколько огромных дыр в чистой установке Ubuntu: используя Bash в Ubuntu в Windows, вы не можете развернуть какое-либо программное обеспечение Linux с графическим пользовательским интерфейсом (GUI) (например, распространенный встроенный Linux утилита редактирования текста gedit не работает, но работает nano, который позволяет вам редактировать текст из самого окна терминала Bash). Это CLI или бюст. Любое веб-приложение также является большим запретом, поэтому в ближайшее время вы не сможете незаметно запустить компьютер с Windows в качестве сервера с использованием подсистемы Linux.

Редактировать: О, и еще одна огромная вещь, о которой я забыл упомянуть в первый раз, — пока нет поддержки внешних дисков. Таким образом, WSL не может получить доступ к съемным носителям на USB или оптическим дискам, смонтированным в файловой системе Windows, — только к фиксированным дискам. Таким образом, программное обеспечение для создания образов дисков, хотя технически оно и «работает», может работать только с данными, уже перемещенными в вашу систему Windows.

Но с учетом всех этих предостережений… какая разница, что, по словам Microsoft, должно произойти? Что он на самом деле делает? Что работает, а что нет? Я просмотрел подробный список инструментов командной строки, которые использовались или преподавались в течение последних нескольких лет на наших курсах MIAP (в основном, сохранение видео, цифровое сохранение и работа со сложными медиафайлами), а также несколько инструментов, которые я лично считаю полезными. Во-первых, я хотел посмотреть, установлены ли они вообще, и если да, я бы попробовал пару самых основных команд этой программы, почти ничего в виде флагов или опций. На самом деле я не пытался проводить стресс-тестирование этих приложений, просто проверил, могут ли они действительно установить и получить доступ к файловой системе Windows способом, знакомым пользователям Mac/Linux.

*Привет, Баш, мой единственный друг / Я снова пришел с тобой в «кошку»*

Прежде чем я начну изложение, примечание об использовании Bash в Ubuntu в Windows, если интересно. Вот инструкции по установке и запуску подсистемы Windows для Linux — поскольку технически все это все еще находится в стадии бета-тестирования, вам необходимо активировать режим «разработчика». После установки и запуска ВСЕ эти приложения будут работать только через окно терминала Bash — вы не сможете получить доступ к подсистеме Linux и ко всему установленному на ней программному обеспечению из традиционной командной строки Windows. (Бывает и наоборот — вы не можете активировать свои приложения Windows из оболочки Bash. Все дело в доступе и работе с одними и теми же файлами из предпочитаемой вами среды командной строки.) И еще раз, фактическая версия Ubuntu в это подсистема 14.04 LTS, которая не является последней стабильной версией этой операционной системы. Таким образом, любое программное обеспечение, предназначенное только для работы с Ubuntu 16.04 или самой последней версией 16.10, не будет работать в подсистеме Windows.

Находясь в терминале Bash, вы можете получить доступ ко всем своим файлам, хранящимся в файловой системе Windows, перейдя в каталог «/mnt/»:

[cc lang="Bash"]$ cd /mnt/[/cc]

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

[cc lang="Bash"]/mnt/c/Users/your_user_name/Downloads[/cc] или

[cc lang="Bash"]/mnt/c/Users/your_user_name/Desktop[/cc] и т. д. и т. д.

И последнее предостережение: перетаскивание файла в терминал Bash для быстрого получения полного пути к файлу не работает. Это даст вам путь к файлу командной строки (например, «C:\Users\username\Downloads\file.pdf»), который оболочка Bash не может прочитать. Вам придется вручную ввести полный путь к файлу самостоятельно (по крайней мере, с помощью табуляции для автоматического заполнения имен каталогов/файлов все еще работает).

Программы, устанавливаемые с помощью Apt-Get:

  • багит-java
  • багит-питон
  • cdrdao
  • КламAV
  • ddrescue (установить с именем пакета «gddrescue», выполнить с помощью команды «ddrescue»)
  • ffmpeg (но НЕ ffplay)
  • git
  • магия изображения
  • md5deep
  • медиаинформация
  • MKVToolNix
  • Python/Python3/пип
  • Рубин/RubyGems
  • rsync
  • дерево

Установка с помощью утилиты Ubuntu «apt-get» — это, безусловно, самый простой и наиболее предпочтительный способ установки приложений в вашей подсистеме Linux. Это менеджер пакетов, который работает так же, как Homebrew на Mac, для тех, кто привык к этой системе: просто выполните

[cc lang="Bash"]$ sudo apt-get install nameofpackage[/cc]

и apt-get установит нужную программу, включая все необходимые зависимости (любые программные библиотеки или другие программные утилиты, необходимые для запуска программы). Как видите, WSL может работать со множеством полезных приложений: образы дисков (cdrdao, ddrescue), транскодеры (ffmpeg, imagemagick), сканирование на вирусы (ClamAV), утилиты файловой системы и метаданных (mediainfo, tree), хэш/контрольная сумма поколение (md5deep).

Windows 10!

Вы также можете получить дистрибутивы языков программирования, таких как Python и Ruby, и использовать их собственные менеджеры пакетов (pip, RubyGems) для установки дополнительных пакетов/библиотек/программ. Я попробовал это с Python, установив bagit-python (мой любимый вариант BagIt — см. этот предыдущий пост, чтобы узнать о разнице между bagit-python и программой bagit-java, которую вы получаете, просто запустив «apt-get bagit»), и с Ruby установив библиотеку Nokogiri и выполнив это небольшое упражнение по Ruby от Эшли Блюэр. (Я пробовал это раньше на Mac OSX, но знаете что, работает и на Windows через WSL!)

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

Кроме того, в то время как функции перекодирования и сбора метаданных (ffprobe) ffmpeg работают нормально, его встроенная команда воспроизведения мультимедиа (ffplay) не будет работать из-за вышеупомянутой проблемы с графическим интерфейсом (это связано с X11, оконной системой). которые Unix-системы используют для графического отображения, но пока не обращайте на это внимания). На самом деле, это зависит от того, как вы определяете «работу», потому что, хотя ffplay не будет правильно воспроизводить видео, он создаст для вас чертовски крутую текстовую графику в терминале Bash:

Программы, требующие более сложной установки:

  • bulk_extractor (требуется устаревший JDK)
  • exiftool
  • Флинт
  • медиаконх
  • Инструменты Sleuth Kit

Эти приложения нельзя установить с помощью пакета apt-get, но вы все равно можете запустить их, приложив немного дополнительных усилий, благодаря другим функциям Linux, таким как dpkg. Dpkg — это еще одна программа для управления пакетами. Она взята из Debian, операционной системы Linux, прямой (более удобной для пользователя) производной от которой является Ubuntu. Вы можете использовать dpkg для установки пакетов Debian (.deb) (например, CLI Mediaconch), хотя обратите внимание, что в отличие от apt-get, dpkg не устанавливает зависимости автоматически, поэтому вам может потребоваться найти другие библиотеки/пакеты для установите с помощью apt-get или dpkg до того, как желаемая программа действительно начнет работать (например, для Mediaconch вы должны просто сначала установить Mediainfo с помощью apt-get, чтобы убедиться, что у вас уже есть библиотека libmediainfo).

В WSL также есть утилиты автокомпиляции и автоматического создания полных дистрибутивов Linux, поэтому вы также можете использовать их для запуска таких пакетов, как The Sleuth Kit (набор инструментов для цифровой криминалистики) или Fslint (поиск дубликатов файлов). Лучшее решение — следовать любой документации по установке Linux для каждой из этих программ. Если у вас есть вопросы об устранении неполадок в конкретных программах, дайте мне знать, и я постараюсь помочь вам в этом.

Программы, которые не работают/не устанавливаются… Пока:

  • Архивоматика
  • Гаймагер
  • виртуальная запись

У меня не было никаких ожиданий, что эти программы будут работать, учитывая заявленные графические интерфейсы и веб-ограничения WSL, но я просто подтверждаю, что, насколько я могу судить, запустить их невозможно. У Гаймагера очевидная проблема с графическим интерфейсом/X11 (плюс неспособность распознавать внешние устройства в любом случае и общая дисфункция каталога /dev/). Команда vrecord еще не успешно установила на Linux, и WSL столкнется с проблемой графического интерфейса, даже если они выпустят версию для Linux. И веб-приложения определенно не являются моей сильной стороной, но в процессе длительных попыток установки Archivematica у WSL, похоже, возникли отдельные проблемы с Apache, uWSGI и NGINX. Это много работы по устранению неполадок, которая, вероятно, не закончится, поэтому лучше оставить ее в стороне.

На этом пока все. Мне любопытно, тестировал ли кто-нибудь еще WSL или есть какие-либо мысли о его возможной полезности для решения проблем совместимости. Есть ли какая-то причина, по которой мы не должны сейчас просто учить всех командам Bash??

Обновление (10/20): Итак, в тот самый день, когда я публикую это, Microsoft выпустила довольно серьезное обновление WSL с двумя основными эффектами: 1) новые установки WSL теперь будут Ubuntu 16.04 (Xenial), хотя существующие пользователи, такие как я, не будут автоматически обновляться с 14.04; и 2) интерфейсы командной строки Windows и Linux теперь имеют кросс-совместимость, поэтому вы можете запускать приложения Windows из терминала Bash и приложения Linux из командной строки или Powershell. Объедините это с комментарием ниже от Юана с инструкциями по фактическому запуску приложений Linux с графическим интерфейсом, и вы получите множество вариантов, которые можно продолжить здесь. Ищите новые посты в будущем! Эта подсистема явно намного мощнее, чем Microsoft изначально хотела показать.

Читайте также: