По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Своевременное резервное копирование данных – это критически важная процедура для любой компьютерной системы, ведь именно от этого зависит, как скоро вы сможете восстановить её работоспособность, в случае внештатной ситуации или восстановить важные данные. Хорошо, когда этот процесс автоматизирован и администратору или инженеру не нужно проводить его вручную. Вместо этого система сама осуществляет резервное копирование по расписанию. Как можно догадаться, речь в сегодняшней статье пойдёт о модуле, позволяющем проводить резервное копирование настроек и конфигурационных файлов IP-АТС Asterisk - Backup & Restore. Бэкапирование – это ключевой шаг процесса установки IP-АТС, есть несколько путей его автоматизации, а также имеется возможность проводить резервное копирование вручную, если это необходимо. Рассмотрим возможности данного модуля и базовые параметры. Все примеры в данной статье будем приводить на FreePBX 13. Итак, для того чтобы попасть в модуль Backup & Restore, с главной страницы, необходимо перейти по следующему пути Admin - > Backup & Restore. Перед вами откроется страница с текущими созданными бэкапами, а также бэкапами системы по умолчанию В нашем случае, никаких бэкапов создано не было, поэтому меню отображает только бэкап по умолчанию. Если нажать на кнопку справа на скриншоте выше (выделена красным) , то перед вами откроются секции данного меню - Backups, Restore, Servers и Templates. Секция Backups открывается сразу и показана на рисунке выше. В данной секции вы можете полностью определить работы по резервному копированию данных, их количество, частоту и объем информации, который должен быть скопирован. Restore Секция Restore позволяет указать место хранения файлов резервных копий и проводить восстановление системы. Можно указать как путь к файлу резервной копии на локальном компьютере, нажав кнопку Browse напротив опции Upload File или же, если файл хранится в другом месте, указать путь к FTP, SSH или локальному серверу, переместившись на вкладку Browse Servers В данной секции определяются серверы IP-АТС или таблицы баз данных, конфигурации которых должны быть подвергнуты процедуре резервного копирования. С помощью кнопки Add Server, можно добавить новый сервер на котором будет храниться бэкап Templates Данная секция предназначена для создания групп файлов, директорий или баз данных, которые необходимо включить в будущий бэкап. По умолчанию, уже доступны некоторые шаблоны, такие как бэкап только CDR записей, только конфигурационных файлов, полный бэкап системы и другие. Вы можете создавать свои шаблоны при помощи кнопки New Template, необходимо будет только определить тип нового шаблона и заполнить соответствующие параметры. Для того чтобы сохранить новый шаблон, необходимо нажать Save. При создании нового бэкапа можно будет включать в него данные шаблоны, это сильно упростит процедуру резервного копирования, поскольку не нужно будет определять параметры каждого бэкапа, все они уже будут в шаблонах. Настройка бэкапа Итак, переходим к настройке. Как показано на первом скриншоте, нажмите на кнопку Add Backup: Пробежимся по настройкам: Backup Name - дайте понятное имя процессу бэкапирования, что его можно было идентифицировать среди прочих процессов. Description - описание бэкапа. Например, ежедневный, или еженедельный. Или бэкап CDR, или бэкап конфигурации. Status Email - адрес электронной почты, на который необходимо отправлять информацию о выполнении данного процесса резервного копирования. On Failure Only - отправлять письма только в случае, если процесс бэкапа завершился неудачно. Далее, модуль предлагает нам выбрать сегменты нашей АТС, которые мы хотим копировать. В данном поле действует принцип drag and drop. Это означает, что вам достаточно просто мышкой перенести необходимые объекты справа, в поле Items. Если у вас небольшая компания, до 20 или 30 человек, рекомендуем делать Full Backup, который регламентирует полное резервное копирование IP – АТС Asterisk. Hooks Данный раздел позволяет подключать собственные скрипты в процесс выполнения бэкапа. Например, это может скрипт, который будет делать отметку о бэкапе в базе данных, или будет формировать особое письмо, или будет вносить данные в систему учета. Данный раздел позволяет определить, в какой момент резервного копирования или восстановления из копии подключать данные скрипты: Pre-Backup Hook - в этом поле можно указать путь к скрипту, который необходимо запускать перед проведением резервного копирования. Post-Backup Hook - путь к скрипту, который необходимо выполнить после процесса бэкапа Pre-Restore Hook скрипт запускаемый перед началом процесса восстановления сервера из бэкапа. Post-Restore Hook - запуск скрипта после проведения восстановления. Backup Server - сервер, на котором необходимо произвести процесс бэкапирования Это может быть как сервер с вашей АТС (This server), либо это может быть любой другой сервер, который доступен по протоколу SSH. Данные сервера можно настроить в разделе Servers Важно, чтобы исполняемые скрипты имели достаточно прав доступа. Так же, не забудьте сделать пользователем этих файлов юзера asterisk Storage Location В данном меню производится настройках хранилища для файлов резервного копирования. Вы можете настроить различные FTP, SSH, Email, MySQL и даже Amazon сервера для хранения там различных экземпляров копий (бэкапов). Чтобы выбрать сервер, перенесите его из правой части (Available Servers) в поле слева, которое называется Storage Servers Расписание В данной секции необходимо определить, с какой периодичностью мы желаем проводить бэкапы. Доступны следующие опции: Never - не запускать данный скрипт. Hourly - запускать ежечасно. Скрипт запускается с самого начала нового часа. Как пример, в 13:00:01. Daily скрипт запускается ежедневно в полночь. Weekly - запуск скрипта происходит еженедельно в воскресение в полночь. Monthly - ежемесячно каждое первое число в полночь. Annually - ежегодно каждое первое января в полночь. Reboot - проводить бэкап при команду перезагрузки. Custom - собственное расписание бэкапов, позволяет определить конкретное время проведения бэкапа. Настройка касается минут, часов, дней недели, месяцев или дней месяца Удаление старых файлов В данном разделе вы можете указать количество копий, которое необходимо хранить, а также, когда удалять старые файлы резервного копирования: Delete After - укажите возраст файла, который необходимо будет удалить. Например, можно удалять файлы после 1 месяца хранения. Delete After Runs -данное поле определяет количество копий, которое будет хранить сервер. Например, если вы укажите цифру 5, то после того, как сервер сделает 5 бэкапов, на 6 копирование будет удален самый старый файл. Тем самым, сервер будет поддерживать постоянное количество копий в размере 5, удаляя самый старый из них файл. Настройка восстановления (Restore) Перейдя во вкладку Restore, вам будут показаны все доступные резервные копии. В навигации между директориями, выберите необходимые файлы. Они буду иметь расширение .tgz: Выбрав необходимый файл, нажмите Go. Сразу после этого, вам будет предложено галочкой отметить какие сегменты бэкапа вы хотите восстановить (CDR, голосовую почту, конфигурацию и так далее). После выбора нажмите кнопку Restore и процесс будет запущен. Отметим, что процесс восстановления из локально файла абсолютно аналогичен. Просто необходимо нажать на копку Browse и выбрать необходимый файл. Добавление сервера В данной секции вы можете добавить новые сервер, на которые вам необходимо будет складывать резервные копии: Email - отправлять резервную копию на электронную почту в качестве вложения. FTP - отправлять бэкап – файлы на FTP сервер. Local - сохранять файлы бэкапов локально на сервере. MySQL Server - указать внешний MySQL сервер, на который Asterisk будет складывать копии базы данных. SSH Server -это может быть любая другая АТС, с которой вы можете также делать резервные копии (бэкапы). Шаблоны Шаблоны (templates) показывает готовые к работе заранее созданные в системы процессы проведения бэкапов с тем, или иным сегментом IP – АТС. Чтобы создать новый шаблон, нажмите New Template: Template Name - имя для шаблона. Description - описание шаблона, которое поможет вам проще ориентироваться среди прочих настроек. Чтобы добавить в бэкап файлы, папки или базы данных, нажмите на крестик (выделен красным на скриншоте выше). Откроется следующее меню: Добавьте необходимые вам файлы. По окончанию настроек, нажмите кнопку Save
img
Ошибочно можно подумать, что на вопрос «Какой язык программирования самый быстрый?» можно легко ответить. На самом же деле, когда речь идет о скорости и о программировании, то здесь возникает множество технических нюансов. Для начала определим - быстрее не значит лучше, это зависит от варианта использования. (Но мы к этому еще вернемся.) Здесь мы подробно рассмотрим, что делает язык программирования «быстрым», почему это так важно и как вы можете начать изучать некоторые из самых быстрых языков программирования. Что делает язык программирования быстрым? Ключевая особенность языка программирования, которая определяет его скорость, заключается в том, компилируемый он или интерпретируемый. Компилируемые языки, такие как Lisp, C++, Go, Rust и Swift, должны быть преобразованы в машинный код (см. ассемблер ниже), который уже непосредственно взаимодействует с аппаратной составляющей. Интерпретируемые языки, такие как Python, JavaScript, Ruby и PHP, работают путем преобразования исходного кода в машинный код налету. Поскольку этот процесс преобразования происходит непосредственно во время выполнения кода и увеличивает нагрузку, то можно сделать вывод, что интерпретируемые языки работают медленнее, чем компилируемые. Есть несколько других факторов, определяющих скорость языка. Возьмите, например, Java и C#. Эти языки являются и компилируемыми, и интерпретируемыми. Однако вместо компиляции в код на языке ассемблера они компилируются в байт-код. Скомпилированный байт-код интерпретируется для запуска на виртуальной машине, оптимизированной для прямого взаимодействия с аппаратной составляющей. Байт-код – это своего рода язык ассемблера для виртуальной машины. Такой процесс делает эти языки более быстрыми, чем, например, JavaScript, который преобразует текстовый исходный код непосредственно в машинный. Другой фактор – это статическая или динамическая типизация. Языки со статической типизацией определяют типы всех переменных при компиляции языка, а языки с динамической типизацией проверяют тип переменных во время выполнения кода. Эта проверка типов в режиме реального времени несет за собой некоторые затраты вычислительных ресурсов, что делает языки с динамической типизацией медленнее, чем языки со статической типизацией. Какие языки программирования самые быстрые? Самый быстрый язык программирования должен напрямую взаимодействовать с машиной. Давайте рассмотрим некоторые из самых быстрых языков, с которыми вы можете столкнуться, а также посмотрим для чего они используются. Assembly (ассемблер) На самом деле язык ассемблера не является каким-то одним конкретным языком. Это просто название, которое дают любому низкоуровневому языку программирования, который напрямую взаимодействует с аппаратным обеспечением компьютера. Это означает, что ассемблер для вашего ноутбука будет отличаться от ассемблера для вашего мобильного телефона, поскольку у них разные процессоры, требующие разных инструкций. Обычно ассемблер используют только разработчики, которые работают непосредственно с аппаратной составляющей или которые создают языки программирования. Lisp Lisp – это один из первых языков программирования. Ему уже более 60 лет. Было множество разновидностей этого языка, и многие другие языки программирования использовали некоторый набор функциональных возможностей, характерный для Lisp. Clojure, например, - это современный диалект Lisp, реализованный для виртуальной машины Java. Однако Lisp находится в этом списке не благодаря Clojure. Common Lisp компилируется непосредственно на языке ассемблера, а это означает, что код, который вы пишете на Lisp, будет ассемблерным при запуске в качестве исполняемого файла. Lisp все еще используется, но чаще вы можете его встретить именно как Clojure, а не Common Lisp. C/C++ C и C++ также являются компилируемыми языками. С – это простой процедурный язык программирования, который был разработан в начале 1970-х годов и который широко используется и по сей день (в основном во встроенных приложениях из-за его скорости и небольшого размера). С++ - это язык, расширяющий С и добавляющий объектно-ориентированные функции. Именно из-за этого он заменил С во многих приложениях. С++ используется в тех случаях, когда важна производительность, например, при разработке 3D-видеоигр или операционных систем. Go Go, также известный как Golang, - это язык программирования, разработанный Google. Он компилируется в ассемблер, как и большинство других языков, упомянутых здесь, но у него гораздо больше современных функций, более простой синтаксис и на нем легче писать (в сравнении с давним лидером среди быстрых языков С/С++). Golang часто используется в сетевых серверах и распределенных системах, где его скорость может повысить производительность этих систем. Rust Rust – еще один компилируемый язык программирования, который также является более безопасной альтернативой С/С++. Он ориентирован на скорость, безопасность памяти и параллельную обработку. Он часто используется в игровых движках, компонентах браузера и движках моделирования виртуальной реальности, где скорость в приоритете. C# C# - это язык, подобный Java. Он сначала компилируется в байт-код, а затем интерпретируется виртуальной машиной. Это делает его похожим на интерпретируемый язык, но при этом добавляет скорости. C#, разработанный Microsoft, прост в освоении и содержит множество сторонних библиотек, которые упрощают и ускоряют разработку. Он часто используется для создания настольных приложений, видеоигр и веб-сервисов. Java Java компилируется в байт-код, который затем интерпретируется виртуальной машиной Java (JVM). Это один из первых языков, использующий такую процедуру, поэтому он быстро стал (и остается) таким популярным. Использование виртуальной машины подразумевает, что приложение Java может быть перемещено из одной операционной системы в другую без изменения кода, если для второй операционной системы доступна версия JVM. Эта кроссплатформенная функция в сочетании со скоростью делает Java популярным языком программирования для многих прикладных задач, включая веб-разработку, разработку настольных приложений, разработку игр, разработку мобильных приложений и т.д. Swift Swift – это современный язык программирования, разработанный Apple, который компилируется в ассемблер. Он был разработан с целью замены старого языка Objective-C. Он используется для разработки ваших любимых продуктов Apple, таких как Apple TV, Apple Watch, iPhone и iPad. Swift на сегодняшний день – самый популярный язык разработки для Mac OS X и iOS. Но при этом он также является кроссплатформенным и начинает использоваться и в других прикладных задачах. Не всегда дело в скорости Хотя скорость и важна при выборе языка программирования, но есть множество других факторов, о которых тоже не стоит забывать. При написании кода бывают ситуации, когда другие характеристики языка программирования могут оказаться важнее скорости. В конце концов, если бы скорость была в приоритете для каждого проекта, то языки программирования, не вошедшие в этот список, не применялись бы вовсе, и мы бы писали код на ассемблере. Так или иначе, правда в том, что некоторые из самых популярных языков программирования даже не вошли в этот список. Скорость относительна, и во многих случаях программа на С++ будет в 10 раз быстрее программы на Python, но в данном случае это не имеет значения. В конце концов, если операция завершится за 0,001 секунды, а не за 0,01 секунды, вы действительно почувствуете разницу? Однако разница будет заметна, если вам придется выполнять одну и ту же операцию тысячи раз в цикле. В большинстве случаев скорость разработки куда важнее скорости выполнения. Медленную программу можно масштабировать для повышения ее производительности, выделяя на нее больше ресурсов, а вычислительные ресурсы намного дешевле, чем оплата времени разработки для написания кода на более сложном для написания языке низкого уровня. Более медленные языки программирования популярны, потому что на них легче писать, они имеют множество доступных сторонних библиотек и могут быть быстрее развернуты. Все это ускоряет процесс разработки. Хотя скорость языка программирования не всегда является самой важной характеристикой, у нее все же есть определенные преимущества.
img
Пришло время заняться некоторыми более продвинутыми и интересными функциями протокола маршрутизации Open Shortest Path First. Мы начинаем с изучения конфигурации и проверки различных областей OSPF. Это упражнение является не только забавным, но и действительно может закрепить знания о том, как эти области функционируют и почему они существуют. Видео: протокол OSPF (Open Shortest Path First) за 8 минут OSPF LSA Types Области (Areas) - это фундаментальная концепция OSPF. Это то, что делает протокол маршрутизации иерархическим, как мы любим говорить. Существует основная магистральная область (область 0), которая соединяется с нормальными, не магистральными областями. Магистраль может также соединяться с особыми типами областей, которые мы подробно рассмотрим в этой группе статей. Такая иерархическая природа конструкции помогает гарантировать, что протокол является очень масштабируемым. Мы можем легко уменьшить или исключить ненужные потоки трафика маршрутизации и связи между областями, если это необходимо. Магистральная и не магистральная область (Backbone и Non-Backbone Areas) Вернемся немного назад к нашим предыдущим сообщениям в статьях об OSPF. На рисунке 1 показана простая многозонная сеть. Сейчас я настрою эту сеть, используя мой любимый подход к конфигурации, команду конфигурации уровня интерфейса ip ospf. Пример 1 показывает конфигурацию всех трех устройств. Рисунок 1: Магистральная и не магистральная область (Backbone и Non-Backbone Areas) Пример 1: Настройка магистральных и не магистральных областей ATL Router: ATL#conf t Enter configuration commands, one per line. End with CNTL/Z. ATL(config)#interface fa0/0 ATL(config-if)#ip ospf 1 area 0 ATL(config-if)#interface lo0 ATL(config-if)#ip ospf 1 area 0 ATL(config-if)#end ATL# ATL2 Router: ATL2#conf t Enter configuration commands, one per line. End with CNTL/Z. ATL2 (config)#interface fa0/0 ATL2 (config-if)#ip ospf 1 area 0 ATL2 (config-if)#interface *Mar 27 22 :03 :27.815 : %0SPF-5-ADJCHG : Process 1, Nbr 1 .1.1 .1 on FastEthernet0/0 from LOADING to FULL, Loading Done ATL2 (config-if)#interface fa1/0 ATL2 (config-if)#ip ospf 1 area 1 ATL2 (config-if)#end ATL2# ORL Router: ORL# conf t Enter configuration commands, one per line. End with CNTL/Z. ORL( config )#interface fa1/0 ORL(config-if)#ip ospf 1 area 1 ORL(config-if)#end ORL# *Mar 27 22 :04:21.515: %0SPF-5-ADJCHG: Process 1, Nbr 10.23.23.2 on FastEthernet1/0 from LOADING to FULL , Loading Done Обратите внимание на простоту этой конфигурации, даже если мы настраиваем довольно сложный протокол маршрутизации. Area Border Router (ABR) находится в ATL2 с одним интерфейсом в магистральной и одним в не магистральной области. Обратите также внимание, как мы получаем некоторые «бонусные» проверки. Когда мы настраиваем интерфейсы, мы можем видеть, что OSPF-соседства формируются между устройствами. Это избавляет нас от необходимости проверять их «вручную» с помощью следующей команды: ATL2# show ip ospf neighbor Интересной проверкой для нас здесь является проверка префикса 1.1.1.0/24 с устройства ATL (а также удаленной связи между ATL и ATL2). Мы проверяем это на ORL, чтобы проверить многозональную конфигурацию OSPF. Поскольку это «нормальная» область, все LSA должны быть разрешены в этой области, и мы должны видеть, что префикс появляется как межзонный маршрут OSPF. show ip route ospf Хотя это не часто требуется при устранении неполадок, но мы можем изучить базу данных OSPF, чтобы увидеть различные типы LSA. show ip ospf database Записи состояния соединения маршрутизатора являются Type 1 LSA. Это конечные точки в нашей локальной области 1. Записи состояния net link-это Type 2 LSA. Здесь мы видим идентификатор маршрутизатора назначенного маршрутизатора (DR). Наконец, суммарные состояния сетевых ссылок — это Type 3 LSA. Это префиксы, которые ABR посылает в нашу область. Конечно же, это loopback (1.1.1.0) и удаленная сеть (10.12.12.0). Примечание: интерфейс обратной связи (loopback interface) объявлен как хост-маршрут 32-разрядной версии. Чтобы изменить это, вы можете просто использовать команду ip ospf network point-to-point на интерфейсе loopback. Это изменяет тип сети от типа loopback для OSPF и вызывает объявление маски в том виде, в каком она настроена. Теперь пришло время добавить к этой истории еще и другое. Давайте настроим некоторые внешние префиксы и введем их в домен OSPF. Это просто благодаря loopback interfaces. Мы создадим некоторые из них на маршрутизаторе ATL, запустим EIGRP на них, а затем перераспределим их в OSPF. ATL#conf t Enter configuration commands, one per line. End with CNTL/Z . ATL (config)#interface lo10 ATL (config-if)#ip address 192.168.10.1 255.255.255.0 ATL (config-if)#interface loopback 20 ATL (config-if)#ip address 192.168.20.1 255.255.255.0 ATL (config if)#router eigrp 100 ATL (config-router)#network 192 .168.10.1 0.0.0.0 ATL (config-router)#network 192.168.20.1 0.0.0.0 ATL (config-router)#router ospf 1 ATL (config-router)#redistribute eigrp 100 subnets metric 1000 ATL (config-router)#end ATL# Теперь у нас есть еще более интересные проверки на устройстве ORL. Во-первых, таблица маршрутизации: show ip route ospf Обратите внимание, что удаленные префиксы перечислены как маршруты E2. Это значение по умолчанию для внешних маршрутов OSPF типа 2. Это означает, что метрика остается неизменной, поскольку префикс течет от ASBR (автономного системного пограничного маршрутизатора) к внутреннему спикеру OSPF. Вы можете изменить тип на Type 1, если хотите, когда вы выполняете перераспределение. Возможно, больший интерес представляет база данных OSPF: show ip ospf database Обратите внимание, как мы подбираем Type 4 LSA (summary ASB link state), который является идентификатором маршрутизатора (1.1.1.1) ASBR (ATL). Мы также получаем Type 5 LSA, которые являются внешними префиксами. На этом мы завершим ПЕРВУЮ часть нашей продвинутой серии блогов OSPF. В следующий раз мы рассмотрим создание stubby areas, totally stubby areas, not so stubby areas (NSSA), и totally NSSA.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59