Разное

Яндекс каталог проверить тиц: Проверка ИКС(тИЦ) сайта | Контраст

04.06.2021

Содержание

Как проверить тИЦ сайта — Devaka SEO Блог

25.7К просмотров

Сегодня был апдейт тИЦ в Яндексе. Многие вебмастера кинулись проверять показатели тИЦ для своих сайтов. А это значит, что у каждого в закладках стоит какой-то инструмент, к помощи которого мы постоянно прибегаем в такие дни 🙂

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

1. Проверка тИЦ на кнопке Яндекса

http://yandex.ru/cycounter?devaka.ru

Вместо devaka.ru вставьте URL вашего сайта. Результирующий тИЦ увидите на красивой кнопочке, которую также можно вставить на свой сайт.

2. Проверка тИЦ в Яндекс-Каталоге

http://search.yaca.yandex.ru/yca/cy/ch/devaka.ru/

Вставьте вместо названия моего seo блога URL вашего сайта.

3. Инструмент от Александра Гоголева

В помощь вебмастеру от gogolev.net по-моему наиболее удобен в случае, когда надо проверить тИЦ и PageRank нескольких сайтов. Также там можно глянуть историю изменения тИЦ, если до этого были проверки.

4. Яндекс-Бар

Расширение для Mozilla Firefox, которое имеет в своем наборе инструмент для отображения тиц текущего сайта. Баром я не пользуюсь, так как он большей частью бесполезен, однако, в ряде случаев может оказать вам услугу.

Бар обращается к следующему урлу и получает XML ответ:

http://bar-navig.yandex.ru/u?ver=2&url=http://devaka.ru&show=1

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

5. Сайт-Аудитор от Ашманова

Site-Auditor позволяет проверять позиции сайта, а также показатели тИЦ и PageRank. Если вы им постоянно пользуетесь, то почему бы и не проверять тиц таким образом, не прибегая к другим инструментам.

6. SEObar

Тулбар для оптимизаторов SEObar также позволяет проверять тиц, будучи установленным в браузер Firefox или IE. Помимо проверки пузомерок seobar может показывать много другой полезной информации.

7. Сервис PR-CY

http://www.pr-cy.com.ua/?who=devaka.ru

Анализирует сайт, приводит ряд параметров, в том числе и тИЦ. Удобен для анализа, но для быстрой проверки тИЦ, на мой взгляд, не очень. Говорят, также, что панель от pr-cy.ru очень удобна, но почему-то в такие дни она “лежит”.

Панель маулнета. О ней дважды упомянули в твиттере. На мой взгляд неудобна, так как требует регистрации и оплаты.

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

Как проверить тИЦ сайта

Начинающие вебмастера довольно быстро узнают о таком базовом показателе популярности ресурса, как тИЦ – Тематический Индекс Цитирования. Этот показатель используется поисковиком «Яндекс» для подсчета авторитетности сайта. 

Значение индекса является численным выражением того, насколько конкретный сайт в интернете популярен среди прочих ресурсов. Иначе говоря, как часто на его домен ссылаются другие сайты, на которых представлена информация соответствующей тематики. 

Для чего нужен индекс цитирования

Поисковая система использует множество достаточно сложных алгоритмов, которые занимаются оценкой полезности ресурса для конечного пользователя. Признание со стороны «коллег» по контентной нише, сигнализирует о том, что сайт содержит тематическую информацию. Частота цитирования может свидетельствовать о наличии уникального контента. Последнее позволяет роботам поисковика рассматривать сайт как «полезный источник». При повышении ТИЦ увеличивается  авторитет сайта.

Как определить ТИЦ сайта

Проверяем ТИЦ своего сайта

  • Для того, чтобы узнать индекс цитирования своего вебсайта  нужно поместить на него счетчик от самого сервиса, который его рассчитывает. На специальной кнопке будет отображаться числовое значение, которое может составлять 0, 10, 1000 и т.д. Заглянув на свой ресурс, Вы сразу увидите, точное значение, рассчитанное алгоритмами Яндекса.

Скопировать код для кнопки можно здесь: https://yandex.ru/support/catalogue/citation-index/tic-button.xml 

Узнаём ТИЦ чужого ресурса

Иногда появляется необходимость определить ТИЦ своего или сторонних ресурсов без установки кнопки. Некоторые сайты не спешат обнародовать соответствующую информацию.

В таких случаях можно использовать несколько вариантов:

  • Зайти в Яндекс.Каталог – если нужный сайт добавлен в его списки, то индекс цитирования отображается рядом с его кратким описанием;
  • Сделать запрос по адресу https://yandex.ru/yaca/cy/ch/домен_сайта. Важно понимать, что ТИЦ будет показан исключительно в том случае, если он превышает значение 10, до этого отследить изменения будет фактически невозможно;

    В скором времени разработчики Яндекс.

    Браузера пообещали добавить новый элемент в этот проводник по интернету, который будет автоматически показывать индикатор тИЦ при условии, что он равен либо превышает 10.

  • Воспользоваться сервисами, которые запрашивают статистику из баз данных поисковика. Зачастую их использование платно, но многие предоставляют возможность сделать «пробные» запросы. Например, сервисы pr-cy.ru полностью бесплатен для неограниченного числа проверок, а сервис xtool.ru позволяет сделать 10 бесплатных анализов любых адресов.


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

 


Что такое Тиц и Виц сайта в Яндексе, как их узнать и проверить, массовая проверка Пр и апдейты индекса цитирования

24 января 2021

  1. Что такое Виц и Тиц (индексы цитирования Яндекса)
  2. Зачем повышать и наращивать индекс цитирования
  3. Как проверить (узнать) Тиц и Пр сайта
  4. Счетчики, информеры и кнопки с Тиц и ПР сайта
  5. Что такое апдейт и как проверить был ли ап Тиц

Приветствую вас, уважаемые читатели блога KtoNaNovenkogo. ru. В своих статьях я довольно часто упоминал такие показатели, как Тиц и PR (тут про PageRank читайте). В общих чертах, наверное, всем понятно, что чем выше эти показатели (довольно часто их называют пузомерками) для вашего ресурса, тем лучше.

Бесспорно это так, но все же нужно знать и понимать, как проверить Тиц и ПР для своего или чужого сайта, как их поднять (увеличить), что такое апдейт (ап) индекса цитирования и как часто они происходят.

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

В отличии от показателей индекса цитирования и PR, для Alexa Rank важно узнать не как его поднять, а, наоборот, как его опустить. Дело в том, что он отражает позицию вебсайта в рейтинге в зависимости от его посещаемости.

Следовательно, на первом месте будет самый посещаемый ресурс, и показатель Alexa у него будет равен 1.

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

Для рунета Alexa не является таким серьезным показателем продвижения сайта, как Тиц или ПейджРанк, но тем не менее в этой статье мы подробно рассмотрим вопросы, связанные со всеми тремя показателями продвижения сайта (читайте про самостоятельную раскрутку) и узнаем, как и где их можно посмотреть, а так же поговорим о том, как их можно поднять и отследить их апдейты.

Что такое Виц и Тиц (индексы цитирования Яндекса)

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

Это еще далеко не Пр и Тиц, но именно с такой схемы все начиналось. Но в этом случае оказалось достаточно создать ресурс на несколько тысяч страниц и сослаться со всех них на продвигаемый документ, и вот вы уже имеете ИЦ выше, чем у признанных метров.

Чтобы избежать такого казуса был разработан принцип взвешенного индекса цитирования, который получил еще название PageRank или применительно к Яндексу — Виц (взвешенный индекс цитирования).

ВИЦ учитывает не только количество ссылок, входящих на данную страницу, но и учитывает тот вес, который передается по каждой из этих ссылок. Виц или Пр (его аналог в поисковой системе Google) позволяют учесть тот факт, что ссылка идет с очень трастового и авторитетного ресурса интернета или же она проставлена с только что созданной и не имеющей никакого статического веса страницы.

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

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

Однако, невозможность проверки реальных значения Виц и Пр не изменяет принципа их учета. У всех страниц в интернете, которые проиндексировали поисковая система Яндекс) и Google (тут его обзор и история создания Гугла), имеется определенное значение Виц и ПейджРанк (статический вес).

Если с этого документа ведут ссылки на другие документы в интернете, то по этим ссылкам передается часть статистического веса. Этот вес равномерно распределяется между всеми исходящими с документа ссылками. Т.о., чем выше был статвес у документа и чем меньше у него будет внешних ссылок, тем больший вес (реальные значения Pr и Виц) будет передан странице вашего сайта (по гиперссылке ведущей с того документа).

Зачем повышать и наращивать индекс цитирования

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

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

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

Величина Тиц для сайта может изменяться от нуля до своего максимального значения, которое сверху ничем не ограничено. Этот показатель продвижения зависит в основном от качественно-количественных показателей гиперссылок, которые проставлены на него с других ресурсов.

Под качеством здесь имеется в виду авторитет ресурса, с которого проставлена ссылка на ваш проект, а так же близость их тематики. Чем выше индекс цитирования вебсайта донора и ближе его тематика к вашей, тем большее значение вы сможете получить в очередной апдейт.

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

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

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

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

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

Ну, а если нам не светит в обозримом будущем такая перспектива, то получается, что знать и проверять значение этой пузомерки нам вовсе не обязательно, равно как и думать о том, как его можно повысить. Но это, конечно же, не так, особенно если вас интересует заработок на сайте. Одним из способов монетизации сайта является платное размещение на нем ссылок.

Обычно это делают через биржи (например, SAPE или TrustLink), либо через биржи рекламных обзоров и постовых (например, GoGetLinks, RotaPost, GetGoodLinks). Причем второй способ гораздо безопасней, т.к. за размещение ссылок с SAPE на своем веб проекте можно запросто угодить под бан Google или Яндекса, а размещать постовые и обзоры практически безвредно для вашего веб-проекта.

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

Как проверить (узнать) Тиц и Пр сайта

Вопрос, как определить Тиц и Пр сайта, возникает практически у всех начинающих вебмастеров сразу после того, как они узнают, что это такое и для чего они нужны. Как правило, поначалу вас будет ждать разочарование в виде нулевого значения, или, как пишет само зеркало рунета: «Индекс цитирования ресурса меньше 10».

Вообще самый простой и надежный способ проверить Тиц — это спросить у самого Яндекса. Для этого вам нужно будет добавить в адресную строку своего браузера следующий URL:

http://search.yaca.yandex.ru/yca/cy/ch/ktonanovenkogo.ru/

Только не забудьте заменить доменное имя «ktonanovenkogo.ru» на свое. Апдейт (читайте про все типы апдейтов Яндекса) индекса цитирования происходит примерно один раз в месяц или два. Как такового точного графика не существует. Как правило, ап приходит неожиданно, когда ты его совсем не ждешь (прямо-таки, как зима для наших коммунальных служб).

График предыдущих АП-ов вы можете изучить, например, здесь. Узнать пузомерки любого сайта можно на множестве онлайн сервисов, а так же можно использовать специальные Seo плагины для браузеров (читайте про дополнения для Opera здесь, про плагины для Мазилы тут, а про расширения для Гугл Хрома здесь, позволяющие проверить эти пузомерки, просто открыв нужную страницу в браузере.

Вот список онлайн сервисов, где вы сможете узнать и проверить Пр и Тиц:

  1. Pr-cy.ru/
  2. Xseo.in
  3. Be1.ru
  4. Proverim.net

Я брожу по интернету через браузер Opera и использую для него просто замечательной SEO плагин — SEObar. Он позволяет видеть показатели открываемых в браузере ресурсов, определять открыты ли обратные ссылки на странице и многое другое из области оценки успешности продвижения и раскрутки сайта.

В браузере FireFox я использую плагин под названием SEOBar (достаточно простой и без лишних наворотов):

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

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

Определить пузомерки можно так же и с помощью различных Seo программ, из которых я бы выделил отдельно Site-Auditor (здесь читайте про Сайт Аудитор и проверку позиций в нем).

Счетчики, информеры и кнопки с отображением Тица и ПРа вашего сайта

Ну и, конечно же, для того, чтобы посетители могли узнать накопленные вами пузомерки, можно установить на своем сайте специальный счетчик или информер. Самый очевидный способ — это «кнопка Яндекса», которая выглядит как денежная купюра с номиналом равным значению индекса цитирования вашего ресурса. Например, для моего блога такая кнопка имеет вид:

Получить код такой кнопки вы можете на этой странице, просто введя адрес вашего веб-проекта в одноименное поле и нажав на кнопку «Получить код». Выглядеть он будет примерно так:

<a href="http://yandex.ru/cy?base=0&amp;host=https://ktonanovenkogo.ru/"><img src="http://www.yandex.ru/cycounter?https://ktonanovenkogo.ru/" border="0" /></a>

Вы можете вставить этот код кнопки (счетчика) в нужное место шаблона вашего web проекта. А заключив его в теги DIV и прописав в нем атрибут CLASS с названием параметра, вы можете затем его позиционировать с помощью свойств CSS относительно соседних элементов шаблона.

Например:

<div><a href="http://yandex.ru/cy?base=0&amp;host=https://ktonanovenkogo.ru/"><img src="http://www.yandex.ru/cycounter?https://ktonanovenkogo.ru/" border="0" /></a></div>

а в файле CSS для вашего шаблона оформления можно вставить свойства для данного класса:

. tic {
float:right;
	margin: 5px 40px 5px 0px;
}

В результате получится примерно такой код счетчика:

Поясню CSS свойства для класса tic:

  1. float:right; (здесь читайте про Float и clear в CSS) — заставляет данный блок с кнопкой прижаться к соседнему элементу дизайна, расположенному справа.
  2. margin: 5px 40px 5px 0px; (читайте про padding, margin и border ) — задает отступ в пикселях данного блока с кнопкой относительно соседних блоков. Отступы перечисляются в таком порядке: сверху, справа, снизу, слева

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

Правда предварительно вам придется зарегистрироваться.

Вы так же можете воспользоваться услугами сервиса Wtools, где сможете настроить и получить код для счетчика Тица и Пиара. На странице мастера создания информера вам нужно будет указать Урл главной страницы, выбрать цветовую гамму для фона, его рамки и цвета шрифтов:

а затем скопировать получившийся код и вставить его в шаблон своего ресурса:

Что такое апдейт и как проверить был ли ап Тиц

Для начала давайте определимся, что это такое. Апдейт индекса цитирования представляет собой обычный пересчет этого параметра для всех ресурсов, проиндексированных Яндексом. Причем, как говорят, суммарное значение индекса до и после апдейта остается неизменным. Т.е. получается, что идет просто перераспределение Тиц между всеми ресурсами в интернете во время очередного апа.

Что касается апдейта Pr, то он происходит пореже, но это касается именно тулбарного значения, которое мы можем узнать и проверить описанными выше способами. А вот ап реального значения ПейджРанка происходит практически постоянно (возможно, что раз или несколько раз в день). Google все же обладает гораздо большими вычислительными мощностями, нежели зеркало рунета.

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

Как узнать, был ли апдейт Тиц, Пр или поисковой выдачи? В принципе, довольно хорошим индикатором может служить самый популярный форум оптимизаторов — Searchengines. На этом форуме есть отдельные ветки, в которых обязательно будет обсуждаться последний апдейт. Как только он произойдет, то в этих ветках сразу же появятся соответствующие темы.

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

Удачи вам! До скорых встреч на страницах блога KtoNaNovenkogo.ru

SEO | ООО «ОЙЛ-ТЕЛЕКОМ»

Список SE0 сервисов
Определение позиций в поисковиках

» http://www.mediaplaner.ru — русский сервис определения позиций во многих поисковых
системах (Yandex, Rambler, Rambler Top 100, Google, Aport, Mail, Web Alta, MSN,
Alta Vista, Yahoo).

» http://www.onlineseo.ru — русский сервис определения позиций в поисковых системах,
имеются возможности ведения отчетов по продвижению вашего сайта в поисковиках
и контроля ссылок.

» http://www.siteposition.ru — русский сервис контроля позиций сайтов в поисковых
запросах и рейтингах. Помогает определять позиции в поисковиках, отслеживать
их изменения, анализировать позиции одного или нескольких сайтов по конкретным
запросам и следить за динамикой позиционирования в выдаче результатов поиска.

» http://sitecreator.ru — русский сервис определения позиций во многих поисковых
системах (Yandex, Rambler, Meta.ua, Google, Aport, Mail, MSN, Yahoo). Имеется
возможность ведения отчетов.

» http://seo-monitor.ru — русский сервис определения и мониторинга позиций
сайтов в поисковых системах по заданным запросам. Система разделена на 2 независимых
сервиса: on-line сканер (предназначен для моментального определения позиции
вашего сайта в поисковых системах ) и off-line сканер (предназначен для мониторинга
положения вашего сайта в поисковых системах).

» http://www.goldposition.ru — русский интернет-сервис, призванный решить часто
встречаемую проблему среди веб-мастеров. Сервис позволяет узнать, на каких местах
находится интернет-сайт в ведущих российских и мировых поисковиках — Yandex,
Rambler, Google, Aport, Mail. Роботы сервиса регулярно сканируют информацию
и выявляют, на каких местах в поисковых результатах находится ваш ресурс, что
позволяет в перспективе: оценивать развитие ресурса, “признание” его популярности.

» http://www.seocompany.ca — буржуйский сервис определения позиций в Google
и Yahoo. Множество разнообразных сервисов и утилит.

» http://www.seodesign.ru — русский сайт, на котором можно найти такие утилиты:
определение характеристик групп доменов, whois, проиндексированные ссылки, определение
осмысленных 4-х и 5-и буквенных доменов.

» http://baza.garb.ru — русский сайт с набором разнообразных сео-скриптов, таких
как яндекс-аналитик и конвертор баз данных.

» http://www.seo-matik.ru — русский сайт с набором полезных сервисов, таких
как определение рейтинга в поисковых системах, регистрация в поисковиках, robots.txt
глазами яндекса, статистика запросов.

» http://seop.ru — русский сайт с огромным набором разнообразных утилит, таких
как определение позиций сайта, определение PR, популярность ссылок и многое
другое.

» http://seotools.altervision.ru — русский сайт с утилитами по определению позиций
вашего сайт в поисковиках, определения популярности запросов и многое другое.

» http://www.seochat.com — буржуйский сайт с действительно огромным количеством
полезных утилит: поиск ключевых слов, определение alexa rank, определение PR,
анализаторы мета тэгов и многое другое.

» http://webmastertools.narod.ru — русский сайт, находящийся на фрихосте, но
с достаточно хорошими утилитами: определение позиций в поисковиках, определение
Page Rank, подбор ключевых слов и многое другое.

» http://www.r-cat.info — русский сайт с набором промо сервисов для оптимизаторов:
определение позиций, добавление в поисковики, определение тИЦ и PR.

» http://www.top25web.com — буржуйский сайт, на котором можно найти такие утилиты:
определения PR, популярность ссылок, ip ping и многое другое.

» http://www.webuildpages.com — буржуйский сайт со сборником разнообразных бесплатных
утилит для оптимизаторов и web-мастеров.

» http://www.seologs.com — буржуйский сайт, на котором находится множетсво полезных
утилит и сервисов для продвижения.

» http://www.iwebtool.com — буржуйский сайт с набором наиболее часто используемых
сервисов для продвижения сайтов в иностранных и наших поисковых машинах.

» http://www.seo-tools.deria.ru — русский сайт, на котором можно найти такие
утилиты: проверка тИЦ и PR, а также позиций сайта в поисковых системах по заданным
запросам.

» http://www.intop20.com/ — выдача top50 c американского ip для (google,msn,
yahoo)

» http://www.raznoves.ru — русский сайт с огромным набором сервисов и утилит
для Яндекса, таких как парсер выдачи, определение ключевых слов, определение
позиций сайта, определение тИЦ, определение количества внешних ссылок и многое
другое. (new)

» http://www.iwebtool.com/search_engine_position- определение позиции сайта
в Гугле и Яху (new)

Анализ сайта

» http://www.yandextools.ru — Бесплатный Online-сервис для анализа конкуренции
в ПС Яндекс по заданному слову. Возможность анализа как TOP10, так и любого
сайта. Разделение ссылающихся страниц на главные и остальные. Определение типа
ссылающейся страницы (каталог, форум, доска и т.п.).

» http://netpromotion.ru — русский он-лайн сервис анализа вашего сайта. Показывает
индексированность вашего сайта, его видимость в поисковиках по запросам, определяет
тИЦ и PR, а также выполняет множетсво других функций. Жаль, что работает только
под Internet Explorer.

» http://www.seomozg.ru — русский он-лайн сервис глобального анализа вашего
сайта. Возможности: сводный анализ сайта, анализ ссылочного бюджета, мониторинг
параметров сайта. Сервис платный!

» http://www.yourcache.com — буржуйский сервис, показывающий, какие страницы
вашего сайта проиндексированы различными дата центрами поисковой системы Google.

» http://www.seoman.ru — русский он-лайн сервис анализа страниц сайта. Возможности:
камуфлирование по робота поисковой системы, анализ ссылок на странице и их индексация,
выявление наличия счетчиков и анализ robots.txt.

» http://promolab.ru — русский on-line сервис. Этот скрипт анализирует вашу
страницу на предмет ее видимости поисковой машиной, ключевых слов и заголовков.
В программе реализована поддержка псевдоморфологии, которая анализирует слова
в разных словоформах.

» http://www.stat.incomestudio.com — руский on-line сервис, который позволяет
посмотреть показатели сайта тИЦ, ПР, статистику по поисковикам Апорт, Яндекс,
Рамблер, Google, Yahoo. Сервис поможет оптимизаторам быстрее и легче продвигать
сайты в поисковых системах.

» http://www.giper.info — небольшой но функциональный набор инструментов, необходимых
при поисковой оптимизации сайтов.

» http://www.be1.ru — уникальный по возможностям и функционалу русский on-line
сервис, который позволит в кротчайшие сроки произвести анализ вашего сайта.

» http://linum.mohito.ru — русский сервис подсчета ссылок на странице, тИЦ сайта
и PR страниц.

» http://www.dinews.ru — русский он-лайн сервис со следующими возможностями:
анализатор страниц, беклинков, PR и тИЦ, проверка присутствия в Яндекс.Каталоге,
Рамблер-TOP-100 и DMOZ.

» http://www.promoting.ru — достаточно функциональный и многоплановый русский
он-лайн сервис для анализа вашего сайта.

» http://www.se-inspector.com — буржуйский он-лайн сервис по анализу вашего
сайта и анализу ключевых слов на его страницах.

» http://www.chelbis.ru — русский он-лайн сервис, который помож найти вам КПД
вашего сайта, и его функциональности в интернете.

» http://www.mcdar.net — буржуйский сервис, дающий удобное представление проиндексированных
Google страницы по различным датацентрам.

» http://www.way2seo.com — буржуйский сервис Google Datacenters Checker Tool
— индексированые страницы, бекварды и PR. Статистика по разным датацентрам.

» http://www.webtoolscafe.com — буржуйский сервис, который осуществляет проверку
количества страниц проиндексированных поисковыми системами: AllTheWeb, AltaVista,
Google, MSN Search, Yahoo.

» http://seanalyzer.ru — анализ выдачи Яндекса, анализ сайтов

» http://www.align.ru/ — WEB аналитик может собирать статистику по посещаемости
сайта за несколько прошлых месяцев, анализировать динамику изменения посещаемости,
сравнивать результаты посещаемости разных сайтов.

» http://seo-rus.com/ — Данный сервис позволяет узнать показатели: Индекс цитирования
(тИЦ), PageRank (PR), узнать кол-во ссылающихся сайтов по Яндекс и Google, получить
статистику по Яндекс, Rambler и многое другое.

» http://seolab.ru/add/header.htm — Сервис проверки HTTP-заголовков, отдаваемых
web-сервером (new)

» http://search.liveinternet.ru/cgi-bin/se/rate.pl — Оценка эффективности оптимизации
сайтов.

» http://www.ifstudio.org/seo/viewer.php — Инструмент позволяет вам увидеть
HTTP заголовок веб-страницы глазами поисковых роботов и браузеров (new)

» http://www.iwebtool.com/google_banned — проверка на бан в гугле

Анализ плотности слов

» http://vface.controlstyle.ru/ns.php — анализатор плотности слов, оценка “тошноты”
страницы (new)

» http://www.prosait.com/promotion — анализатор плотности слов

» http://www.ifstudio.org/seo/count.php Инструмент помогает определить в тексте
общее количество слов, предложений и символов, включая пробелы и запятые. Может
быть востребовано, к примеру, переводчиками или SEO-оптимизаторами.

» http://seo.bigli.ru/ — Определение плотности ключевых слов

Определение PR

» http://livepr.raketforskning.com — буржуйский сервис для определения Google
PR для страниц сайтов по дата центрам.

» http://dkameleon.com — буржуйский сервис для массового определения Google
PR.

» http://www.pageranktool.net — буржуйский сервис для определения Google PR
для страниц сайтов.

» http://www.iwebtool.com — буржуйский сервис для определения ПР страниц вашего
сайта.

» http://www.rus-forum.com — русский сервис для предсказания будущего Google
PR для любой страницы вашего сайта.

» http://www.futurepagerank.net — буржуйский сервис для предсказания будущего
Google PR для любой страницы вашего сайта.

» http://www.golubeff.ru — русский сервис по предсказанию будущего ПР указанной
страницы вашего сайта.

» http://www.seocompany.ca — сервис, содержащий информацию об истории апдейтов
Google Page Rank.

» http://linkclub.ru/pr.php — массовое определени PR

» http://pr-cy.ru/ — Проверка тИЦ и PR, счетчик определения тИЦ и PR.

» http://wtools.biz/ — ещё один хороший сервис для определения PR и тИЦ. Его
плюс в том, что его можо вписать в любой дизайн, плюс юзабилити сервиса на высоте.

» http://www.tm-research.com/products/tmwsa/google-site-analyzer.html — определение
ПР страниц

» http://www.iwebtool.com/pagerank_prediction- определение ПР

» http://www.iwebtool.com/multirank — мульти ПР чекинг

» http://www.iwebtool.com/visual_pagerank — определение ПР

» http://www.iwebtool.com/rank — определение ПР

» http://www.prsearch.net — определение ПР, позиций сайта и т.п.

Проверка тиц сайта яндекс

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

Индекс качества сайта – числовой показатель «полезности» от поисковой системы Яндекс (пришел на замену тИЦ). Высчитывается поисковиком на основе посещаемости, уровню доверия пользователей и других критериев.

Чтобы определить ИКС, введите список URL и нажмите «Проверить». Если хотите отсеять ресурсы с нулевым показателем, надо отметить соответствующий пункт.

Для начала советую ознакомиться со статьей: что такое тИЦ. А в этой статье мы рассмотрим все способы проверки тИЦ любого сайта.

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

Я выделил 7 самых популярных способов определения тИЦ.

7 способов узнать тИЦ

1. Проверить тИЦ через кнопки Яндекса

Яндекс предоставляет возможность установки специальной кнопки с тИЦ для сайта. Её ещё называют денежкой CY . Выглядит она примерно так:

Получить эту кнопку можно в хелпе Яндекса: http://help.yandex.ru/catalogue/? >

Без кнопки значение можно посмотреть через ссылку:

ВАШ_САЙТ.РУ – сюда надо указать адрес сайта URL без протокола http:// .

2. Проверка тИЦ Яндекс Каталог

Я использую этот способ чаще всего, поскольку если щелкнуть на тИЦ в Яндекс Баре, то страница ссылается на адрес из ЯК:

ВАШ_САЙТ.РУ – сюда надо указать адрес сайта URL без протокола http:// .

Здесь же указывается найден ли указанный сайт в Яндекс Каталоге.

Если вы увидите надпись » Индекс цитирования ресурса меньше 10 «, то это означает, что тИЦ сайта равен нулю. Это нормально. А вот если увидите надпись » Не определен «, то это значит, что сайт попал под АГС и его тИЦ искусственно обнулен.

3. Проверить тИЦ через Яндекс Вебмастер

Этот способ подойдет для проверки тИЦ на своих сайтах. Добавьте свой сайт в Яндекс Вебмастер. Далее на панели ваших сайтов в ЯВ можно сразу увидеть тИЦ и количество страниц в индексе для всех добавленных сайтов. Также здесь можно найти множество полезной информации о своем сайте. Например, посмотреть все входящие ссылки, посмотреть популярные запросы, найти ошибки на сайте и т.п.

4. Проверить тИЦ через Яндекс Бар (Яндекс Элементы)

В любой браузер можно установить специальное расширение – Яндекс Элементы . Раньше оно называлось Яндекс Баром (многие и сейчас его так называют). Например, я поставил их на браузер FireFox. Вот как это примерно выглядит.

Для настройки отображения тИЦ сайта, нужно зайти в настройки и сделать так, чтобы он показывался. По умолчанию тИЦ сайта не показывается. Вот краткая инструкция по добавлению вывода тИЦ в Яндекс Элементах:

5. Проверить тИЦ через плагин в браузере

Существует множество SEO плагинов (аддонов) для всех видов браузера. Наверное, самое широкое применение получил RDSBar . Он отображает множество параметров сайта при их открытии, в том числе и тИЦ.

Возможности плагина RDS гораздо более широки, чем банальная проверка тИЦ. Для использования всех возможностей необходимо создать аккаунт на официальном сайте RDS: www.recipdonor.com

Как я уже сказал существуют и другие популярные плагины: SeoQuake , Page Promoter и другие.

6. Проверить тИЦ через сторонние сервисы

Сторонние сервисы для анализа сайта предоставляют подробную информацию о сайте, в том числе и тИЦ. Все они бесплатные и их очень много. Перечислю самые распространенные:

Многие сервисы предоставляет возможность разместить на вашем сайте кнопочку с отображением тИЦ и PR. На мой взгляд, ставить подобные вещи на сайт нет никакой необходимости. Высоким значением тИЦ хвастаться не перед кем, а просто так нагружать свой сайт лишней информацией не имеет смысла.

7. Проверка тИЦ через программы на ПК

Например, программа RDS имеет небольшое приложение для ПК. Или Netpeak Spider , Erida .

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

О сервисе

Для повышения эффективности работы сайта необходимо постоянно проводить проверку его состояния. Анализ сайта помогает получить информацию о домене, посещаемости, проверить ИКС (тИЦ) сайта, проиндексированность в поисковых системах и сравнить свой сайт с конкурентами в выдаче.

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

Откуда сервис берет данные?

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

Онлайн анализ сайта и другие наши инструменты для вебмастера используют данные сервисов Similarweb, Megaindex, API Яндекса, Google, Liveinternet, Alexa, Linkpad, MajesticSEO и многих других. Все это позволяет получать качественные данные, и с помощью нашего программного обеспечения обрабатывать их для вас.

что это такое, как узнать тематический индекс цитирования сайта, принцип расчета показателя

Если говорить про показатели сайта, то одним из первых, на который стоит обратить внимание, будет тИЦ сайта. Также как и PR, этот показатель является одним из основополагающих показателей, говорящих об успешности продвижения сайта.

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


Индекс цитирования сайта — что это?

Аббревиатура тИЦ расшифровывается как тематический индекс цитирования сайта, который определяется количеством и качеством ресурсов, которые ссылаются на ваш сайт. Причем индекс цитирования сайта обеспечивается только ссылками с тематических ресурсов и значимость от ссылок с разных сайтов тоже является различной. Чем большим показателем тИЦ обладает ресурс, на котором находится ссылка на ваш проект, тем более он представляется полезным для тИЦ Яндекса вашего сайта.

Как появился показатель индекс цитирования Яндекса

Изначально показатель тИЦ появился в 1997 году благодаря поисковой системе Яндекс, которая разработала алгоритм расчета ссылок с внешних ресурсов. Этот алгоритм предполагал наличие специальной формулы, которая опирается не только на количество ресурсов, но и на их качество, которое определяется различными показателями.

Как рассчитывается тИЦ

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

Влияние показателя тИЦ на сайт

Некоторые начинающие вебмастера полагают, что индекс цитирования Яндекса влияет на ранжирование в поисковой выдаче. Это абсолютно ошибочное мнение, сегодня поисковые машины не обращают никакого внимания на величину этого показателя.

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

Также тИЦ сайта имеет значение при определении цены ссылок с вашего ресурса. К примеру, при работе с такой популярной биржей ссылок, как sape.ru, с сайта, на котором находится около пятисот страниц и показатель тИЦ которого имеет значение от 0 до 10, можно зарабатывать примерно 0,5-2 доллара в сутки. Но если увеличить показатель тИЦ такого ресурса до 100, то можно получать прибыль размером от 10 долларов в сутки.


Как увеличить индекс цитирования сайта Яндекса

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

Наращивать тИЦ можно самостоятельно, обмениваясь ссылками с владельцами сайтов, тематика которых совпадает с тематикой вашего сайта. Такой обмен выгоден обеим сторонам, поэтому многие владельцы сайтов охотно идут на такие меры. При этом, конечно, желательно, чтобы ваш сайт был выполнен на достаточно достойном уровне, иначе владельцы других сайтов вряд ли захотят меняться с вами ссылками. А если и захотят, то кликнувшие ссылку посетителя навсегда могут уйти к вашему конкуренту, который больше времени уделяет качеству своего ресурса. Также и вам не стоит выбирать для обмена некачественные сайты (с неуникальным контентом, поисковым спамом, обилием рекламы), поскольку это не окажет нужного эффекта на увеличение показателя тИЦ.

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

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

  • Sape;
  • GoGetlinks;
  • Блогун;
  • MainLink;
  • GetGoodLinks.

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

Проверяем склейку домена в яндекса!

Facebook

Twitter

Вконтакте

Google+

И так сегодня я хочу рассказать Вам о том как проверить домен на клей в Яндексе.

Вроде бы все банально просто, но у многих новичков возникает такой вопрос. Особенно многие попадают на такую удочку, что им предлагают купить домены с тИЦ по средней или минимальной цене.

Например с тИц 750 предлагают купить домен всего за 50 баксов. Согласитесь заманчиво? И почему у всех на уме крутиться одна безумная МЫСЛЯ, что автор который продает домен с таким тИЦ по такой низкой цене просто чайник.А значит на нем нужно навариться, а в итоге получается все с точностью наоборот.

В этом посте я хочу обратить внимание и возможно защитить Вас от таких махинаций, тем самым сохранить ваши кровные.

Клей доменов проверить можно всего за ОДНУ минуту, причем делать это я советую вручную.Есть множество сервисов основная задача которых проверка домена на клей, но лучше проверить все вручную и увидеть все своими глазами, чем потом винить себя за ошибку в каком-то сервисе. Хотя идеальный вариант проверить в нескольких местах, но самый правильный нам покажет сам яндекс. Приступим…

Проверка домена на клей

Первая ошибка новичков состоит в том, что они проверяют домены на клей через каталог яндекса.Например по такому адресу http://search.yaca.yandex.ru/yca/cy/ch/picicar.ru/ (URL можете заменить на свой) и если по этой ссылки перейти то мы увидим такую картину:

Интересно правда? Как у такого домена на рисовался такой красивый тИЦ? И вроде бы нет ничего подозрительного, пишется что данный сайт не описан в каталоге и URL тот же. Вот это и есть большая ошибка новичков!!!!

Правильная проверка домена на клей должна происходить не яндекс.каталоге, а в тулбаре.

Для этого используем такой адрес «http://bar-navig.yandex.ru/u?ver=2&url=http://picicar.ru&show=1» (Адрес сайта можете заменить на свой, только Http:// оставьте). И что же мы видим?

Видно что в адресной строке один сайт, а на самом деле он склеен с доменом insales.

Таким образом мы узнали что домен склеен и никому и даром не нужен!

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

Спасибо за внимание, с уважением Александр Василенко!

Обратите внимание на посты:

3.6.2. Правила добавления атрибутов к локациям (организациям)

u Торговые центры 9005
08
государственные учреждения и органы власти Военная служба комендатура 900 08 900 900 автомобильные аксессуары ts 0006

006 Фитнес-центры

0006 Инфраструктура игровых автоматов и парков 0004 Бизнес и услуги Билеты на общественный транспорт Баня, сауна 900 08

08

9109 в отделении багажа
Здравоохранение Медицинское учреждение
Больница, поликлиника
Аптека
Стоматология
Ветеринарная поликлиника Оптометрические кабинеты
Образование и наука Колледж, техникум
Детский сад, дневной уход
Начальная школа
Высшее образование
Библиотеки
Научно-исследовательское учреждение
Финансы Банк
Ломбарды
Банкоматы
Обмен валюты 900 05
Платежный киоск
Страхование
Аудит, финансы
Tax Free
Шоппинг Магазин
Терминалы самообслуживания, информационные центры
Фермерские рынки
Оптовые покупки
Строительный рынок, строительные материалы
Продуктовые магазины
3
Книжные магазины, школьные принадлежности
Антиквариат, искусство

Строительство, хозтовары

Техника, электроника
Спорт, т. ourism
Косметика, парфюмерия
Мебель, интерьер
Одежда, обувь, аксессуары
Ткани, товары для рукоделия
Детские товары
Ювелирные изделия
Подарки и сувениры
Интернет-магазин, пункт выдачи
Государственное Государственное учреждение
Суд, прокуратура
Правоохранительные органы, спецслужбы
Пожарно-спасательная служба
ЗАГС
Паспортные услуги ce
Коммунальные услуги, пункт оплаты ЖКХ
Пенсионное и социальное обеспечение
Налоговая инспекция
Военкомат, армия
Жилищно-коммунальные услуги
Почта, связь
Посольства, консульства, визовые центры
Дежурный на вокзале
9109
9109
Таможенный и миграционный контроль
Религия Церкви
Мечети
Синагога
Пагоды
Религиозные учреждения
Еда Услуги общественного питания
Кафетерий, фастфуд
Бар, пивной
Кофейня, чайная
Авто Транспорт, фрахт
АЗС
Пост ГАИ
Автосалоны, автосалоны
Автозапчасти, автосалоны
Автосервис, автомеханический центр
Ремонт шин
Мойка
Гаражные кооперативы
Школа водителей
Зона для вождения
Пункты технического осмотра
Спорт Спортивный комплекс
Стадионы, спортивные комплексы
Фитнес-центры
Горнолыжные склоны, горнолыжные курорты
Ипподром и сооружения для скачек
Скоростные трассы, ипподромы
Культура и досуг Культура и развлечения
общежитие
Пляж
Спа, оздоровительный центр
Детские лагеря
Зоопарк, дельфинарий
симв. л
Цирки
Кинотеатры
Музей, галерея, выставочный зал
Парк аттракционов, аттракционы
Культурные центры
Ночной клуб
Смотровая площадка
Памятник, скульптура
Аттракцион
Детская площадка
Спортивная площадка
Собачьи стоянки
Свалки
Прокат велосипедов
Велопарковка
Коммерческие организации, фирмы
Производственное здание, завод
Нотариус
Юристы, юридические услуги
Салон красоты, парикмахерская
, прачечные
Портняжные, ремонтные, бытовые услуги
Фото, полиграфические услуги
Сотовая связь
Турагентства
Похоронные услуги
Недвижимость
Управление отходами
Туалеты
Некоммерческое предприятие, организация
Бизнес-центры
Комната матери и ребенка
Туалет для инвалидов
Пальто
Зона для курения
Прокат инвалидных колясок
Станция зарядки телефона
Зона ожидания
9109 9109 9109
Выдача багажа
Регистрация негабаритного багажа
Выдача негабаритного багажа

Расположение и организация классификации — Редактор карт Яндекс.Справка

12.2.1. it-company
Компании технологической сферы, создающие, разрабатывающие и обслуживающие информационные системы.
12.1.2. PR-агентство
Агентства по связям с общественностью. Организации, которые пытаются сформировать благоприятное общественное мнение о продуктах, людях, компаниях или событиях.
12.1.3. Аутсорсинг

Компании, которые привлекают персонал к сторонним компаниям в основном в следующих областях: обслуживание ИТ-систем, управление персоналом, логистика, транспорт, уборка офиса, безопасность и производство.

12.1.4. Аэросъемка

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

12.1.5. Мастерская по обрамлению

Мастерские по обрамлению картин, плакатов, фотографий и зеркал.

12.1.6. Бизнес-консалтинг

Управленческий консалтинг в коммерческой, юридической, производственной, технической или исследовательской областях.

12.1.7. Рынок

Места, где можно обменять ценные бумаги (акции), валюты или товары.

12.1.8. Бюро переводов

Агентства, предлагающие услуги письменного и устного перевода между разными языками.

12.1.9. Дилинговый центр

Компании, организующие торги на валютном рынке.

12.1.10. Производство и ремонт музыкальных инструментов

Заводы музыкальных инструментов, мастерские по ремонту и настройке музыкальных инструментов.

12.1.11. Издательские услуги

Все виды издательств: книги, музыка, газеты и журналы, электронные издания и т. Д. Не путать со СМИ!

12.1.12. Иконная мастерская

Мастерские по изготовлению икон и иконостасов, а также по реставрации.

12.1.13. Интернет-провайдер

Организации, предоставляющие доступ в Интернет

12.1.14. Информационное агентство

Компании, предоставляющие информацию СМИ.Их основная функция — обеспечение оперативной информацией редакций газет, журналов, телеканалов и радиостанций. Составление и публикация новостей

12.1.15. Кадровое агентство

Агентства по подбору сотрудников для организаций.

12.1.16. Организация питания

Организация питания на выезде (включая питание и обслуживающий персонал).

12.1.17. Курьерская служба

Услуги по экспресс-доставке грузов и почты.Городской, пригородный, международный.

12.1.18. Маркетинговые услуги

Сбор, обработка и анализ данных о рынках, конкурентах, потребителях, ценах, в том числе планирование PR-мероприятий, организация презентаций и др.

12.1.19. Миграционные услуги

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

12.1.20. Охранное предприятие

Обеспечим охрану юридических и физических лиц (как частных, так и государственных организаций).

12.1.21. Holiday Agency

Агентства, организующие мероприятия.

12.1-22. Продюсерский центр

Услуги по производству театра, музыки, кино и других проектов.

12.1.23. Агентство по аренде

Пункты проката предметов домашнего обихода, техники, инструментов, аудио-видео, детских вещей, оборудования для туристов и спортсменов и др.

12.1.24. Радиокомпания

Компании, занимающиеся вещанием: радиостанции, радиопрограммы, радиоволны.

12.1.25. СМИ

Редакции газет и журналов.

12.1.26. Рекламное агентство

Рекламное агентство полного цикла

12.1.27. Реставрационная мастерская

Мастерские по реставрации антиквариата; произведения изобразительного, декоративно-прикладного искусства; мебель и др.

12.1.28. Студия дизайна

Общая категория для всех видов дизайна.

12.1-29. Студия звукозаписи

Специальные помещения, предназначенные для записи и обработки звука.

12.1.30. Телекомпания

Продюсеры телевизионных программ различных каналов.

12.1.01. Управляющая компания

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

12.1.32. Художественная мастерская

Мастерские, в которых создаются предметы искусства и ремесла.

12.1.33. Энергосбережение и энергоаудит

Организации, реализующие меры по энергосбережению и повышению эффективности.

12.1.34. Программное обеспечение

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

12.1.35. Стекольный цех

Мастерские по изготовлению изделий из стекла на заказ. Услуги по резке стекла.

12.1.36. Инкассация

Услуги по сбору и транспортировке наличных денег, доставка на места и управление.

12.1.37. Клининговые услуги

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

12.1.38. Кондиционеры

Продажа кондиционеров и сплит-систем.

12.1.39. Пункт пропуска, пост безопасности

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

12.1.40. Система противопожарной защиты

Компании, устанавливающие и обслуживающие системы пожарной сигнализации и пожаротушения.

12.1.41. Автоматизация производства

Компании, занимающиеся разработкой и внедрением автоматизированных систем управления производством.

12.1.42. кабельное телевидение

Провайдеры кабельного телевидения Спутниковое телевидение также разрешено в этой категории.

12.1.43. Системы безопасности и охраны

Организации, продающие системы охранной сигнализации, системы управления и другие типы систем безопасности.

12.1.44. Баллоны газовые

Продажа и заправка бытовых газовых баллонов.

rikkimongoose / ya-api-direct: Ruby-интерфейс для API Яндекс Директ

Ruby-интерфейс для API Яндекс Директ. Поддерживаются версии 4, 4 Live, 5.

Добро пожаловать в вашу новую жемчужину! В этом каталоге вы найдете файлы, необходимые для упаковки вашей библиотеки Ruby в гем.Поместите свой код Ruby в файл lib / ya / api / direct . Чтобы поэкспериментировать с этим кодом, запустите bin / console для получения интерактивной подсказки.

Установка

Добавьте эту строку в Gemfile вашего приложения:

А затем выполнить:

Или установите самостоятельно как:

  $ gem установить ya-api-direct
  

Использование

Требуется токен Яндекс OAuth3. Используйте omniauth-yandex для его получения. Установите его согласно следующему руководству: Rails Authentication with OAuth 2.0 и OmniAuth.

Методы вызова Яндекс Директ API 5:

 request = {
    "SelectionCriteria" => {
      "Типы" => ["TEXT_CAMPAIGN"]
    },
    "FieldNames" => ["Id", "Name"],
    "TextCampaignFieldNames" => ["BiddingStrategy"]
}

options = {токен: токен}
@direct = Ya :: API :: Direct :: Client.new (параметры)
json = @ direct.campaigns.get запрос 

Методы вызова из версий 4 и 4 Live:

 @direct = Ya :: API :: Direct :: Client.new ({токен: токен})
json = @direct.v4.GetCampaignsList 

Все имена контроллеров и методов совпадают с именами из справки Direct API. 4 vs 4 Live определяется автоматически.

Допустимые варианты:

  • токен: токен API Яндекс Директ. Обязательное поле.
  • app_id: Идентификатор приложения. Не требуется. Используется для Яндекс стат.
  • логин: логин приложения. Не требуется. Используется для Яндекс стат.
  • locale: Одна из локалей, поддерживаемых Яндекс API (en или ru).По умолчанию: en.
  • mode: Сервер API Яндекс Директ для отправки запросов (: песочница или production ). По умолчанию: : песочница .
  • кэш: отправить запрос кеширования после создания экземпляра. По умолчанию: true .
  • api: используется только для запроса кеширования (: v5 или: v4), по умолчанию: : v5 .
  • ssl: использовать SSL-соединение. По умолчанию: true .

Кэширование

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

 @direct = Ya :: API :: Direct :: Client.new ({token: Token, cache: false}) 

Дополнительную информацию о кешировании см. В руководствах Яндекса.

Дата, возвращаемая при первом вызове метода кеширования, сохраняется в свойстве cache_timestamp .

Единицы измерения

Данные единиц последнего запроса хранятся в свойстве units_data . В этом хэше 3 ключа:

  • just_used — единицы использовались последним запросом.
  • units_left — единиц осталось до текущего сеанса.
  • units_limit — лимит единиц за сеанс вашей учетной записи.

Добавлены только в Яндекс Директ API 5. Вызов методов из 4 или 4 Live их не обновляет.

Полезные ссылки

Развитие

После проверки репо запустите bin / setup , чтобы установить зависимости. Затем запустите rake test , чтобы запустить тесты. Вы также можете запустить bin / console , чтобы получить интерактивную подсказку, которая позволит вам поэкспериментировать.

Чтобы установить этот гем на локальный компьютер, запустите bundle exec rake install . Чтобы выпустить новую версию, обновите номер версии в version.rb , а затем запустите bundle exec rake release , который создаст тег git для версии, отправит коммиты и теги git и отправит .gem файл на rubygems.org.

Вклад

Отчеты об ошибках и запросы на вытягивание приветствуются на GitHub по адресу https://github.com/rikkimongoose/ya-api-direct.Этот проект задуман как безопасное и гостеприимное пространство для сотрудничества, и ожидается, что участники будут придерживаться кодекса поведения Contributor Covenant.

Лицензия

Драгоценный камень доступен как открытый исходный код в соответствии с условиями лицензии MIT.

Тестирование | Документация ClickHouse

  1. Разработка

Функциональные тесты

Функциональные тесты — самые простые и удобные в использовании. Большинство функций ClickHouse можно протестировать с помощью функциональных тестов, и они являются обязательными для использования при каждом изменении кода ClickHouse, которое может быть протестировано таким образом.

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

Тесты запросов находятся в каталоге . Есть два подкаталога: без сохранения состояния и с сохранением состояния . Тесты без сохранения состояния запускают запросы без каких-либо предварительно загруженных тестовых данных — они часто создают небольшие синтетические наборы данных на лету, в самом тесте. Для тестирования с отслеживанием состояния требуются предварительно загруженные тестовые данные из Яндекс.Метрики, и они доступны широкой публике.

Каждый тест может быть одного из двух типов: .sql и .sh . .sql test — это простой сценарий SQL, который передается по конвейеру clickhouse-client --multiquery --testmode . .sh test — это сценарий, который запускается сам по себе. Тесты SQL обычно предпочтительнее тестов .sh . Вы должны использовать .sh тесты только тогда, когда вам нужно протестировать какую-то функцию, которая не может быть реализована из чистого SQL, например, передача некоторых входных данных в clickhouse-client или тестирование clickhouse-local .

Выполнение теста локально

Запустите сервер ClickHouse локально, прослушивая порт по умолчанию (9000). Для
запустите, например, тест 01428_hash_set_nan_key , перейдите в папку репозитория
и выполните следующую команду:

  PATH = $ PATH: <путь к clickhouse-client> tests / clickhouse-test 01428_hash_set_nan_key
  

Дополнительные параметры см. В разделе tests / clickhouse-test --help . Вы можете просто запустить все тесты или запустить подмножество тестов, отфильтрованных по подстроке в имени теста: .Подстрока / clickhouse-test . Также есть возможность запускать тесты параллельно или в случайном порядке.

Добавление нового теста

Чтобы добавить новый тест, создайте файл .sql или .sh в каталоге query / 0_stateless , проверьте его вручную, а затем сгенерируйте файл .reference следующим образом: clickhouse-client -n --testmode <00000_test.sql> 00000_test.reference или ./00000_test.sh> ./00000_test.reference .

В тестах должны использоваться (создавать, отбрасывать и т. Д.) Только таблицы в базе данных test , которые предполагается создать заранее; также тесты могут использовать временные таблицы.

Выбор имени теста

Имя теста начинается с пятизначного префикса, за которым следует описательное имя, например 00422_hash_function_constexpr.sql . Чтобы выбрать префикс, найдите самый большой префикс, уже присутствующий в каталоге, и увеличьте его на единицу. Между тем, некоторые другие тесты могут быть добавлены с тем же числовым префиксом, но это нормально и не вызывает никаких проблем, вам не нужно его менять позже.

Некоторые тесты помечены как zookeeper , shard или long в своих именах. zookeeper предназначен для тестов, использующих ZooKeeper. осколок предназначен для тестов, требующих, чтобы сервер слушал 127.0.0. * ; распределенный или глобальный имеют то же значение. long — для тестов, которые длится немного дольше одной секунды. Вы можете отключить эти группы тестов с помощью параметров --no-zookeeper , --no-shard и --no-long соответственно.Обязательно добавьте правильный префикс к имени вашего теста, если ему нужен ZooKeeper или распределенные запросы.

Проверка на наличие ошибки, которая должна возникать

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

  select x; - {serverError 49}
  

Этот тест гарантирует, что сервер вернет ошибку с кодом 49 о неизвестном столбце x . Если ошибки нет или ошибка другая, тест не пройден.Если вы хотите убедиться, что ошибка возникает на стороне клиента, используйте вместо этого аннотацию clientError .

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

Тестирование распределенного запроса

Если вы хотите использовать распределенные запросы в функциональных тестах, вы можете использовать удаленную табличную функцию с 127.0.0. {1..2} адресов, по которым сервер запрашивает сам себя; или вы можете использовать предопределенные тестовые кластеры в файле конфигурации сервера, например test_shard_localhost . Не забудьте добавить слова сегмент или распределенный к имени теста, чтобы он запускался в CI в правильных конфигурациях, где сервер настроен для поддержки распределенных запросов.

Известные ошибки

Если нам известны ошибки, которые можно легко воспроизвести с помощью функциональных тестов, мы помещаем подготовленные функциональные тесты в каталог tests / query / bugs .Эти тесты будут перемещены в tests / query / 0_stateless , когда ошибки будут исправлены.

Интеграционные тесты

Интеграционные тесты позволяют тестировать ClickHouse в кластерной конфигурации и взаимодействие ClickHouse с другими серверами, такими как MySQL, Postgres, MongoDB. Они полезны для имитации разделения сети, отбрасывания пакетов и т. Д. Эти тесты выполняются под Docker и создают несколько контейнеров с различным программным обеспечением.

См. tests / integration / README.md , чтобы узнать, как запускать эти тесты.

Обратите внимание, что интеграция ClickHouse со сторонними драйверами не тестируется. Также в настоящее время у нас нет интеграционных тестов с нашими драйверами JDBC и ODBC.

Модульные тесты

Модульные тесты полезны, когда вы хотите протестировать не ClickHouse в целом, а отдельную изолированную библиотеку или класс. Вы можете включить или отключить сборку тестов с помощью опции ENABLE_TESTS CMake. Модульные тесты (и другие тестовые программы) расположены в подкаталогах tests по всему коду.Чтобы запустить модульные тесты, введите ninja test . В некоторых тестах используется gtest , но некоторые — просто программы, возвращающие ненулевой код выхода при ошибке теста.

Необязательно иметь модульные тесты, если код уже охвачен функциональными тестами (а функциональные тесты обычно намного проще в использовании).

Тесты производительности

Тесты производительности позволяют измерить и сравнить производительность некоторой изолированной части ClickHouse по синтетическим запросам. Тесты расположены по адресу tests / performance .Каждый тест представлен файлом .xml с описанием тестового примера. Тесты выполняются с помощью инструмента docker / tests / performance-compare . См. Файл readme для вызова.

Каждый тест запускает один или несколько запросов (возможно, с комбинациями параметров) в цикле. Некоторые тесты могут содержать предварительные условия для предварительно загруженного набора тестовых данных.

Если вы хотите улучшить производительность ClickHouse в каком-либо сценарии, и если улучшения наблюдаются в простых запросах, настоятельно рекомендуется написать тест производительности.Во время тестирования всегда имеет смысл использовать perf top или другие инструменты perf.

Некоторые программы в каталоге tests не являются подготовленными тестами, а являются инструментами тестирования. Например, для Lexer существует инструмент src / Parsers / tests / lexer , который просто выполняет токенизацию stdin и записывает раскрашенный результат в stdout. Вы можете использовать такие инструменты в качестве примеров кода, а также для исследования и ручного тестирования.

Разные тесты

В tests / external_models есть тесты для машинного обучения.Эти тесты не обновляются и должны быть перенесены в интеграционные тесты.

Существует отдельный тест для вставок кворума. Этот тест запускает кластер ClickHouse на отдельных серверах и имитирует различные случаи сбоя: разделение сети, отбрасывание пакетов (между узлами ClickHouse, между ClickHouse и ZooKeeper, между сервером ClickHouse и клиентом и т. Д.), kill -9 , kill -STOP и kill -CONT , как у Джепсена. Затем тест проверяет, что все подтвержденные вставки были записаны, а все отклоненные вставки — нет.

Тест кворума был написан отдельной командой до того, как ClickHouse был открыт. Эта команда больше не работает с ClickHouse. Тест был случайно написан на Java. По этим причинам проверка кворума должна быть переписана и перенесена в интеграционные тесты.

Ручное тестирование

При разработке новой функции целесообразно также протестировать ее вручную. Вы можете сделать это, выполнив следующие действия:

Создайте ClickHouse. Запустите ClickHouse из терминала: перейдите в каталог programs / clickhouse-server и запустите его с помощью ./ clickhouse-server . По умолчанию он будет использовать конфигурацию ( config.xml , users.xml и файлы в каталогах config.d и users.d ) из текущего каталога. Чтобы подключиться к серверу ClickHouse, запустите программы / clickhouse-client / clickhouse-client .

Обратите внимание, что все инструменты clickhouse (сервер, клиент и т. Д.) Являются просто символическими ссылками на один двоичный файл с именем clickhouse . Вы можете найти этот двоичный файл по адресу programs / clickhouse .Все инструменты также могут быть вызваны как clickhouse tool вместо clickhouse-tool .

В качестве альтернативы вы можете установить пакет ClickHouse: либо стабильную версию из репозитория Яндекса, либо вы можете собрать пакет для себя с ./release в корне исходных текстов ClickHouse. Затем запустите сервер с sudo service clickhouse-server start (или остановите, чтобы остановить сервер). Поищите журналы по адресу /etc/clickhouse-server/clickhouse-server.log .

Когда ClickHouse уже установлен в вашей системе, вы можете создать новый двоичный файл clickhouse и заменить существующий двоичный файл:

  $ sudo service clickhouse-server stop
$ sudo cp./ clickhouse / usr / bin /
$ sudo сервис clickhouse-server start
  

Также вы можете остановить системный clickhouse-server и запустить свой собственный с той же конфигурацией, но с логированием на терминал:

  $ sudo service clickhouse-server stop
$ sudo -u clickhouse / usr / bin / clickhouse server --config-file /etc/clickhouse-server/config.xml
  

Пример с gdb:

  $ sudo -u clickhouse gdb --args / usr / bin / clickhouse server --config-file / etc / clickhouse-server / config.xml
  

Если системный сервер clickhouse уже запущен и вы не хотите его останавливать, вы можете изменить номера портов в своем config.xml (или переопределить их в файле в каталоге config.d ), укажите соответствующий путь к данным и запустите его.

clickhouse двоичный файл почти не имеет зависимостей и работает с широким спектром дистрибутивов Linux. Чтобы быстро и тщательно протестировать свои изменения на сервере, вы можете просто scp свой недавно созданный двоичный файл clickhouse на свой сервер, а затем запустить его, как в примерах выше.

Тестовая среда

Перед публикацией стабильного релиза мы развертываем его в тестовой среде. Среда тестирования — это кластер, обрабатывающий 1/39 часть данных Яндекс.Метрики. Мы делимся своей тестовой средой с командой Яндекс.Метрики. ClickHouse обновляется без простоев поверх существующих данных. Сначала мы смотрим, что данные обрабатываются успешно, без отставания от реального времени, репликация продолжается, и команда Яндекс.Метрики не видит никаких проблем. Первую проверку можно выполнить следующим образом:

  SELECT hostName () AS h, any (version ()), any (uptime ()), max (UTCEventTime), count () FROM remote ('example01-01- {1..3} t ', объединение, совпадения) WHERE EventDate> = today () - 2 ГРУППА ПО h ORDER BY h;
  

В некоторых случаях мы также развертываем в тестовой среде наши команды друзей в Яндексе: Маркет, Облако и т. Д. Также у нас есть некоторые аппаратные серверы, которые используются для целей разработки.

Нагрузочное тестирование

После развертывания в тестовой среде мы запускаем нагрузочное тестирование с запросами из производственного кластера. Делается это вручную.

Убедитесь, что вы включили query_log в производственном кластере.

Сбор журнала запросов за день или более:

  $ clickhouse-client --query = "ВЫБРАТЬ РАЗЛИЧНЫЙ запрос ИЗ system.query_log ГДЕ event_date = today () И запросить КАК '% ym:%' И запрос НЕ НРАВИТСЯ ' % system.query_log% 'AND type = 2 AND is_initial_query "> query.tsv
  

Это довольно сложный пример. type = 2 отфильтрует успешно выполненные запросы. запрос LIKE '% ym:%' предназначен для выбора релевантных запросов из Яндекс.Метрики. is_initial_query предназначен для выбора только запросов, инициированных клиентом, а не самим ClickHouse (как часть распределенной обработки запросов).

scp этот журнал в тестовый кластер и запустите его следующим образом:

  $ clickhouse benchmark --concurrency 16  

(возможно, вы также захотите указать --user )

Затем оставьте его на ночь или на выходные и отправляйтесь отдыхать.

Вы должны убедиться, что clickhouse-server не дает сбоев, объем памяти ограничен, а производительность не снижается со временем.

Точное время выполнения запроса не записывается и не сравнивается из-за высокой изменчивости запросов и среды.

Тесты сборки

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

Примеры:
- кросс-компиляция для Darwin x86_64 (Mac OS X)
- кросс-компиляция для FreeBSD x86_64
- кросс-компиляция для Linux AArch64
- сборка на Ubuntu с библиотеками из системных пакетов (не рекомендуется)
- сборка с совместное связывание библиотек (не рекомендуется)

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

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

Мы также проверяем, что нет единиц трансляции, которые слишком длинные для компиляции или требуют слишком много ОЗУ.

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

Тестирование совместимости протоколов

Когда мы расширяем сетевой протокол ClickHouse, мы вручную проверяем, что старый клиент clickhouse работает с новым сервером clickhouse, а новый клиент clickhouse работает со старым сервером clickhouse (просто путем запуска двоичных файлов из соответствующих пакетов).

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

Справка от компилятора

Основной код ClickHouse (который находится в каталоге dbms ) создается с помощью -Wall -Wextra -Werror и некоторых дополнительных включенных предупреждений. Хотя эти параметры не включены для сторонних библиотек.

Clang имеет еще более полезные предупреждения - вы можете найти их с помощью -Weverything и выбрать что-нибудь для сборки по умолчанию.

Для производственных сборок используется clang, но мы также тестируем сборки make gcc.Для разработки обычно удобнее использовать clang. Вы можете создать на своем собственном компьютере в режиме отладки (для экономии заряда батареи вашего ноутбука), но обратите внимание, что компилятор может генерировать больше предупреждений с -O3 из-за лучшего потока управления и межпроцедурного анализа. При сборке с clang в режиме отладки используется отладочная версия libc ++ , что позволяет выявлять больше ошибок во время выполнения.

Sanitizers

Address sanitizer

Мы запускаем функциональные, интеграционные, стрессовые и модульные тесты под ASan для каждой фиксации.

Средство для дезинфекции потоков

Мы запускаем функциональные, интеграционные, стрессовые и модульные тесты под TSan для каждой фиксации.

Средство очистки памяти

Мы запускаем функциональные, интеграционные, стрессовые и модульные тесты под MSan для каждой фиксации.

Средство очистки неопределенного поведения

Мы запускаем функциональные, интеграционные, стрессовые и модульные тесты под UBSan для каждой фиксации. Код некоторых сторонних библиотек не дезинфицирован для UB.

Valgrind (Memcheck)

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

Фаззинг

Фаззинг в ClickHouse реализован как с использованием libFuzzer, так и с использованием случайных SQL-запросов.
Все тесты фаззинга должны выполняться с помощью дезинфицирующих средств (Address и Undefined).

LibFuzzer используется для изолированного нечеткого тестирования библиотечного кода. Фаззеры реализованы как часть тестового кода и имеют постфиксы имени «_fuzzer». Пример
Fuzzer можно найти по адресу src / Parsers / tests / lexer_fuzzer.cpp . Конфиги, словари и корпус, специфичные для LibFuzzer, хранятся по адресу tests / fuzz .
Мы рекомендуем вам написать нечеткие тесты для каждой функции, которая обрабатывает ввод данных пользователем.

Фаззеры по умолчанию не строятся. Для построения фаззеров должны быть установлены обе опции -DENABLE_FUZZING = 1 и -DENABLE_TESTS = 1 .
Мы рекомендуем отключить Jemalloc при построении фаззеров. Конфигурацию, используемую для интеграции фаззинга ClickHouse в
Google OSS-Fuzz, можно найти по адресу docker / fuzz .

Мы также используем простой тест фаззинга для генерации случайных SQL-запросов и проверки того, что сервер не умирает, выполняя их.
Вы можете найти его в 00746_sql_fuzzy.pl . Этот тест следует проводить непрерывно (всю ночь и дольше).

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

Стресс-тест

Стресс-тесты - еще один случай фаззинга. Он запускает все функциональные тесты параллельно в случайном порядке на одном сервере. Результаты тестов не проверяются.

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

Существует пять вариантов (Debug, ASan, TSan, MSan, UBSan).

Thread Fuzzer

Thread Fuzzer (пожалуйста, не путайте с Thread Sanitizer) - еще один вид фаззинга, который позволяет рандомизировать порядок выполнения потоков. Это помогает найти еще больше частных случаев.

Аудит безопасности

Сотрудники службы безопасности Яндекса проводят базовый обзор возможностей ClickHouse с точки зрения безопасности.

Статические анализаторы

Мы запускаем clang-tidy и PVS-Studio для каждой фиксации. clang-static-analyzer также включены проверки. clang-tidy также используется для некоторых проверок стиля.

Мы оценили clang-tidy , Coverity , cppcheck , PVS-Studio , tscancode , CodeQL . Вы найдете инструкции по использованию в каталоге tests / instructions / . Также вы можете прочитать статью на русском языке.

Если вы используете CLion в качестве IDE, вы можете использовать несколько clang-tidy прямо из коробки.

Мы также используем shellcheck для статического анализа сценариев оболочки.

Укрепление

В отладочной сборке мы используем настраиваемый распределитель, который выполняет ASLR для распределений на уровне пользователя.

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

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

Отладочные утверждения широко используются.

В отладочной сборке, если выбрасывается исключение с кодом «логической ошибки» (подразумевает ошибку), программа преждевременно завершается. Это позволяет использовать исключения в сборке релиза, но сделать это утверждением в сборке отладки.

Отладочная версия jemalloc используется для отладочных сборок.
Отладочная версия libc ++ используется для отладочных сборок.

Проверки целостности во время выполнения

Данные, хранящиеся на диске, имеют контрольную сумму. Данные в таблицах MergeTree суммируются тремя способами одновременно * (сжатые блоки данных, несжатые блоки данных, общая контрольная сумма по блокам).Данные, передаваемые по сети между клиентом и сервером или между серверами, также проверяются контрольной суммой. Репликация обеспечивает битовую идентичность данных на репликах.

Требуется защита от неисправного оборудования (битовое гниение на носителе, переключение битов в ОЗУ на сервере, переключение битов в ОЗУ сетевого контроллера, переключение битов в ОЗУ сетевого коммутатора, переключение битов в ОЗУ клиента, переключение битов на провод). Обратите внимание, что переключение битов является обычным явлением и может произойти даже для ОЗУ с ECC и при наличии контрольных сумм TCP (если вам удастся запустить тысячи серверов, обрабатывающих петабайты данных каждый день).Смотрите видео.

ClickHouse обеспечивает диагностику, которая поможет инженерам по эксплуатации найти неисправное оборудование.

* и он не медленный.

Стиль кода

Здесь описаны правила стиля кода.

Чтобы проверить некоторые общие нарушения стиля, вы можете использовать сценарий utils / check-style .

Чтобы задать правильный стиль вашего кода, вы можете использовать clang-format . Файл .clang-формата находится в корне исходников.Это в основном соответствует нашему фактическому стилю кода. Но не рекомендуется применять clang-format к существующим файлам, поскольку это ухудшает форматирование. Вы можете использовать инструмент clang-format-diff , который вы можете найти в репозитории исходных текстов clang.

В качестве альтернативы вы можете попробовать инструмент uncrustify , чтобы переформатировать код. Конфигурация находится в uncrustify.cfg в корне исходного кода. Менее протестирован, чем clang-format .

CLion имеет собственное средство форматирования кода, которое необходимо настроить для нашего стиля кода.

Мы также используем кодовое слово для поиска опечаток в коде. Он также автоматизирован.

Metrica B2B Tests

Каждый релиз ClickHouse тестируется с помощью движков Яндекс Метрика и AppMetrica. Тестовые и стабильные версии ClickHouse развертываются на виртуальных машинах и запускаются с небольшой копией механизма Metrica, который обрабатывает фиксированный образец входных данных. Затем сравниваются результаты двух экземпляров движка Metrica.

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

Тестовое покрытие

Мы также отслеживаем тестовое покрытие, но только для функциональных тестов и только для clickhouse-server. Выполняется ежедневно.

Тесты для тестов

Существует автоматическая проверка на нестабильные тесты.Он запускает все новые тесты 100 раз (для функциональных тестов) или 10 раз (для интеграционных тестов). Если хотя бы один раз тест не прошел, он считается нестабильным.

Testflows

Testflows - это среда тестирования корпоративного уровня. Он используется Altinity для некоторых тестов, и мы запускаем эти тесты в нашем CI.

Яндекс Чеки (только для сотрудников Яндекса)

Эти проверки импортируют код ClickHouse во внутренний монорепозиторий Яндекса, поэтому кодовая база ClickHouse может использоваться в качестве библиотеки в других продуктах Яндекса (YT и YDB).Обратите внимание, что сам clickhouse-server не строится из внутреннего репо, а для приложений Яндекса используется немодифицированная сборка с открытым исходным кодом.

Автоматизация тестирования

Мы проводим тесты с внутренним CI Яндекса и системой автоматизации заданий «Песочница».

Задания сборки и тесты запускаются в песочнице для каждой фиксации. Полученные пакеты и результаты тестирования публикуются на GitHub и могут быть загружены по прямым ссылкам. Артефакты хранятся несколько месяцев. Когда вы отправляете запрос на перенос на GitHub, мы помечаем его как «можно протестировать», и наша система CI будет создавать для вас пакеты ClickHouse (выпуск, отладка, с очисткой адресов и т. Д.).

Мы не используем Travis CI из-за ограничений по времени и вычислительной мощности.
Мы не используем Jenkins. Он использовался раньше, и теперь мы счастливы, что не используем Jenkins.

Оригинальный артикул

Документация

Настроить

Сначала вам нужно настроить rclone. Как объектные системы хранения имеют довольно сложную аутентификацию, они хранятся в файле конфигурации. (См. Запись --config , чтобы узнать, как найти конфигурацию файл и выберите его расположение.)

Самый простой способ сделать конфиг - запустить rclone с конфигом. вариант:

  конфигурация rclone
  

Подробные инструкции для

см. Ниже.

Использование

Rclone синхронизирует дерево каталогов из одной системы хранения в другую.

Его синтаксис такой

  Синтаксис: подкоманда [параметры] <параметры> <параметры ...>
  

Исходный и целевой пути указаны по имени, которое вы дали система хранения в файле конфигурации, затем дополнительный путь, e.грамм. «drive: myfolder», чтобы просмотреть «myfolder» на Google диске.

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

Используйте флаг -i / --interactive , пока изучение rclone, чтобы избежать случайной потери данных.

Подкоманды

rclone использует систему подкоманд. Например

  rclone ls remote: path # перечисляет удаленный
rclone copy / local / path remote: path # копирует / local / путь к удаленному
rclone sync -i / local / path remote: path # syncs / local / путь к удаленному
  

Основные команды rclone с наиболее часто используемыми первыми

Полный список см. В указателе команд.

Копирование отдельных файлов

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

Например, предположим, что у вас есть пульт с файлом с именем test.jpg , тогда вы можете скопировать только этот файл, например, этот

  rclone copy remote: test.jpg / tmp / download
  

Файл test.jpg будет помещен в / tmp / download .

Это эквивалентно

  rclone copy --files-from / tmp / files remote: / tmp / download
  

Где / tmp / files содержит единственную строку

  test.jpg
  

При копировании отдельных файлов рекомендуется использовать copy , а не sync . У них почти такой же эффект, но копия будет использовать намного меньше объем памяти.

Синтаксис удаленных путей

Синтаксис путей, переданных команде rclone, следующий.

/ путь / к / каталог

Это относится к локальной файловой системе.

В Windows \ может использоваться вместо / в локальных путях только , нелокальные пути должны использовать /. См. Локальную файловую систему документацию для получения дополнительных сведений о путях, специфичных для Windows.

Эти пути не обязательно должны начинаться с ведущих / - в противном случае они будет относительно текущего каталога.

удаленный: путь / к / каталог

Это относится к каталогу путь / к / каталогу на удаленном компьютере : , как определено в файл конфигурации (настроен с помощью rclone config ).

удаленный: / путь / к / каталог

В большинстве бэкэндов это относится к тому же каталогу, что и удаленный: путь / к / каталогу и этот формат должен быть предпочтительным. На очень небольшое количество пультов (FTP, SFTP, Dropbox для бизнеса) обратитесь к другому каталогу. На этих дорожках без ведущего / будет ссылаться на ваш "домашний" каталог, а пути с начальными / будут относятся к корню.

: серверная часть: путь / к / каталогу

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

Вот несколько примеров:

  rclone lsd --http-url https://pub.rclone.org: http:
  

Чтобы вывести список всех каталогов в корне https: // pub.rclone.org/ .

  rclone lsf --http-url https://example.com: http: путь / к / каталогу
  

Для вывода списка файлов и каталогов в https://example.com/path/to/dir/

  rclone copy --http-url https://example.com: http: path / to / dir / tmp / dir
  

Для копирования файлов и каталогов из https://example.com/path/to/dir в / tmp / dir .

  rclone copy --sftp-host example.com: sftp: path / to / dir / tmp / dir
  

Для копирования файлов и каталогов из примера .com в относительной каталог путь / к / директории с по / tmp / dir с использованием sftp.

Соединительные шнуры

Приведенные выше примеры также можно записать с помощью строки подключения. синтаксис, поэтому вместо предоставления аргументов в виде командной строки параметры --http-url https://pub.rclone.org они предоставляются как часть удаленной спецификации в виде строки подключения.

  rclone lsd ": http, url = 'https: //pub.rclone.org':"
rclone lsf ": http, url = 'https: // example.com ': путь / к / каталогу "
rclone copy ": http, url = 'https: //example.com': path / to / dir" / tmp / dir
rclone copy: sftp, host = example.com: путь / к / каталогу / tmp / каталогу
  

Они могут применяться для изменения существующих пультов дистанционного управления, а также для создания новых пульты с синтаксисом "на лету". Этот пример эквивалентен добавление параметра --drive-shared-with-me к удаленному приводу gdrive: .

  rclone lsf "gdrive, shared_with_me: путь / к / каталогу"
  

Основным преимуществом использования синтаксиса стиля строки подключения является что он применяет только пульт, а не все пульты этого тип командной строки.Распространенная путаница - это попытка скопировать файл, размещенный на диске Google, на обычный диск, который не поддерживает . работать , потому что флаг --drive-shared-with-me применяется как к источник и место назначения.

  rclone copy --drive-shared-with-me gdrive: shared-file.txt gdrive:
  

Однако при использовании синтаксиса строки подключения это работает.

  rclone copy "gdrive, shared_with_me: shared-file.txt" gdrive:
  

Строки подключения имеют следующий синтаксис

  удаленный, параметр = значение, параметр2 = значение2: путь / к / каталог
: backend, параметр = значение, параметр2 = значение2: путь / к / каталогу
  

Если параметр имеет : или , , то его следует поместить в кавычки " или ', т. Е.

  удаленный, параметр = "двоеточие: значение", параметр2 = "запятая, значение": путь / к / каталогу
: backend, параметр = 'двоеточие: значение', параметр2 = 'запятая, значение': путь / к / каталогу
  

Если цитируемое значение должно включать эту цитату, то оно должно быть вдвое, поэтому

  удаленный, параметр = "с" "цитатой", параметр2 = 'с' 'цитатой': путь / к / директории
  

В результате параметр будет с "цитатой и параметр2 будет" с цитатой .

Если вы оставите = параметр , то rclone заменит = true что очень хорошо работает с флагами. Например, чтобы использовать s3, настроенный в среда, которую вы можете использовать:

  rclone lsd: s3, env_auth:
  

Что эквивалентно

  rclone lsd: s3, env_auth = true:
  

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

Если вы мастер оболочки, вы будете знать, какие строки подходят и которых нет, но если вы не уверены, заключите их в " и используйте ' как внутренняя цитата. Этот синтаксис работает во всех ОС.

  rclone copy ": http, url = 'https: //example.com': path / to / dir" / tmp / dir
  

В Linux / macOS некоторые символы все еще интерпретируются внутри " строки в оболочке (особенно \ и $ и "), поэтому если ваши строки содержат те, что вы можете поменять местами " и ' таким образом.(Этот синтаксис не работает в Windows.)

  rclone copy ': http, url = "https://example.com": path / to / dir' / tmp / dir
  
Строки подключения, конфигурация и ведение журнала

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

  rclone -vv lsf --s3-размер блока 20M s3:
  

Имеет сообщение журнала

  DEBUG: s3: обнаружена переопределенная конфигурация - добавление суффикса "{Srj1p}" к имени
  

Это сделано для того, чтобы rclone мог отличить модифицированный пульт от немодифицированный пульт при кешировании бэкэндов.

Это должно быть заметно только в журналах.

Это означает, что на лету бэкенды, такие как

  rclone -vv lsf: s3, env_auth:
  

Получат свои имена

  DEBUG:: s3: обнаружена переопределенная конфигурация - добавление суффикса "{YTu53}" к имени
  

Действительные удаленные имена

  • Удаленные имена могут содержать только 0–9, A – Z, a – z, _, - и пробел.
  • Имена пультов не могут начинаться с -.

Цитирование и оболочка

Когда вы вводите команды на свой компьютер, вы используете что-то называется оболочкой командной строки.Это интерпретирует различные символы в специфическим для ОС способом.

Вот несколько ошибок, которые могут помочь пользователям, незнакомым с правилами оболочки

Linux / OSX

Если в ваших именах есть пробелы или метасимволы оболочки (например, * , ? , $ , ', " и т. Д.), То вы должны заключить их в кавычки. По умолчанию используйте одинарные кавычки ' .

  rclone copy 'Важные файлы?' удаленный: резервное копирование
  

Если вы хотите отправить ', вам нужно будет использовать ", e.грамм.

  rclone copy "O'Reilly Reviews" удаленный: резервное копирование
  

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

Windows

Если в ваших именах есть пробелы, введите их в ", например,

.
  rclone copy "E: \ имя папки \ имя папки \ имя папки" удаленный: резервное копирование
  

Если вы используете корневой каталог отдельно, не цитируйте его (почему см. # 464), e.грамм.

  rclone копия E: \ remote: backup
  

Копирование файлов или каталогов с

: в именах

rclone использует : для обозначения удаленного имени. Однако это действительный компонент имени файла в операционных системах, отличных от Windows. Парсер удаленного имени будет ищите только : до первых /, поэтому, если вам нужно действовать на файл или каталог, как этот, затем используйте полный путь, начиная с / или используйте ./ в качестве префикса текущего каталога.

Итак, чтобы синхронизировать каталог с именем sync: me с удаленным устройством с именем remote: используйте

  rclone sync -i ./sync:me удаленный: путь
  

или

  rclone sync -i / full / path / to / sync: me remote: path
  

Копирование на стороне сервера

Большинство пультов (но не все - см. обзор) поддерживают серверное копирование.

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

Например,

  rclone копия s3: oldbucket s3: newbucket
  

Копирует содержимое oldbucket в newbucket без загрузка и повторная загрузка.

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

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

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

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

  rclone sync -i удаленный: текущее резервное копирование удаленное: предыдущее резервное копирование
rclone sync -i / путь / к / файлам удаленный: текущее резервное копирование
  

Опции

Rclone имеет ряд параметров для управления его поведением.

Параметры, принимающие параметры, могут иметь значения, передаваемые двумя способами: --option = значение или --option value . Однако логическое значение (истина / ложь) параметры ведут себя немного иначе, чем другие параметры, в этом --boolean устанавливает для параметра значение true и отсутствие флагов это на ложный . Также можно указать --boolean = false или --boolean = true . Обратите внимание, что --boolean false недействителен - это анализируется как --boolean и false анализируется как дополнительная команда строковый аргумент для rclone.

Опции, использующие TIME, используют синтаксический анализатор времени выхода. Строка продолжительности - это возможно знаковая последовательность десятичных чисел, каждое с необязательным дробь и суффикс единицы, например «300 мс», «-1,5 ч» или «2 ч 55 м». Действительный единицы времени: «нс», «нас» (или «мкс»), «мс», «с», «м», «ч».

Для параметров, использующих РАЗМЕР, по умолчанию используется килобайт. Однако суффикс b для байтов, k для kBytes, M для MBytes, G для GBytes, T для Можно использовать ТБайт и P для ПБайт.Это двоичные единицы, например 1, 2 ** 10, 2 ** 20, 2 ** 30 соответственно.

--backup-dir = DIR

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

Если задано --suffix , то к перемещаемым файлам будет добавлен суффикс им. Если есть файл с таким же путем (после суффикса добавлен) в DIR, то он будет перезаписан.

Используемый пульт должен поддерживать перемещение или копирование на стороне сервера, и вы должны используйте тот же пульт в качестве места назначения синхронизации. Резервная копия каталог не должен перекрывать целевой каталог.

Например

  rclone sync -i / путь / к / локальный удаленный: текущий --backup-dir удаленный: старый
  

синхронизирует / path / to / local с remote: текущий , но для любых файлов которые были бы обновлены или удалены, будут храниться в пульт: старый .

При запуске rclone из сценария вы можете использовать сегодняшнюю дату как имя каталога, переданное в --backup-dir для хранения старых файлов, или вы можете передать - суффикс с сегодняшней датой.

См. --compare-dest и --copy-dest .

- связать строку

Локальный адрес для привязки исходящих подключений. Это может быть IPv4-адрес (1.2.3.4), IPv6-адрес (1234 :: 789A) или имя хоста. Если имя хоста не разрешается или разрешается более чем на один IP-адрес выдаст ошибку.

--bwlimit = BANDWIDTH_SPEC

Этот параметр контролирует ограничение полосы пропускания. Например

  --bwlimit 10M
  

будет означать ограничение пропускной способности загрузки и выгрузки до 10 МБ / с. NB это байт в секунду, а не бит в секунду. Чтобы использовать single limit, укажите желаемую пропускную способность в кБайт / с или используйте суффикс b | k | M | G. По умолчанию 0 , что означает отсутствие ограничения пропускной способности.

Пропускная способность загрузки и выгрузки может быть указана отдельно, как --bwlimit UP: DOWN , поэтому

  --bwlimit 10M: 100 КБ
  

будет означать ограничение пропускной способности загрузки до 10 МБ / с, а загрузка пропускная способность до 100 кБайт / с.Любой лимит может быть отключен, что означает отсутствие лимита, поэтому чтобы просто ограничить пропускную способность загрузки, вы должны использовать

  --bwlimit 10M: выкл.
  

, это ограничит пропускную способность загрузки до 10 МБ / с, но загрузка пропускная способность будет неограниченной.

Если указано, как указано выше, ограничения полосы пропускания действуют в течение запуск двоичного файла rclone.

Также можно указать «расписание» лимитов, которое будет заставляют применять определенные ограничения в определенное время. Чтобы указать расписание, отформатируйте записи как WEEKDAY-HH: MM, BANDWIDTH WEEKDAY-HH: MM, BANDWIDTH... где: WEEKDAY - необязательный элемент.

  • BANDWIDTH может быть одним числом, например 100к или пара цифр для загрузки: скачать, например 10М: 1М .
  • WEEKDAY можно записать как целое слово или только с использованием первых трех символы. Это необязательно.
  • ЧЧ: ММ - час с 00:00 до 23:59.

Пример типового расписания, чтобы избежать перегрузки канала в дневное время рабочее время может быть:

--bwlimit "08: 00,512k 12: 00,10M 13: 00,512k 18: 00,30M 23:00, выкл."

В этом примере ширина полосы пропускания будет равна 512 Кбайт / сек. в 8 утра каждый день.В полдень он вырастет до 10 МБ / с, а затем снова упадет. до 512 Кбайт / сек в 13:00. В 18:00 предел пропускной способности будет установлен на 30 МБ / с, а в 23:00 он будет полностью отключен (полная скорость). Все, что находится между 23:00 и 8:00, останется без ограничений.

Пример расписания с WEEKDAY может быть:

--bwlimit "Пн-00: 00,512 Пт-23: 59,10M Сб-10: 00,1M Вс-20: 00, выкл."

Это означает, что пропускная способность будет установлена ​​на 512 Кбайт / сек на Понедельник.К концу пятницы он вырастет до 10 МБ / с. В 10:00 в субботу он будет установлен на 1 Мбайт / с. С 20:00 в воскресенье будет быть неограниченным.

Временные интервалы без WEEKDAY продлены на всю неделю. Так что это Например:

--bwlimit "Пн-00: 00,512 12: 00,1M Вс-20: 00, выкл."

Эквивалентно этому:

--bwlimit "Пн-00: 00,512Пн-12: 00,1M Вт-12: 00,1M Сред-12: 00,1M Чт-12: 00,1M Пт-12: 00,1M Сб-12: 00,1M вс-12: 00,1M вс-20: 00, выкл »

Ограничение пропускной способности применяется к передаче данных для всех серверных ВМ.Для большинства бэкэнды также включена пропускная способность списка каталогов (исключения бэкенды без HTTP, ftp , sftp и tardigrade ).

Обратите внимание, что единицы измерения - бит / с , а не бит / с . Обычно соединения измеряются в битах / с - для преобразования разделите на 8. Для Например, допустим, у вас есть соединение со скоростью 10 Мбит / с, и вы хотите, чтобы rclone использовать половину - 5 Мбит / с. Это 5/8 = 0,625 МБ / с, поэтому вы бы используйте --bwlimit 0.625M параметр для rclone.

В системах Unix (Linux, macOS,…) ограничитель пропускной способности можно переключить с помощью отправка сигнала SIGUSR2 в rclone. Это позволяет снять ограничения длительной передачи rclone и восстановить его до указанного значения с --bwlimit быстро при необходимости. Предполагая, что существует только один экземпляр rclone работает, вы можете переключить ограничитель следующим образом:

  kill -SIGUSR2 $ (пидоф rclone)
  

Если вы настраиваете rclone с помощью пульта дистанционного управления, вы можете использовать динамически изменить bwlimit:

  rclone rc core / bwlimit rate = 1M
  

--bwlimit-file = BANDWIDTH_SPEC

Этот параметр контролирует ограничение пропускной способности файла.Чтобы узнать о вариантах, см. - флаг bwlimit .

Например, используйте это, чтобы скорость передачи данных не превышала 1 МБ / с.

  --bwlimit-file 1M
  

Может использоваться вместе с --bwlimit .

Обратите внимание, что если расписание предоставлено, файл будет использовать расписание в эффект в начале передачи.

- размер буфера = РАЗМЕР

Используйте буфер этого размера для ускорения передачи файлов. Каждые - перевод будет использовать этот объем памяти для буферизации.

При использовании mount или cmount каждый дескриптор открытого файла будет использовать это количество память для буферизации. См. Документацию по монтированию для более подробной информации.

Установите значение 0 , чтобы отключить буферизацию для минимального использования памяти.

Обратите внимание, что на распределение памяти буферов влияет Флаг --use-mmap.

- первая проверка

Если этот флаг установлен, то при sync , copy или move , rclone сделает все проверки, чтобы увидеть, нужно ли передавать файлы перед делать какие-либо переводы.Обычно rclone запускается переводы в кратчайшие сроки.

Этот флаг может быть полезен в системах с ограниченным вводом-выводом, где передача мешают проверке.

Это также может быть полезно для обеспечения безупречного порядка при использовании - заказ .

Использование этого флага может использовать больше памяти, поскольку он эффективно устанавливает --max-backlog до бесконечности. Это означает, что вся информация на объекты для передачи хранятся в памяти до начала передачи.

--checkers = N

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

По умолчанию 8 чекеров запускаются параллельно.

-c, --checksum

Обычно rclone проверяет время модификации и размер файлов для посмотрим, равны ли они. Если вы установите этот флаг, rclone проверит хэш файла и размер, чтобы определить, равны ли файлы.

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

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

Например, rclone --checksum sync s3: / bucket swift: / bucket будет много работать быстрее, чем без флага --checksum .

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

--compare-dest = DIR

При использовании sync , copy или move DIR проверяется в дополнение к место назначения для файлов. Если обнаружен файл, идентичный источнику, то файл НЕ копируется из источника. Это полезно для копирования только файлов, изменились с момента последней резервной копии.

Вы должны использовать тот же пульт в качестве места назначения синхронизации. В Каталог сравнения не должен перекрывать целевой каталог.

См. --copy-dest и --backup-dir .

--config = CONFIG_FILE

Укажите расположение файла конфигурации rclone.

Обычно файл конфигурации находится в вашем домашнем каталоге в виде файла с именем .config / rclone / rclone.conf (или .rclone.conf , если он создан с более старая версия). Если установлено значение $ XDG_CONFIG_HOME , оно будет в $ XDG_CONFIG_HOME / rclone / rclone.conf .

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

Если вы запустите файл конфигурации rclone , вы увидите, где по умолчанию место для вас.

Используйте этот флаг, чтобы переопределить расположение конфигурации, например rclone --config = ". Myconfig", конфигурация .

Если в качестве местоположения задана пустая строка "" или специальное значение / notfound , или нулевое устройство операционной системы, представленное значением NUL на Windows и / dev / null в системах Unix, тогда rclone сохранит config только в памяти.

Формат файла - базовый INI: Разделы текста, начинающиеся с заголовка [section] , за которым следует ключ = значение записей в отдельных строках. В rclone каждый пульт представлен собственным разделом, где имя раздела определяет имя пульта. Параметры указываются как ключ = значение записей, где ключ - это имя опции без префикса --backend- , в нижнем регистре и с _ вместо - . Например. опция --mega-hard-delete соответствует ключу hard_delete .Можно указать только параметры серверной части. Специальный и обязательный ключ типа идентифицирует систему хранения, где значение - это внутреннее имя в нижнем регистре, возвращаемое командой rclone справочная система . Комментарии обозначены ; или # в начало строки.

Пример:

  [мегапередатчик]
тип = мега
user = [email protected]
pass = PDPcQVVjVtzFY-GTdDFozqBhTdsPg3qH
  

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

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

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

--contimeout = ВРЕМЯ

Установите время ожидания соединения. Это должно быть в формате времени, который выглядит как 5s в течение 5 секунд, 10m в течение 10 минут или 3h40m .

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

--copy-dest = DIR

При использовании sync , copy или move DIR проверяется в дополнение к место назначения для файлов. Если обнаружен файл, идентичный источнику, то файл копируется на стороне сервера из DIR в место назначения. Это полезно для инкрементного резервного копирования.

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

См. --compare-dest и --backup-dir .

- РЕЖИМ дедупликации

Режим для запуска команды дедупликации. Один из интерактивный , пропустить , первый , новейший , самый старый , переименовать . По умолчанию интерактивный . См. Команду dedupe для получения дополнительной информации о том, что означают эти параметры.

- отключить FEATURE, FEATURE, ...

Отключает список дополнительных функций, разделенных запятыми.Например чтобы отключить перемещение на стороне сервера и использование копирования на стороне сервера:

  - отключить ход, копировать
  

Фичи можно поставить в любом случае.

Чтобы просмотреть список функций, которые можно отключить, используйте:

  - отключить помощь
  

См. Обзор функций и дополнительные функции, чтобы получить представление о какая функция что делает.

Этот флаг может быть полезен для отладки и в исключительных случаях. (например, Google Диск ограничивает общий объем серверных копий до 100 ГБ / день).

--dscp ЗНАЧЕНИЕ

Укажите значение или имя DSCP для использования в соединениях. Это может помочь QoS система определения класса трафика. Разрешены BE, EF, DF, LE, CSx и AFxx.

См. Описание дифференцированных услуг, чтобы получить представление о это поле. Установите для этого параметра значение 1 (LE), чтобы идентифицировать поток к классу SCAVENGER. позволяет избежать использования слишком большой полосы пропускания в сети с поддержкой DiffServ (RFC 8622).

Например, если вы настроили QoS на маршрутизаторе для правильной обработки LE.Бега:

  rclone copy --dscp LE from: / from to: / to
  

сделает приоритет более низким, чем обычные интернет-потоки.

-n, --dry-run

Сделайте пробный запуск без постоянных изменений. Используйте это, чтобы увидеть, что rclone обошлось бы без этого. Полезно при настройке синхронизации команда, которая удаляет файлы в месте назначения.

--expect-continue-timeout = ВРЕМЯ

Указывает время ожидания первого заголовки ответа после полной записи заголовков запроса, если запрос имеет заголовок «Expect: 100-continue».Не все бэкенды поддерживают используя это.

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

По умолчанию 1 с . Установите 0 , чтобы отключить.

- ошибка при отсутствии передачи

По умолчанию rclone завершит работу с кодом возврата 0, если ошибок не было.

Эта опция позволяет rclone возвращать код выхода 9, если файлы не были переданы. между источником и местом назначения.Это позволяет использовать rclone в скриптах, и запуск последующих действий, если данные были скопированы, или пропуска, если нет.

NB: включение этой опции превращает обычно нефатальную ошибку в потенциально фатальный - проверьте и скорректируйте свои скрипты соответствующим образом!

--fs-cache-expire-duration = ВРЕМЯ

При использовании rclone через API rclone создает кеши удаленных для 5 минут по умолчанию в "кеше фс". Это означает, что если вы это сделаете повторяющиеся действия на одном и том же пульте дистанционного управления, тогда rclone не будет создавать его снова с нуля, что делает его более эффективным.

Этот флаг устанавливает время, в течение которого пульты кэшируются. Если вы установите это на 0 (или отрицательный), тогда rclone вообще не кэширует пульты.

Обратите внимание, что если вы используете некоторые флаги, например --backup-dir и если это установлено до 0 rclone может создавать два пульта дистанционного управления (один для источника или назначения и один для --backup-dir , где, возможно, был построен только один перед.

--fs-cache-expire-interval = ВРЕМЯ

Этот параметр определяет, как часто rclone проверяет, не истек ли срок действия кэшированных пультов ДУ.Дополнительную информацию см. В документации --fs-cache-expire-duration выше. Информация. По умолчанию 60 секунд, значение 0 - отключение истечения срока действия.

Добавьте заголовок HTTP для всех транзакций. Флаг может повторяться до добавить несколько заголовков.

Если вы хотите добавить заголовки только для загрузки, используйте --header-upload и если вы хотите добавить заголовки только для загрузок, используйте --header-download .

Этот флаг поддерживается для всех серверных ВМ на основе HTTP, даже для тех, которые не поддерживается --header-upload и --header-download , поэтому может использоваться как обходной путь для тех, кто осторожен.

  rclone ls remote: test --header «X-Rclone: ​​Foo» --header «X-LetMeIn: Yes»
  

Добавьте заголовок HTTP для всех транзакций загрузки. Флаг может повторяться до добавить несколько заголовков.

  rclone sync -i s3: test / src ~ / dst --header-download "X-Amz-Meta-Test: Foo" --header-download "X-Amz-Meta-Test2: Bar"
  

См. Здесь проблему GitHub для в настоящее время поддерживаются серверные ВМ.

Добавьте заголовок HTTP для всех транзакций загрузки. Флаг можно повторить, чтобы добавить несколько заголовков.

  rclone sync -i ~ / src s3: test / dst --header-upload "Content-Disposition: attachment; filename = 'cool.html'" --header-upload "X-Amz-Meta-Test: FooBar"
  

См. Здесь проблему GitHub для в настоящее время поддерживаются серверные ВМ.

--ignore-case-sync

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

- игнорировать контрольную сумму

Обычно rclone проверяет, что контрольные суммы переданных файлов совпадают, и выдают ошибку «повреждено при передаче», если они этого не делают.

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

- игнорировать существующий

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

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

- размер игнорирования

Обычно rclone проверяет время модификации и размер файлов для посмотрим, равны ли они. Если вы установите этот флаг, rclone проверит только время модификации. Если установлено --checksum , то только проверяет контрольную сумму.

Это также приведет к тому, что rclone пропустит проверку того же размера после перевода.

Это может быть полезно для передачи файлов в OneDrive и обратно, которые иногда неверно сообщает размер файлов изображений (см. # 399 для получения дополнительной информации).

-I, --ignore-раз

Использование этой опции заставит rclone безоговорочно загрузить все файлы независимо от состояния файлов в месте назначения.

Обычно rclone пропускает все файлы с одинаковыми время модификации и одинакового размера (или имеют одинаковую контрольную сумму, если используя - контрольная сумма ).

- неизменяемый

Считать исходный и конечный файлы неизменяемыми и запрещать модификация.

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

Обратите внимание, что только команды, передающие файлы (например, , синхронизация, , , копия, , ход ), влияют на это поведение, и только модификация запрещено. Файлы по-прежнему могут быть удалены явно (например, удалить , purge ) или неявно (например, sync , move ).Используйте copy --immutable если желательно избежать удаления или модификации.

Это может быть полезно в качестве дополнительного уровня защиты неизменяемых или наборы данных только для добавления (особенно резервные архивы), где изменение подразумевает коррупцию и не подлежит распространению.

-i / - интерактивный

Этот флаг можно использовать, чтобы сообщить rclone, что вы хотите подтверждение перед разрушительными операциями.

рекомендуется использовать этот флаг при изучении rclone особенно с rclone sync .

Например

  $ rclone удалить -i / tmp / dir
rclone: ​​удалить "important-file.txt"?
y) Да, это нормально (по умолчанию)
п) Нет, пропустить
s) Пропустить все операции удаления без вопросов
!) Выполняйте все операции удаления без лишних вопросов
q) Выйдите из rclone сейчас.
г / н / с /! / д> п
  

Значения опций

  • y : Да, , эта операция должна выполняться. Вы также можете нажать Return чтобы это произошло. Вас будут спрашивать каждый раз, если вы не выберете s или ! .
  • n : Нет , не выполняйте эту операцию. Вас будут спрашивать каждый раз, если только Вы выбираете с или ! .
  • s : Пропустить все следующие операции этого типа, не более вопросов. Это действует до выхода из rclone. Если есть вам будут предложены различные виды операций.
  • ! : Выполнить все следующие операции, не более вопросов. Полезно, если вы решили, что не против делать rclone. такая операция.Это действует до выхода из rclone. Если вам будет предложено выполнить какие-либо другие операции их.
  • q : Закройте rclone сейчас, на всякий случай!

--leave-root

Во время rmdirs он не удаляет корневой каталог, даже если он пуст.

--log-file = ФАЙЛ

Записывать весь вывод rclone в ФАЙЛ. По умолчанию он не активен. Это может быть полезно для отслеживания проблем с синхронизацией в комбинация с флагом -v .См. Раздел "Ведение журнала" для получения дополнительной информации.

Если ФАЙЛ существует, то к нему добавится rclone.

Обратите внимание, что если вы используете программу logrotate для управления rclone logs, то вам следует использовать опцию copytruncate , поскольку rclone не есть сигнал повернуть бревна.

- СПИСОК формата журнала

Список параметров формата журнала, разделенных запятыми. дата , время , микросекунд , longfile , shortfile , UTC .По умолчанию: «, дата , , время ».

- уровень журнала УРОВЕНЬ

Устанавливает уровень журнала для rclone. Уровень журнала по умолчанию - УВЕДОМЛЕНИЕ .

DEBUG эквивалентен -vv . Он выводит много отладочной информации - полезно для отчетов об ошибках и реального выяснения того, что делает rclone.

INFO эквивалентно -v . Выводит информацию о каждой передаче и по умолчанию печатает статистику раз в минуту.

УВЕДОМЛЕНИЕ - это уровень журнала по умолчанию, если не указаны флаги ведения журнала. Это выводит очень мало, когда все работает нормально. Он выводит предупреждения и важные события.

ОШИБКА эквивалентна -q . Он выводит только сообщения об ошибках.

--use-json-log

Это переключает формат журнала на JSON для rclone. Поля журнала json уровень, сообщение, источник, время.

- попытки на низком уровне НОМЕР

Управляет количеством повторных попыток низкого уровня, которые выполняет rclone.

Повторная попытка на низком уровне используется для повторной попытки неудачной операции - обычно одна. HTTP-запрос. Это может быть загрузка фрагмента большого файла для пример. Вы увидите повторные попытки низкого уровня в журнале с -v флаг.

Не нужно менять значение по умолчанию при нормальной работе. Однако, если вы получаете много повторных попыток на низком уровне, вы можете пожелать чтобы уменьшить значение, чтобы rclone перешел к повторной попытке высокого уровня (см. - возвращает флаг ) быстрее.

Отключить повторы низкого уровня с --low-level-retries 1 .

--max-backlog = N

Это максимально допустимое отставание файлов при синхронизации / копировании / перемещении. в очереди на проверку или передачу.

Может быть установлен произвольно большим. Он будет использовать память только тогда, когда очередь уже используется. Обратите внимание, что он будет использовать порядка N кБ памяти. когда используется невыполненная работа.

Установка этого большого размера позволяет rclone вычислить, сколько файлов ожидание более точно, дайте более точную оценку отделки time и заставьте --order-by работать точнее.

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

Установка отрицательного числа приведет к тому, что невыполненная работа будет равна возможный.

--max-delete = N

Это указывает rclone не удалять более N файлов. Если этот предел превышено, то будет сгенерирована фатальная ошибка, и rclone остановит операция в процессе.

--max-depth = N

Это изменяет глубину рекурсии для всех команд, кроме очистки.

Итак, если вы выполните rclone --max-depth 1 ls remote: path , вы увидите только файлы в каталоге верхнего уровня. Использование --max-depth 2 означает, что вы увидит все файлы на первых двух уровнях каталогов и так далее.

По историческим причинам команда lsd по умолчанию использует --max-depth of 1 - вы можете переопределить это с помощью флага командной строки.

Вы можете использовать эту команду, чтобы отключить рекурсию (с --max-depth 1 ).

Обратите внимание, что если вы используете это с sync и --delete-excluded , файлы, не прошедшие рекурсию, считаются исключенными и удаляются по месту назначения. Если вы не уверены, сначала проверьте с помощью --dry-run . что случится.

--max-duration = ВРЕМЯ

Rclone перестанет планировать новые передачи, когда он будет запущен для указанная продолжительность.

По умолчанию выключено.

При достижении лимита все существующие переводы будут завершены.

Rclone не выйдет с ошибкой, если будет достигнут предел передачи.

--max-transfer = РАЗМЕР

Rclone прекратит передачу, когда достигнет указанного размера. По умолчанию выключено.

При достижении лимита все переводы немедленно прекращаются.

Rclone выйдет с кодом выхода 8, если будет достигнут предел передачи.

--cutoff-mode = hard | soft | осторожный

Это изменяет поведение --max-transfer По умолчанию --cutoff-mode = hard .

Указание --cutoff-mode = hard немедленно прекратит передачу когда Rclone достигает предела.

Указание --cutoff-mode = soft остановит запуск новых передач когда Rclone достигает предела.

Указание --cutoff-mode = осторожно попытается предотвратить Rclone от достижения предела.

--modify-window = ВРЕМЯ

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

Значение по умолчанию - 1 нс , если это не отменено удаленным устройством. Для пример OS X хранит время модификации только с точностью до секунды, поэтому если вы читаете и записываете в файловую систему OS X, это будет 1 с по умолчанию.

Этот флаг командной строки позволяет вам переопределить вычисленное значение по умолчанию.

- многониточная обрезка = РАЗМЕР

При загрузке файлов на локальную серверную часть больше этого размера, rclone будет использовать несколько потоков для загрузки файла (по умолчанию 250M).

Rclone предварительно выделяет файл (используя fallocate (FALLOC_FL_KEEP_SIZE) в unix или NTSetInformationFile в Windows, оба из которых не требуют время), затем каждый поток записывает прямо в файл в нужное место. Это означает, что rclone не будет создавать фрагментированные или разреженные файлы. и времени сборки в конце передачи не будет.

Количество потоков, используемых для загрузки, контролируется - многопоточные потоки .

Используйте -vv , если хотите увидеть информацию о цепочках.

Это будет работать с sync / copy / move командами и друзьями copyto / moveto . Многопоточная загрузка будет использоваться с rclone mount и rclone serve , если --vfs-cache-mode установлен на пишет или выше.

NB , что этот только работает для местного назначения, но будет работать с любого источника.

NB , что многопоточные копии отключены для локальных копий поскольку они быстрее, если не установлен --multi-thread-streams явно.

NB в Windows при использовании многопоточной загрузки вызовет результирующие файлы должны быть разреженными. Используйте --local-no-sparse , чтобы отключить разреженные файлы (что может задержки в начале загрузки) или отключить многопоточную загрузку с - многопоточными потоками 0

- многопоточные потоки = N

При использовании многониточной загрузки (см. Выше - многониточная обрезка ) это устанавливает максимальное количество используемых потоков. Установите 0 , чтобы отключить многопоточная загрузка (по умолчанию 4).

Сколько именно потоков rclone использует для загрузки, зависит от размер файла. Для расчета количества потоков загрузки Rclone делит размер файла на - многониточно-отрезной и округляет вверх, до максимального набора с - multi-thread-streams .

Итак, если --multi-thread-cutoff 250MB и --multi-thread-streams 4 - это действует (по умолчанию):

  • Файлы размером 0MB..250MB будут загружены с 1 потоком
  • 250 МБ.Файлы .500MB будут загружены с 2 потоками
  • Файлы размером 500… 750 МБ будут загружены с 3 потоками
  • 750 МБ + файлы будут загружены с 4 потоками

- no-check-dest

--no-check-dest может использоваться с move или copy , и это вызывает rclone, чтобы вообще не проверять место назначения при копировании файлов.

Это означает, что:

  • пункт назначения не указан, минимизация вызовов API
  • файлов передаются всегда
  • это может привести к дублированию на пультах дистанционного управления, которые позволяют это (например,грамм. Google Диск)
  • - retries 1 Рекомендуется , иначе вы перенесете все снова при повторной попытке

Этот флаг полезен для минимизации транзакций, если вы знаете, что ни один файлов находятся в месте назначения.

Это специальный флаг, который большинству пользователей следует игнорировать!

--no-gzip-encoding

Не устанавливать Accept-Encoding: gzip . Это означает, что rclone не спросит сервер для сжатых файлов автоматически.Полезно, если вы установили сервер для возврата файлов с Content-Encoding: gzip , но вы загруженные сжатые файлы.

Нет необходимости настраивать это при нормальной работе, и это приведет к снизить эффективность сетевой передачи rclone.

- без траверсы

Флаг --no-traverse определяет, будет ли файловая система назначения выполняется при использовании команд copy или move . --no-traverse несовместим с sync и будет проигнорирован, если вы поставляете его с sync .

Если вы копируете только небольшое количество файлов (или фильтруете большую часть файлов) и / или иметь большое количество файлов в месте назначения тогда --no-traverse остановит rclone перечисление пункта назначения и сохранит время.

Однако, если вы копируете большое количество файлов, особенно если вы делают копию там, где многие рассматриваемые файлы не изменен и не требует копирования, то вам не следует использовать --no-traverse .

См. Rclone copy для примера того, как его использовать.

- нормализации без юникода

Не нормализовать символы Юникода в именах файлов во время процедуры синхронизации.

Иногда операционная система сохраняет имена файлов, содержащие кодировку Unicode. части в разложенной форме (особенно macOS). Некоторое облачное хранилище системы затем перекомпоновят юникод, что приведет к дублированию файлов, если данные всегда копируются обратно в локальную файловую систему.

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

--no-update-modtime

При использовании этого флага rclone не обновляет время модификации удаленного файлы, если они неверны, как обычно.

Это можно использовать, если пульт также синхронизируется с другим инструментом. (например, клиент Google Диска).

- строка порядка

Флаг --order-by управляет порядком, в котором файлы в очереди. обрабатываются в rclone sync , rclone copy и rclone move .

Порядок по строке строится следующим образом. Первая часть описывает, какой аспект измеряется:

  • размер - упорядочить по размеру файлов
  • имя - упорядочить по полному пути к файлам
  • modtime - упорядочить по дате модификации файлов

Модификатор может быть добавлен с запятой:

  • по возрастанию или по возрастанию - порядок, чтобы наименьший (или самый старый) обрабатывался первым
  • по убыванию или desc - упорядочить так, чтобы сначала обрабатывались самые большие (или самые новые)
  • смешанный - порядок, при котором наименьший обрабатывается первым для одних потоков, а наибольший - для других

Если модификатор смешанный , то он может иметь необязательный процент (по умолчанию 50 ), e.грамм. размер, смешанный, 25 , что означает, что 25% нитки должны занимать самые мелкие предметы и 75% самый большой. Нити, которые занимают в первую очередь самые маленькие, всегда будут занимать самая маленькая первая и также самая большая первая нитка. смешанный режим может быть полезен для минимизации времени передачи, когда вы передача смеси больших и маленьких файлов - большие файлы гарантированные потоки загрузки и пропускная способность, а небольшие файлы будут обрабатывается непрерывно.

Если модификатор не указан, то порядок - по возрастанию .

Например

  • - по размеру, по убыванию - сначала отправлять самые большие файлы
  • --order-by modtime, по возрастанию - сначала отправлять самые старые файлы
  • - упорядочить по имени - отправить файлы в алфавитном порядке по пути сначала

Если флаг --order-by не поставляется или поставляется с пустая строка, тогда будет использоваться порядок по умолчанию, который выглядит как отсканировано. С --checkers 1 это в основном алфавитный, однако со значением по умолчанию --checkers 8 это несколько случайно.

Ограничения

Флаг --order-by не выполняет отдельную передачу данных. Этот означает, что он может передавать некоторые файлы в неправильном порядке, если

  • нет файлов в очереди или источник еще не полностью просканирован
  • в отставании более --max-backlog файлов

Rclone сделает все возможное, чтобы передать лучший файл, который у него есть, поэтому в на практике это не должно вызывать проблем. Думайте о --order-by как о быть скорее флагом максимальных усилий, чем идеальным порядком.

Если вам нужен идеальный заказ, вам необходимо указать --check-first, который найдет все нужные файлы передача, прежде чем передавать какие-либо.

- пароль-команда SpaceSepList

Этот флаг предоставляет программу, которая должна предоставить пароль конфигурации. при запуске. Это альтернатива запросу пароля rclone. или установив переменную RCLONE_CONFIG_PASS .

Аргументом здесь должна быть команда со списком, разделенным пробелами. аргументов.Если в одном из аргументов есть пробел, заключите его в ", если вы хотите использовать буквальное значение " в аргументе, тогда заключите аргумент в " и удвоить " . См. Кодировку CSV для получения дополнительной информации.

Например,

  --password-command echo привет
--password-command echo "привет, пробел"
--password-command echo "привет с" "кавычками" "и пробелом"
  

Дополнительные сведения см. В разделе «Шифрование конфигурации».

См. Пример Windows PowerShell в Wiki.

-P, --progress

Этот флаг заставляет rclone обновлять статистику в статическом блоке в терминал, обеспечивающий обзор перевода в реальном времени.

Любые сообщения журнала будут прокручиваться над статическим блоком. Журнал сообщений подтолкнет статический блок к нижней части терминала, где он остановимся.

Обычно обновляется каждые 500 мс, но этот период можно изменить. с флагом --stats .

Может использоваться с флагом --stats-one-line для более простого отображать.

Примечание: в Windows до этой ошибки исправлено, все символы, отличные от ASCII, будут заменены на . когда - используется прогресс .

- заголовок-прогресс-терминал

Этот флаг, при использовании с -P / - progress , напечатает строку ETA:% s к заголовку терминала.

-q, - тихий

Этот флаг ограничивает вывод rclone только сообщениями об ошибках.

- время обновления

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

Это полезно, если вы загрузили файлы с неправильными отметками времени и теперь вы хотите их исправить.

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

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

Чтобы использовать этот флаг, вам необходимо выполнить синхронизацию времени модификации (поэтому не используйте --size-only или --checksum ).Флаг не будет иметь эффект при использовании --size-only или --checksum .

Если этот флаг используется, когда rclone приходит для загрузки файла, он проверяет чтобы увидеть, есть ли в месте назначения существующий файл. Если этот файл соответствует источнику по размеру (и контрольной сумме, если имеется), но имеет другую временную метку, то вместо повторной загрузки rclone будет обновить метку времени в конечном файле. Если контрольная сумма не match rclone загрузит новый файл. Если контрольная сумма отсутствует (например,грамм. на бэкэнде crypt ), то rclone обновит метку времени.

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

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

- retries int

Повторить всю синхронизацию, если она терпит неудачу столько раз, сколько неудач (по умолчанию 3).

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

Отключить повторные попытки с - retries 1 .

--retries-sleep = ВРЕМЯ

Устанавливает интервал между каждой повторной попыткой, заданный параметром --retries

По умолчанию 0 . Для отключения используйте 0 .

- только размер

Обычно rclone проверяет время модификации и размер файлов для посмотрим, равны ли они. Если вы установите этот флаг, rclone проверит только размер.

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

--stats = ВРЕМЯ

Команды, передающие данные ( синхронизировать , копировать , копировать на , перемещать , moveto ) будет печатать статистику передачи данных через регулярные промежутки времени, чтобы показать их прогресс.

Устанавливает интервал.

По умолчанию 1 м . Для отключения используйте 0 .

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

Статистика по умолчанию регистрируется на уровне INFO , что означает, что они не будут показывать на уровне журнала по умолчанию УВЕДОМЛЕНИЕ . Используйте --stats-log-level NOTICE или -v , чтобы они отображались.См. Раздел «Ведение журнала» для получения дополнительной информации. информация об уровнях журнала.

Обратите внимание, что в macOS вы можете отправить SIGINFO (обычно это ctrl-T в терминал), чтобы статистика распечатывалась немедленно.

--stats-file-name-length целое число

По умолчанию в выводе --stats имена файлов и пути будут более длинными. более 40 знаков. Это эквивалентно предоставлению - длина-имени-статс-файла 40 . Используйте --stats-file-name-length 0 , чтобы отключить любое усечение имён файлов, выводимое статистикой.

- строка уровня статистики

Уровень журнала для отображения выходных данных --stats . Это может быть DEBUG , INFO , УВЕДОМЛЕНИЕ , или ОШИБКА . По умолчанию ИНФОРМАЦИЯ . Это означает, что на уровень ведения журнала по умолчанию, который составляет УВЕДОМЛЕНИЕ , статистика не будет отображаться - если вы хотите, чтобы они затем использовали --stats-log-level NOTICE . См. Журнал раздел для получения дополнительной информации об уровнях журнала.

--stats-one-line

Когда это указано, rclone объединяет статистику в одну строку. показывает только самую важную статистику.

--stats-one-line-date

Когда это указано, rclone включает однострочную статистику и добавляет в начало отображение со строкой даты. По умолчанию: 02.01.2006 15:04:05 -

--stats-однострочный-формат-даты

Когда это указано, rclone включает однострочную статистику и добавляет в начало отображение с введенной пользователем строкой даты. Строка даты ДОЛЖНА быть заключен в кавычки. Следуйте спецификациям golang для синтаксис форматирования даты.

--stats-unit = биты | байты

По умолчанию скорость передачи данных печатается в байтах в секунду.

Эта опция позволяет печатать скорость передачи данных в битах в секунду.

Объем передаваемых данных по-прежнему будет указываться в байтах.

Скорость указывается в двоичной системе, а не в системе СИ. Так 1 Мбит / с равно 1048576 бит / с, а не 1000000 бит / с.

По умолчанию байт .

--суффикс = СУФФИКС

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

Используемый пульт должен поддерживать перемещение или копирование на стороне сервера, и вы должны используйте тот же пульт в качестве места назначения синхронизации.

Используется с файлами для добавления суффикса в текущий каталог. или с --backup-dir . См. --backup-dir для получения дополнительной информации.

Например

  rclone copy -i / path / to / local / file remote: current --suffix.бак
  

скопирует / path / to / local в remote: current , но для любых файлов которые были бы обновлены или удалены, если бы был добавлен .bak.

Если используется rclone sync с --suffix и без --backup-dir , тогда рекомендуется поставить правило фильтрации, исключая суффикс в противном случае sync удалит файлы резервных копий.

  rclone sync -i / path / to / local / file remote: current --suffix.bak - исключить "* .bak"
  

--suffix-keep-extension

При использовании --suffix установка этого параметра приводит к тому, что rclone помещает SUFFIX перед расширением файлов, для которых выполняется резервное копирование, а не после.

Итак, допустим, у нас есть --suffix -2019-01-01 , без флага file.txt будет скопировано до file.txt-2019-01-01 и с флагом будет резервное копирование в файл -2019-01-01.txt . Это может быть полезно сделать убедитесь, что файлы с суффиксами все еще можно открывать.

- системный журнал

В совместимых операционных системах (не Windows или Plan9) отправляйте весь вывод журнала в системный журнал.

Это может быть полезно для запуска rclone в сценарии или rclone mount .

- строка объекта syslog

При использовании --syslog это устанавливает средство системного журнала (например, KERN , USER ). См. Список возможных средств в man syslog . По умолчанию объект DAEMON .

--tpslimit с плавающей запятой

Ограничьте количество транзакций в секунду до этого числа.По умолчанию 0, что раньше означало неограниченное количество транзакций в секунду.

Транзакция примерно определяется как вызов API; его точное значение будет зависеть от серверной части. Для бэкэндов на основе HTTP это HTTP. PUT / GET / POST / etc и его ответ. Для FTP / SFTP это поездка туда и обратно транзакция по TCP.

Например, чтобы ограничить rclone до 10 транзакций в секунду, используйте --tpslimit 10 , или для 1 транзакции каждые 2 секунды используйте --tpslimit 0,5 .

Используйте это, когда количество транзакций в секунду от rclone вызывая проблему с поставщиком облачного хранилища (например,грамм. получить тебя забанен или ограничен по скорости).

Это может быть очень полезно для rclone mount для управления поведением приложения, использующие его.

Это ограничение применяется ко всем серверным процессам на основе HTTP, а также к FTP и SFTP. бэкэнды. Это не относится к локальному бэкэнду или Tardigrade. бэкэнд.

См. Также --tpslimit-burst .

--tpslimit-burst int

Максимальный пакет транзакций для - tpslimit (по умолчанию 1 ).

Обычно --tpslimit выполняет ровно столько транзакций за второй указан. Однако, если вы поставите --tps-burst , тогда rclone может сохранить некоторые транзакции, когда он был в режиме ожидания, давая всплеск к предоставленному параметру.

Например, если вы предоставите --tpslimit-burst 10 , тогда, если rclone имеет простаивал более 10 * --tpslimit , тогда он может выполнять 10 транзакций очень быстро, прежде чем они снова будут ограничены.

Это может быть использовано для увеличения производительности - tpslimit без изменение долгосрочного среднего количества транзакций в секунду.

- переименование треков

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

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

Файлы будут совпадать по размеру и хэшу - если оба совпадают, переименовать будут рассмотрены.

Если место назначения не поддерживает копирование или перемещение на стороне сервера, rclone вернется к поведению по умолчанию и запишет сообщение об уровне ошибки к консоли.

Зашифрованные пункты назначения в настоящее время не поддерживаются --track-renames if --track-renames-strategy включает хэш .

Обратите внимание, что --track-renames несовместим с --no-traverse и что он использует дополнительную память для отслеживания всех кандидатов на переименование.

Обратите внимание, что --track-renames несовместим с --delete-before и выберет --delete-after вместо - удалить во время .

--track-renames-strategy (хэш, время модификации, лист, размер)

Этот параметр изменяет критерии соответствия для --track-renames .

Соответствие контролируется выделением этих токенов, разделенных запятыми:

  • modtime - время модификации файла - поддерживается не всеми бэкэндами
  • hash - хэш содержимого файла - поддерживается не всеми серверными модулями
  • лист - имя файла без имени каталога
  • размер - размер файла (всегда включен)

Таким образом, используя --track-renames-strategy modtime, лист будет соответствовать файлам на основе времени модификации, листа имени файла и размера Только.

Использование --track-renames-strategy modtime или лист может включить --track-renames поддерживает зашифрованные места назначения.

Если ничего не указано, опция по умолчанию совпадает с хешем es.

Обратите внимание, что стратегия хеширования не поддерживается с зашифрованными адресами.

--delete- (до, во время, после)

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

Указание значения --delete-before удалит все имеющиеся файлы в пункте назначения, но не в источнике до , начиная с передача любых новых или обновленных файлов. Это использует два прохода через файловые системы, одна для удаления и одна для копий.

Указание --delete-during удалит файлы при проверке и загрузка файлов. Это самый быстрый вариант с минимальным использованием памяти.

Указание --delete-after (значение по умолчанию) задержит удаление файлы до тех пор, пока все новые / обновленные файлы не будут успешно перенесены.Файлы, подлежащие удалению, собираются при копировании, а затем удаляются. после успешного завершения копирования. Файлы, которые будут удаленные хранятся в памяти, поэтому этот режим может использовать больше памяти. Это самый безопасный режим, так как он будет удалять файлы только в том случае, если не было ошибки после этого. Если до После начала удаления вы получите сообщение , что файлы не удаляются из-за ошибок ввода-вывода .

--быстрый список

При выполнении каких-либо действий, связанных со списком каталогов (например,грамм. синхронизация , copy , ls - фактически почти каждая команда), rclone обычно перечисляет каталог и обрабатывает его перед использованием дополнительных списков каталогов для обрабатывать любые подкаталоги. Это может быть распараллелено и работает очень быстро используя наименьшее количество памяти.

Однако у некоторых пультов есть способ перечислить все файлы под справочник за одну (или небольшое количество) транзакций. Они имеют тенденцию быть пультами на основе ведра (например, S3, B2, GCS, Swift, Hubic).

Если вы используете флаг --fast-list , то rclone будет использовать этот метод для перечисление каталогов.Это будет иметь следующие последствия для листинг:

  • Это будет использовать меньше транзакций (важно, если вы платите за них)
  • Это будет использовать больше памяти. Rclone должен загрузить весь листинг в память.
  • Это может быть быстрее, потому что он использует меньше транзакций
  • Это может быть медленнее, потому что его нельзя распараллелить

rclone всегда должен давать одинаковые результаты с и без --быстрый список .

Если вы платите за транзакции и можете разместить весь свой список синхронизации в memory, то рекомендуется --fast-list . Если у вас очень большая синхронизация для этого не используйте --fast-list , иначе у вас закончится объем памяти.

Если вы используете --fast-list на удаленном компьютере, который его не поддерживает, тогда rclone просто проигнорирует это.

- тайм-аут = ВРЕМЯ

Устанавливает тайм-аут простоя ввода-вывода. Если перевод начался, но потом простаивает в течение этого времени, он считается неисправным и отключенным.

По умолчанию 5 м . Установите 0 , чтобы отключить.

--transfers = N

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

По умолчанию выполняется параллельная передача 4 файлов.

-u, --update

Это заставляет rclone пропускать любые файлы, которые существуют в месте назначения. и имеют время изменения новее, чем исходный файл.

Это может быть полезно при передаче на удаленный компьютер, который не поддерживает время модификации напрямую (или при использовании --use-server-modtime , чтобы избежать лишних Вызовы API), поскольку он более точен, чем проверка только размера и быстрее чем при использовании --checksum .

Если существующий файл назначения имеет время модификации, равное (в пределах вычисленная точность окна изменения) к исходному файлу, это будет обновляется, если размеры отличаются. Если установлено --checksum , то rclone обновит пункт назначения, если контрольные суммы тоже различаются.

Если существующий файл назначения старше исходного файла, то он будет обновлен, если размер или контрольная сумма отличается от исходного файла.

На пультах дистанционного управления, которые не поддерживают время модификации напрямую (или при использовании --use-server-modtime ) проверенное время будет временем загрузки. Это означает, что при загрузке на один из этих пультов rclone пропустит любые файлы, которые существуют в месте назначения и время загрузки, которое новее, чем время модификации исходного файла.

--use-mmap

Если этот флаг установлен, то rclone будет использовать анонимную память, выделенную mmap на платформах на базе Unix и VirtualAlloc на Windows для своих буферы передачи (размер контролируется параметром --buffer-size ). объем памяти выделенный таким образом, не попадает в кучу Go и может быть возвращен в ОС сразу после завершения работы.

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

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

--use-server-modtime

Некоторые серверные части хранилища объектов (например, Swift, S3) не сохраняют изменения файла раз (время мод.). На этих серверах rclone сохраняет исходное время мода как дополнительные метаданные об объекте. По умолчанию он будет вызывать API к получать метаданные, когда для операции требуется время модификации.

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

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

-v, -vv, --verbose

С -v rclone расскажет вам о каждом переданном файле и небольшое количество значимых событий.

С -vv rclone станет очень подробным, рассказывая вам обо всех файл он считает и передает. Отправляйте отчеты об ошибках с логом с этой настройкой.

-V, --версия

Печатает номер версии

Опции SSL / TLS

Исходящие SSL / TLS-соединения, которые делает rclone, можно контролировать с помощью эти варианты. Например, это может быть очень полезно с HTTP или Серверная часть WebDAV. HTTP-серверы Rclone имеют собственный набор конфигурацию для SSL / TLS, которую вы можете найти в их документации.

- строка CA-сертификата

Это загружает сертификат центра сертификации в кодировке PEM и использует это для проверки сертификатов серверов, к которым подключается rclone.

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

- строка сертификата клиента

Загружает сертификат на стороне клиента, закодированный в формате PEM.

Используется для взаимной аутентификации TLS.

При его использовании также требуется флаг --client-key .

- строка клиентского ключа

Загружает закрытый ключ клиентской стороны в кодировке PEM, используемый для взаимного TLS. аутентификация. Используется вместе с --client-cert .

--no-check-certificate = true / false

--no-check-certificate контролирует, проверяет ли клиент цепочка сертификатов сервера и имя хоста. Если --no-check-certificate истинно, TLS принимает любой сертификат представлен сервером и любым именем хоста в этом сертификате.В этом режиме TLS уязвим для атак типа "злоумышленник в середине".

Эта опция по умолчанию ложь .

Его следует использовать только для тестирования.

Шифрование конфигурации

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

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

Чтобы добавить пароль к вашей конфигурации rclone, выполните rclone config .

 > конфигурация rclone
Текущие пульты:

д) Редактировать существующий пульт
n) Новый пульт
г) Удалить удаленный
s) Установить пароль конфигурации
q) Выйти из конфигурации
э / н / д / с / д>
  

Войдите в s , установите пароль конфигурации:

  e / n / d / s / q> s
Ваша конфигурация не зашифрована.
Если вы добавите пароль, вы защитите свои данные для входа в облачные сервисы.а) Добавить пароль
q) Выход в главное меню
а / д> а
Введите НОВЫЙ пароль конфигурации:
пароль:
Подтвердите новый пароль:
пароль:
Пароль установлен
Ваша конфигурация зашифрована.
в) Изменить пароль
u) незашифрованная конфигурация
q) Выход в главное меню
c / u / q>
  

Теперь ваша конфигурация зашифрована, и каждый раз при запуске rclone вам нужно будет указать пароль. Подробнее см. Ниже. В этом же меню можно сменить пароль или полностью удалить шифрование из вашей конфигурации.

Невозможно восстановить конфигурацию, если вы потеряете свой пароль.

rclone использует секретный ящик nacl который, в свою очередь, использует XSalsa20 и Poly1305 для шифрования и аутентификации ваша конфигурация с криптографией с секретным ключом. Пароль - хешированный SHA-256, который дает ключ для секретного ящика. Хешированный пароль не сохраняется.

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

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

Вы можете установить это для сеанса из сценария. Для unix-подобных систем сохраните это в файл с именем set-rclone-password :

  #! / Bin / echo Источник этот файл не запускать

читает -s RCLONE_CONFIG_PASS
экспорт RCLONE_CONFIG_PASS
  

Затем создайте файл, когда хотите его использовать. Из оболочки ты будет делать source set-rclone-password . Затем он попросит вас пароль и установите его в переменной окружения.

Альтернативным способом предоставления пароля является предоставление сценария который получит пароль и распечатает его на стандартный вывод.Этот сценарий должен иметь полностью указанный путь и не полагаться на какие-либо переменные среды. Скрипт поставляется либо через --password-command = "..." аргумент командной строки или через RCLONE_PASSWORD_COMMAND переменная среды.

Одним из полезных примеров этого является использование приложения хранилища паролей . для получения пароля:

  экспорт RCLONE_PASSWORD_COMMAND = "передать rclone / config"
  

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

Если вы запускаете rclone внутри сценария, если вы не используете --password-command , вы можете отключить запрос пароля. Для этого передайте параметр --ask-password = false для rclone.Вместо этого rclone выйдет из строя запроса пароля, если RCLONE_CONFIG_PASS не содержит действительный пароль, и --password-command не предоставлен.

Некоторые команды rclone, такие как genautocomplete , не требуют настройки. Тем не менее, rclone прочитает любой найденный файл конфигурации. по правилам, описанным выше. Если обнаружен зашифрованный файл конфигурации, это означает, что вам будет предложено ввести пароль (если не используется --password-command ).Чтобы этого избежать, можно обойти загрузка файла конфигурации путем замены местоположения пустым строка "" или специальное значение / notfound , или представленное устройство os null по значению NUL в Windows и / dev / null в системах Unix (до rclone версия 1.55 поддерживалась только эта альтернатива нулевого устройства). Например. rclone --config = "" genautocomplete bash .

Параметры разработчика

Эти параметры полезны при разработке или отладке rclone.Там также есть несколько более удаленных конкретных параметров, которые не задокументированы вот которые используются для тестирования. Они начинаются с удаленного имени, например. --drive-test-option - см. Документацию по рассматриваемому пульту.

--cpuprofile = ФАЙЛ

Записать профиль ЦП в файл. Это можно проанализировать с помощью инструмента go pprof .

- сбросить флаг, флаг, флаг

Флаг --dump принимает список флагов, разделенных запятыми, для вывода информации о.

Обратите внимание, что некоторые заголовки, включая Accept-Encoding , как показано, могут не быть правильным в запросе, и ответ может не отображать Content-Encoding если действовало автоматическое кодирование gzip стандартных библиотек go.В таком случае текст запроса будет заархивирован перед его показом.

Доступные флаги:

Дампить заголовки HTTP с авторизацией : удалено строк. Может еще содержат конфиденциальную информацию. Может быть очень многословным. Полезно для отладки Только.

Используйте --dump auth , если вам нужны заголовки Authorization: .

- кузова-самосвалы

Дампить заголовки и тела HTTP - могут содержать конфиденциальную информацию. Может быть очень многословный.Полезно только для отладки.

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

- запросы дампа

Как - выгрузить тела , но выгрузить тела запроса и ответ заголовки. Полезно для устранения проблем с загрузкой.

- сбросить ответы

Как - выгрузить тела , но выгрузить тела ответа и запрос заголовки. Полезно для устранения проблем с загрузкой.

- авторизация дампа

Дамп HTTP-заголовков - будет содержать конфиденциальную информацию, такую ​​как Авторизация: заголовков - используйте --dump заголовки для сброса без Авторизация: заголовков.Может быть очень многословным. Полезно для отладки Только.

- фильтры сброса

Сбросить фильтры на выход. Полезно видеть, что именно включает и параметры исключения фильтруются.

- сбросить горутины

Это выводит список запущенных подпрограмм в конце команды на стандартный вывод.

- дамп открытых файлов

Это выводит список открытых файлов в конце команды. Это для этого используется команда lsof , поэтому вам потребуется установить ее для используй это.

--memprofile = ФАЙЛ

Записать профиль памяти в файл. Это можно проанализировать с помощью инструмента go pprof .

Фильтрация

Для опций фильтрации

  • - исключить удаление
  • - фильтр
  • --фильтр-из
  • - исключить
  • - исключить из
  • - включая
  • --включить - из
  • --файлы - из
  • - файлы из сырых файлов
  • - минимальный размер
  • - макс. Размер
  • - возраст
  • - макс. Возраст
  • - фильтры сброса

См. Раздел фильтрации.

Пульт дистанционного управления

Для опций дистанционного управления и инструкций по удаленному управлению rclone

  • -RC
  • и все, что начинается с --rc-

См. Раздел о дистанционном управлении.

Лесозаготовки

rclone имеет 4 уровня ведения журнала, ОШИБКА , УВЕДОМЛЕНИЕ , ИНФОРМАЦИЯ и ОТЛАДКА .

По умолчанию rclone регистрирует стандартную ошибку. Это означает, что вы можете перенаправить стандартную ошибку и по-прежнему видите нормальный вывод команд rclone (например,грамм. rclone ls ).

По умолчанию rclone будет выдавать сообщения уровня Error и Notice .

Если вы используете флаг -q , rclone будет выдавать только сообщения об ошибке .

Если вы используете флаг -v , rclone выдаст Error , Notice и Информация сообщений.

Если вы используете флаг -vv , rclone выдаст Error , Notice , Информация и Сообщения отладки .

Вы также можете управлять уровнями журнала с помощью флага --log-level .

Если вы используете параметр --log-file = FILE , rclone перенаправит ошибку , Информация и Отладка сообщений вместе со стандартной ошибкой в ​​ФАЙЛ.

Если вы используете флаг --syslog , то rclone войдет в системный журнал, а --syslog-feature определяет, какое средство оно использует.

Rclone ставит перед всеми сообщениями журнала их уровень заглавными буквами, например.грамм. ИНФОРМАЦИЯ что упрощает поиск в файле журнала различных типов Информация.

Код выхода

Если во время выполнения команды возникнут какие-либо ошибки, rclone завершит работу с ненулевой код выхода. Это позволяет сценариям определять, когда rclone операции не удались.

Во время фазы запуска rclone немедленно завершит работу, если возникнет ошибка. обнаружен в конфигурации. Всегда будет сообщение журнала непосредственно перед выходом.

Когда rclone запущен, он будет накапливать ошибки по мере продвижения, и выходить только с ненулевым кодом выхода, если (после повторных попыток) были все еще неудачные переводы.Для каждой подсчитанной ошибки будет высокий сообщение журнала приоритета (отображается с -q ), показывающее сообщение и какой файл вызвал проблему. Также отображается сообщение с высоким приоритетом при запуске повторной попытки, чтобы пользователь мог видеть, что любая предыдущая ошибка сообщения могут быть недействительными после повторной попытки. Если rclone повторил попытку он будет записывать сообщение с высоким приоритетом, если повторная попытка была успешной.

Список кодов выхода

  • 0 - успех
  • 1 - Синтаксическая ошибка или ошибка использования
  • 2 - Ошибка без другой категории
  • 3 - Справочник не найден
  • 4 - Файл не найден
  • 5 - Временная ошибка (которую можно исправить несколькими повторными попытками) (ошибки повторных попыток)
  • 6 - Менее серьезные ошибки (например, 461 ошибка из Dropbox) (ошибки NoRetry)
  • 7 - Неустранимая ошибка (ошибка, которую нельзя исправить несколькими повторными попытками, например, приостановка учетной записи) (Неустранимые ошибки)
  • 8 - Передача превышена - достигнут предел, установленный параметром --max-transfer
  • 9 - Операция прошла успешно, но файлы не переданы

Переменные среды

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

Опции

Каждая опция в rclone может иметь значение по умолчанию, установленное средой Переменная.

Чтобы найти имя переменной среды, сначала возьмите длинный имя опции, удалить ведущие - , изменить - на _ , сделать верхний регистр и добавить RCLONE_ .

Например, чтобы всегда устанавливать --stats 5s , установите переменную среды RCLONE_STATS = 5 с .Если вы установите статистику в командной строке, это будет переопределить настройку переменной среды.

Или всегда использовать мусор на диске --drive-use-trash , установить RCLONE_DRIVE_USE_TRASH = правда .

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

Конфигурационный файл

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

Чтобы найти имя переменной окружения, нужно установить, взять RCLONE_CONFIG_ + имя удаленного + _ + имя параметра конфигурационного файла и сделайте все прописными.

Например, для настройки удаленного S3 с именем mys3: без конфигурации файл (с использованием unix-способов установки переменных среды):

  $ экспорт RCLONE_CONFIG_MYS3_TYPE = s3
$ экспорт RCLONE_CONFIG_MYS3_ACCESS_KEY_ID = XXX
$ экспорт RCLONE_CONFIG_MYS3_SECRET_ACCESS_KEY = XXX
$ rclone lsd MYS3:
          -1 2016-09-21 12:54:21 -1 my-bucket
$ rclone listremotes | grep mys3
mys3:
  

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

Обратите внимание, что теперь у rclone есть строки подключения, их, вероятно, проще использовать вместо них, что делает приведенный выше пример

  rclone lsd: s3, access_key_id = XXX, secret_access_key = XXX:
  

Приоритет

Различные методы настройки серверной части читаются в используется этот порядок и первый со значением.

  • Значения флагов, указанные в командной строке, например - диск-использование-мусор .
  • Удаленные переменные среды, например RCLONE_CONFIG_MYREMOTE_USE_TRASH (см. Выше).
  • переменные среды, специфичные для серверной части, например RCLONE_DRIVE_USE_TRASH .
  • файл конфигурации, например use_trash = false .
  • Значения по умолчанию, например правда - изменить нельзя.

Итак, если и --drive-use-trash, указаны в строке конфигурации и переменная окружения RCLONE_DRIVE_USE_TRASH установлена, командная строка флаг будет иметь предпочтение.

Для конфигурации без серверной части порядок следующий:

  • Значения флагов, указанные в командной строке, например - статистика 5s .
  • Вары среды, например RCLONE_STATS = 5 с .
  • Значения по умолчанию, например - изменить нельзя.

Другие переменные среды

  • RCLONE_CONFIG_PASS , содержащий пароль для файла конфигурации (см. Раздел «Шифрование конфигурации»)
  • HTTP_PROXY , HTTPS_PROXY и NO_PROXY (или их версии в нижнем регистре).
    • HTTPS_PROXY имеет приоритет над HTTP_PROXY для запросов https.
    • Значения среды могут быть либо полным URL-адресом, либо "хостом [: порт]" для, в этом случае предполагается схема "http".
  • RCLONE_CONFIG_DIR - rclone устанавливает эту переменную для использования в файлах конфигурации и подпроцессах, чтобы она указывала на каталог, содержащий файл конфигурации.

% PDF-1.4 % 1 0 obj [/ PDF / ImageB / ImageC / ImageI / Text] эндобдж 4 0 объект > эндобдж 6 0 obj > эндобдж 8 0 объект > эндобдж 10 0 obj > эндобдж 12 0 объект > эндобдж 14 0 объект > эндобдж 16 0 объект > эндобдж 18 0 объект > эндобдж 20 0 объект > эндобдж 22 0 объект > эндобдж 24 0 объект > эндобдж 25 0 объект > эндобдж 27 0 объект > эндобдж 29 0 объект > эндобдж 31 0 объект > эндобдж 32 0 объект > эндобдж 34 0 объект > эндобдж 36 0 объект > эндобдж 38 0 объект > эндобдж 39 0 объект > эндобдж 41 0 объект > эндобдж 43 0 объект > эндобдж 45 0 объект > эндобдж 47 0 объект > эндобдж 49 0 объект > эндобдж 50 0 объект > эндобдж 52 0 объект > эндобдж 54 0 объект > эндобдж 56 0 объект > эндобдж 57 0 объект > эндобдж 59 0 объект > эндобдж 61 0 объект > эндобдж 63 0 объект > эндобдж 65 0 объект > эндобдж 67 0 объект > эндобдж 69 0 объект > эндобдж 70 0 объект > эндобдж 72 0 объект > эндобдж 73 0 объект > эндобдж 75 0 объект > эндобдж 77 0 объект > эндобдж 79 0 объект > эндобдж 80 0 объект > эндобдж 81 0 объект > эндобдж 83 0 объект > эндобдж 84 0 объект > эндобдж 86 0 объект > эндобдж 87 0 объект > эндобдж 89 0 объект > эндобдж 91 0 объект > эндобдж 93 0 объект > эндобдж 95 0 объект > эндобдж 97 0 объект > эндобдж 99 0 объект > эндобдж 101 0 объект > эндобдж 103 0 объект > эндобдж 104 0 объект > эндобдж 106 0 объект > эндобдж 108 0 объект > эндобдж 110 0 объект > эндобдж 111 0 объект > эндобдж 112 0 объект > эндобдж 114 0 объект > эндобдж 115 0 объект > эндобдж 117 0 объект > эндобдж 119 0 объект > эндобдж 121 0 объект > эндобдж 123 0 объект > эндобдж 124 0 объект > эндобдж 125 0 объект > эндобдж 127 0 объект > эндобдж 128 0 объект > эндобдж 130 0 объект > эндобдж 131 0 объект > эндобдж 133 0 объект > эндобдж 135 0 объект > эндобдж 136 0 объект > эндобдж 138 0 объект > эндобдж 139 0 объект > эндобдж 141 0 объект > эндобдж 143 0 объект > эндобдж 144 0 объект > эндобдж 146 0 объект > эндобдж 148 0 объект > эндобдж 149 0 объект > эндобдж 151 0 объект > эндобдж 153 0 объект > эндобдж 155 0 объект > эндобдж 157 0 объект > эндобдж 159 0 объект > эндобдж 161 0 объект > эндобдж 163 0 объект > эндобдж 164 0 объект > эндобдж 166 0 объект > эндобдж 167 0 объект > эндобдж 168 0 объект > эндобдж 170 0 объект > эндобдж 171 0 объект > эндобдж 173 0 объект > эндобдж 174 0 объект > эндобдж 176 0 объект > эндобдж 177 0 объект > эндобдж 178 0 объект > эндобдж 180 0 объект > эндобдж 181 0 объект > эндобдж 182 0 объект > эндобдж 183 0 объект > эндобдж 185 0 объект > эндобдж 187 0 объект > эндобдж 188 0 объект > эндобдж 190 0 объект > эндобдж 192 0 объект > эндобдж 193 0 объект > эндобдж 195 0 объект > эндобдж 196 0 объект > эндобдж 198 0 объект > эндобдж 199 0 объект > эндобдж 200 0 объект > эндобдж 202 0 объект > эндобдж 203 0 объект > эндобдж 205 0 объект > эндобдж 206 0 объект > эндобдж 207 0 объект > эндобдж 209 0 объект > эндобдж 210 0 объект > эндобдж 211 0 объект > эндобдж 212 0 объект > эндобдж 213 0 объект > эндобдж 214 0 объект > эндобдж 215 0 объект > эндобдж 216 0 объект > эндобдж 218 0 объект > эндобдж 220 0 объект > эндобдж 221 0 объект > эндобдж 222 0 объект > эндобдж 224 0 объект > эндобдж 226 0 объект > эндобдж 228 0 объект > эндобдж 229 0 объект > эндобдж 231 0 объект > эндобдж 232 0 объект > эндобдж 234 0 объект > эндобдж 235 0 объект > эндобдж 237 0 объект > эндобдж 239 0 объект > эндобдж 241 0 объект > эндобдж 243 0 объект > эндобдж 245 0 объект > эндобдж 247 0 объект > эндобдж 248 0 объект > эндобдж 250 0 объект > эндобдж 252 0 объект > эндобдж 253 0 объект > эндобдж 254 0 объект > эндобдж 256 0 объект > эндобдж 257 0 объект > эндобдж 258 0 объект > эндобдж 260 0 объект > эндобдж 262 0 объект > эндобдж 264 0 объект > эндобдж 266 0 объект > эндобдж 267 0 объект > эндобдж 268 0 объект > эндобдж 269 ​​0 объект > эндобдж 271 0 объект > эндобдж 273 0 объект > эндобдж 274 0 объект > эндобдж 275 0 объект > эндобдж 277 0 объект > эндобдж 278 0 объект > эндобдж 280 0 объект > эндобдж 281 0 объект > эндобдж 283 0 объект > эндобдж 285 0 объект > эндобдж 286 0 объект > эндобдж 287 0 объект > эндобдж 289 0 объект > эндобдж 290 0 объект > эндобдж 292 0 объект > эндобдж 293 0 объект > эндобдж 294 0 объект > эндобдж 295 0 объект > эндобдж 296 0 объект > эндобдж 297 0 объект > эндобдж 299 0 объект > эндобдж 300 0 объект > эндобдж 301 0 объект > эндобдж 303 0 объект > эндобдж 304 0 объект > эндобдж 305 0 объект > эндобдж 306 0 объект > эндобдж 307 0 объект > эндобдж 308 0 объект > эндобдж 309 0 объект > эндобдж 311 0 объект > эндобдж 312 0 объект > эндобдж 313 0 объект > эндобдж 315 0 объект > эндобдж 316 0 объект > эндобдж 317 0 объект > эндобдж 318 0 объект > эндобдж 320 0 объект > эндобдж 322 0 объект > эндобдж 323 0 объект > эндобдж 325 0 объект > эндобдж 327 0 объект > эндобдж 328 0 объект > эндобдж 330 0 объект > эндобдж 331 0 объект > эндобдж 332 0 объект > эндобдж 333 0 объект > эндобдж 334 0 объект > эндобдж 335 0 объект > эндобдж 336 0 объект > эндобдж 337 0 объект > эндобдж 338 0 объект > эндобдж 339 0 объект > эндобдж 341 0 объект > эндобдж 343 0 объект > эндобдж 344 0 объект > эндобдж 345 0 объект > эндобдж 347 0 объект > эндобдж 348 0 объект > эндобдж 349 0 объект > эндобдж 350 0 объект > эндобдж 352 0 объект > эндобдж 354 0 объект > эндобдж 355 0 объект > эндобдж 356 0 объект > эндобдж 357 0 объект > эндобдж 358 0 объект > эндобдж 359 0 объект > эндобдж 361 0 объект > эндобдж 363 0 объект > эндобдж 364 0 объект > эндобдж 366 0 объект > эндобдж 367 0 объект > эндобдж 368 0 объект > эндобдж 369 0 объект > эндобдж 370 0 объект > эндобдж 372 0 объект > эндобдж 373 0 объект > эндобдж 375 0 объект > эндобдж 376 0 объект > эндобдж 378 0 объект > эндобдж 379 0 объект > эндобдж 381 0 объект > эндобдж 382 0 объект > эндобдж 383 0 объект > эндобдж 384 0 объект > эндобдж 386 0 объект > эндобдж 387 0 объект > эндобдж 388 0 объект > эндобдж 389 0 объект > эндобдж 390 0 объект > эндобдж 391 0 объект > эндобдж 392 0 объект > эндобдж 393 0 объект > эндобдж 394 0 объект > эндобдж 395 0 объект > эндобдж 397 0 объект > эндобдж 398 0 объект > эндобдж 399 0 объект > эндобдж 401 0 объект > эндобдж 402 0 объект > эндобдж 403 0 объект > эндобдж 404 0 объект > эндобдж 405 0 объект > эндобдж 406 0 объект > эндобдж 407 0 объект > эндобдж 409 0 объект > эндобдж 411 0 объект > эндобдж 413 0 объект > эндобдж 414 0 объект > эндобдж 415 0 объект > эндобдж 416 0 объект > эндобдж 418 0 объект > эндобдж 419 0 объект > эндобдж 420 0 объект > эндобдж 421 0 объект > эндобдж 423 0 объект > эндобдж 424 0 объект > эндобдж 426 0 объект > эндобдж 427 0 объект > эндобдж 428 0 объект > эндобдж 429 0 объект > эндобдж 430 0 объект > эндобдж 431 0 объект > эндобдж 432 0 объект > эндобдж 433 0 объект > эндобдж 435 0 объект > эндобдж 436 0 объект > эндобдж 438 0 объект > эндобдж 439 0 объект > эндобдж 440 0 объект > эндобдж 442 0 объект > эндобдж 443 0 объект > эндобдж 445 0 объект > эндобдж 446 0 объект > эндобдж 447 0 объект > эндобдж 448 0 объект > эндобдж 449 0 объект > эндобдж 450 0 объект > эндобдж 451 0 объект > эндобдж 452 0 объект > эндобдж 453 0 объект > эндобдж 454 0 объект > эндобдж 456 0 объект > эндобдж 458 0 объект > эндобдж 459 0 объект > эндобдж 461 0 объект > эндобдж 462 0 объект > эндобдж 463 0 объект > эндобдж 464 0 объект > эндобдж 465 0 объект > эндобдж 467 0 объект > эндобдж 468 0 объект > эндобдж 469 0 объект > эндобдж 470 0 объект > эндобдж 471 0 объект > эндобдж 472 0 объект > эндобдж 473 0 объект > эндобдж 474 0 объект > эндобдж 475 0 объект > эндобдж 476 0 объект > эндобдж 477 0 объект > эндобдж 478 0 объект > эндобдж 479 0 объект > эндобдж 480 0 объект > эндобдж 481 0 объект > эндобдж 482 0 объект > эндобдж 483 0 объект > эндобдж 484 0 объект > эндобдж 485 0 объект > эндобдж 486 0 объект > эндобдж 488 0 объект > эндобдж 489 0 объект > эндобдж 490 0 объект > эндобдж 491 0 объект > эндобдж 492 0 объект > эндобдж 493 0 объект > эндобдж 494 0 объект > эндобдж 495 0 объект > эндобдж 496 0 объект > эндобдж 497 0 объект > эндобдж 498 0 объект > / ExtGState> / Pattern> / Font> / XObject >>> / Filter / FlateDecode / Length 5529 >> поток xK ܸ + `fERO` = ro6bC ~ Ӛ> QEIuxl`gGbX, O? {ex (g {?}] S ջ / _ xcow ~~ {ѿ2a ~ Ìw'vv_v [a_ ڮ 3] ն? \ [y! ݿ nj ֺ ôs

нг-яндекс-метрика - нпм

Это краткое руководство находится в стадии активной разработки и еще не достигло своей окончательной формы.

Возможно, он не полностью совместим с текущими версиями Angular.

Это простое руководство для библиотек Angular, реализующее Angular Package Format v4.0.

В настоящее время поддерживаются только библиотеки первичной точки входа с незаданной областью.

Характеристики:

  • простая библиотека примеров
  • юнит-тестов для библиотеки
  • демонстрационное приложение, которое использует библиотеку в режиме JIT и работает в режиме просмотра
  • приложение интеграции, которое использует библиотеку в режиме JIT и AOT и запускает тесты e2e

Общие задачи представлены в виде сценариев npm:

  • npm start для запуска сервера live-reload с демонстрационным приложением
  • npm run test для проверки в режиме часов или npm run test: один раз для запуска только один раз
  • npm запустите сборку для сборки библиотеки
  • npm run lint to lint
  • npm run clean для очистки
  • npm запустить интеграцию для запуска тестов интеграции e2e
  • npm install./ relative / path / to / lib после npm запустить сборку для локального тестирования в другом приложении

Если вам нужно отладить приложение интеграции, проверьте ./integration/README.md .

Исходный код библиотеки QuickStart

Этот пример репозитория реализует описанный формат пакета, но никоим образом не единственный способ опубликовать библиотеку.

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

При разработке собственной установки имейте в виду, что даже если AOT является предпочтительным, должна поддерживаться своевременная компиляция.

Убедитесь, что у вас установлены как минимум Node 6.9 и NPM 3.0. Тогда ...

  1. Создайте папку проекта (вы можете назвать ее quickstart-lib и переименовать позже).
  2. Клонируйте или загрузите исходный код QuickStart Library в папку вашего проекта.
  3. Установите пакеты npm.
  4. Запустите npm start , чтобы запустить образец приложения.

Клон

Выполните шаги клонирования для запуска с этими командами терминала.

  git clone https://github.com/filipesilva/angular-quickstart-lib.git
cd angular-quickstart-lib
npm install
npm start
  

Скачать

Загрузите начальную версию библиотеки QuickStart и разархивируйте его в папку своего проекта. Затем выполните оставшиеся шаги с этими командами терминала.

  компакт-диск angular-quickstart-lib
npm install
npm start
  

Инициализировать репозиторий

Если вы клонировали пакет из github, в нем есть папка .git , в которой находится история официального репозитория.

Однако вам не нужна эта история git - вы захотите создать свою собственную.

Удалите эту папку и инициализируйте ее как новый репозиторий:

  rm -rf .git # Linux или OS / X (bash)
rd .git / S / Q # Windows
git init
  

Предупреждение : делайте это только в начале, чтобы избежать случайного удаления вашей собственной настройки git!

Что входит в начальное число библиотеки QuickStart?

Начальное число библиотеки QuickStart содержит структуру, аналогичную начальному значению Quickstart.Он модифицирован для создания и тестирования библиотеки вместо приложения.

Следовательно, в проекте много разных файлов . Сосредоточьтесь на следующих файлах TypeScript ( .ts ) в папке / src .

  src /
├── демо /
| └── приложение /
| ├── app.component.ts
| └── app.module.ts
└── lib /
   ├── index.ts
   └── src /
      ├── компонент /
      | └── lib.component.ts
      ├── услуги /
      | └── lib.service.ts
      └── модуль.ts

  

Каждый файл имеет определенную цель и развивается независимо по мере роста приложения.

Файлы за пределами src / относятся к созданию, развертыванию и тестированию вашего приложения. Они включают файлы конфигурации и внешние зависимости.

Файлы внутри src / lib / «принадлежат» вашей библиотеке, а src / demo / содержит демонстрационное приложение. который загружает вашу библиотеку.

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

Когда вы запускаете npm start , демонстрационное приложение обслуживается.

Все перечисленные ниже находятся в src /

Файл Цель
демонстрация / app / app.component.ts Демонстрационный компонент, отображающий библиотечный компонент и значение из библиотечной службы.
демо / app / app.module.ts Демо-версия NgModule , которая импортирует библиотеку LibModule .
библиотека / SRC / компонент / app.component.ts Компонент библиотеки примеров, который отображает тег h3 .
библиотека / SRC / служба / lib.service.ts Пример библиотечной службы, экспортирующей значение.
библиотека / SRC / module.ts Основные библиотеки NgModule , LibModule .
библиотека / index.ts Публичный API вашей библиотеки, в котором вы выбираете, что экспортировать потребителям.

Шаг сборки

Вы можете собрать библиотеку, запустив команду npm run build . Это создаст каталог dist / со всеми точками входа, описанными выше.

Всю логику создания сборки можно найти в ./build.js . Он состоит примерно из 5 шагов:

  • Компиляция с помощью компилятора AOT (компилятор AOT или ngc ) для ES5 и ES2015.
  • Встроенный HTML и CSS внутри сгенерированных файлов JavaScript.
  • Копирование набора текста, метатады, HTML и CSS.
  • Создайте каждый пакет с помощью накопительного пакета.
  • Скопируйте ЛИЦЕНЗИЮ , package.json и README.md файлы

Библиотеки тестирования

Хотя тестирование всегда важно, особенно важно в библиотеках, потому что потребитель приложения могут ломаться из-за ошибок в библиотеках.

Но тот факт, что библиотека используется другим приложением, также затрудняет тестирование.

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

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

Чтобы запустить интеграционные тесты, выполните npm, запустите интеграцию , которая выполняет следующие действия:

  • Создайте свою библиотеку.
  • Войдите в каталог приложения интеграции.
  • Установить зависимости.
  • Создайте приложение в режиме AOT.
  • Протестируйте приложение в режиме AOT.
  • Протестируйте приложение в режиме JIT.

Выполнение интеграционных тестов дает вам больше уверенности в том, что ваша библиотека построена правильно.

В дополнение к интеграционным тестам вы также можете запускать модульные тесты в режиме просмотра через npm run test , или однократный запуск с помощью npm run test: один раз .

Вы также можете протестировать свою библиотеку, установив ее в другом локальном репозитории.Для этого сначала создайте свою библиотеку с помощью команды npm run build . Затем установите его из другого репо, используя относительный путь к папке dist: npm установить относительный / путь / к / библиотеке / dist .

Публикация вашей библиотеки

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

Используйте свой редактор, чтобы найти в проекте все экземпляры quickstart-lib и изменить его на ваше предполагаемое имя (также в формате тире ).Имя библиотеки упоминается как минимум в этих файлах:

  • интеграция / src / app / app.component.ts
  • интеграция / src / app / app.module.ts
  • интеграция / src / systemjs.config.js
  • интеграции / package.json
  • src / demo / app / app.component.ts
  • src / demo / app / app.module.ts
  • src / demo / systemjs.config.js
  • src / demo / tsconfig.json
  • src / lib / tsconfig.es5.json
  • src / lib / tsconfig.lib.json
  • bs-config.json
  • package.json
  • README.md

Вам также необходимо переименовать папку, в которой находится ваш проект.

После того, как вы изменили имя пакета, вы можете опубликовать его в NPM (прочтите эту ссылку для подробностей).

Вместо того, чтобы следовать Обновление пакета в предыдущем документе, здесь мы используем стандартная версия.Прочтите их документацию, чтобы узнать, как его использовать.

Сначала вам нужно создать учетную запись NPM и войти в систему на своем локальном компьютере. Затем вы можете опубликовать свой пакет, запустив npm publish dist / .
Поскольку ваш пакет построен на основе папки dist / , вам следует опубликовать именно его.

Будьте хорошим сопровождающим библиотеки

Теперь, когда вы опубликовали библиотеку, вам также необходимо поддерживать ее. Ниже приведены некоторые из наиболее важных моментов:

Приложение: Поддержка AOT

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

Только код, написанный на TypeScript, может быть скомпилирован AOT.

Перед публикацией библиотеку необходимо сначала скомпилировать с помощью компилятора AOT ( ngc ). ngc расширяет компилятор tsc , добавляя расширения для поддержки компиляции AOT в дополнение к обычная компиляция TypeScript.

Компиляция

AOT выводит три файла, которые должны быть включены для совместимости с AOT.

Транспортированный JavaScript

Как обычно, исходный TypeScript переносится на обычный JavaScript.

Файлы типографий

JavaScript не может отображать типизацию. Чтобы сохранить исходную типизацию, ngc сгенерирует .d.ts файлов типизации.

Файлы метаданных JSON

ngc выводит метаданные.json для каждого Component и NgModule . Эти файлы метаданных представляют информацию в исходном модуле NgModule и компоненте . декораторы.

Метаданные могут ссылаться на внешние шаблоны или файлы CSS. Эти внешние файлы должны быть включены в библиотеку.

NgЗаводы

ngc также создает серию файлов с суффиксом .ngfactory . Эти файлы представляют собой скомпилированный исходный код AOT, но не должны включаться в опубликованную библиотеку.

Вместо этого компилятор ngc в приложении-потребителе будет генерировать файлов .ngfactory на основе на JavaScript, типах и метаданных, поставляемых с библиотекой.

Почему бы не опубликовать TypeScript?

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

Обычно не рекомендуется поставлять TypeScript со сторонними библиотеками.Потребителю потребуется воспроизвести всю среду сборки библиотеки. Не только типизации, но и, возможно, конкретная версия ngc .

Публикация простого JavaScript с типизацией и метаданными позволяет приложению-потребителю оставаться независимым от среды сборки библиотеки.

Приложение: Поддержка JIT

Скомпилированный код AOT является предпочтительным форматом для производственных сборок, но из-за долгой компиляции время может быть нецелесообразно использовать AOT во время разработки.

Для создания более гибкого взаимодействия с разработчиками JIT-совместимая сборка библиотеки должна быть опубликованы. Формат пакета JIT - umd , что означает определение универсального модуля. Доставка комплекта как umd гарантирует совместимость с наиболее распространенными форматами загрузки модулей.

Комплект umd будет поставляться в виде одного файла, содержащего ES5 JavaScript и встроенные версии любые внешние шаблоны или css.

Приложение: Управление зависимостями

Как специалист по сопровождению библиотеки, важно правильно управлять своими зависимостями в пакете .json .

Есть три вида зависимостей: зависимости , devDependencies и peerDependencies .

  • dependencies : вот и все остальные библиотеки, от которых зависит использование. Хороший способ выяснить это - просмотреть исходный код вашей библиотеки (в src / lib только ) и перечислите там все библиотеки.
  • devDependencies : библиотеки, которые вам понадобятся при разработке, тестировании и создании вашей библиотеки иди сюда.Когда пользователь устанавливает вашу библиотеку, они не будут установлены. Пользователям не нужно разрабатывать, создавать или тестировать вашу библиотеку, им просто нужно запустить ее.
  • peerDependencies : они похожи на зависимости , поскольку ваша библиотека ожидает, что они будут там во время выполнения. Разница в том, что вы не хотите устанавливать новую версию, а вместо этого используйте тот, который уже есть в наличии.

Хорошим примером одноранговой зависимости является @ angular / core и все другие основные библиотеки Angular.Если вы перечислили эти в зависимости , то новый - с другой версией! - может быть установлен для вашей библиотеки. Но это не то, что вы хотели. Вы хотите, чтобы ваша библиотека использовала точно такой же @ angular / core что приложение использует.

Обычно вы используете библиотеки @ angular / * , перечисленные в devDependencies и peerDependencies . Это нормально и ожидаемо, потому что когда вы разрабатываете свою библиотеку, вам также понадобится копия их установили.

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

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

Хорошее практическое правило: все зависимости должны указываться с помощью тильды ~ ( ~ 1.2.3 ), в то время как ваши peerDependencies имеют диапазон ( "@ angular / core": "> = 4.0.0 <5.0.0 || > = 4.0.0-beta <5.0.0 ").

Любая дополнительная зависимость или одноранговая зависимость, которую вы добавляете в package.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *