По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Цель данной статьи, чтобы разобраться с тем как поправить незначительные ошибки, возникающие в файловых системах. Файловых систем много, поэтому много различных инструментов для работы с ними. Поэтому будет рассказано об основных инструментах к основным стандартным системам Linux. И рассмотрим несколько инструментов к рекомендованным LPIC файловым системам. Рассмотрим, так же журналируемые файловые системы и посмотрим индексные дескрипторы. Проверка целостности файловой системы; Проверка свободного пространства и индексных дескрипторов в файловой системе; Исправление проблем файловой системы. Список утилит: df, du, fsck, debugfs – общие утилиты для всех Linux систем mke2fs, e2fsck, dumpe2fs, tune2fs – утилиты для файловой системы ext xfs_check, xfs_repair, xfs_info, xfs_metadump – утилиты для файловой системы xfs Совершенно понятно, что для других файловых систем есть свои утилиты для работы с данными файловыми сиcтемами. Первая утилита df: man df Данная утилита показывает использование дискового пространства. У данной утилиты достаточно много ключей. Её особенностью является то, что она показывает дисковое пространство в 1 кбайт блоках. Данные цифры не очень понятны и удобны, для того чтобы было удобно можно использовать ключ –h и тогда вид станет удобно читаемым. В выводе команды мы сразу видим размер, сколько использовано, процент использование и точка монтирования. Как мы видим на новом перемонтированном разделе /dev/sdc1 занят 1% дискового пространства. Если посмотреть в папку монтирования раздела, то мы увидим там папку lost+found. Данная папка пуста, но занимает 37 МБ. Есть такое понятие индексные дескрипторы в журналируемых файловых системах inode. Inode – это метка идентификатора файла или по другому индексный дескриптор. В этих индексных дескрипторах хранится информация о владельце, типе файла, уровне доступа к нему. И нужно понимать, что для каждого файла создается свой отдельный inode. Команда df –I может показать нам inode. Число, например, inode напротив /dev/sda2 показывает сколько inode всего может быть на устройстве, далее сколько используется и сколько свободно. Обычно под inode отдается примерно 1% жесткого диска. И получается, что больше чем число inode на устройстве файлов и папок быть не может. Количество inode зависит от типа файловой системы. Далее мы рассмотрим, как пользоваться inode. Следующая команда du man du Данная команда показывает, что и сколько занимает у нас места на жестком диске, а именно размер папок в текущей директории. Если посмотреть вывод данной команды без ключей, то мы увидим список папок в текущей директории и количество блоков, с которым очень неудобно работать. Чтобы перевести данные блоки в человеческий вид, то необходимо дать ключ –h. А для еще большего удобства, можно установить замечательную утилиту ncdu простой командой. sudo apt install ncdu –y После установки нужно запустить ncdu. И мы увидим очень красивую картинку. Но вернемся к стандартной утилите du. С помощью данной утилиты мы можем указать в какой папке необходим просмотр папок и вывод их размера. du –h /home К сожалению данная утилита умеет взвешивать вес только каталогов и не показывает размер файлов. Для того, чтобы посмотреть размер файлов, мы конечно же можем воспользоваться командой ls –l. А также если мы запустим данную команду с ключем –i мы увидим номера inode файлов. Как вы видите у каждой папки и у каждого файла есть свой индексный дескриптор. Далее команды, которые нам позволят проверить целостность файловой системы. Команда fsck man fsck Как написано в описании утилиты она позволяет проверять и чинить Linux файловую систему. Мы можем видеть, например, в oперационной системе Windows, что в случае некорректного завершения работы операционной системы, операционная система запускает утилиту проверки целостности checkdisk. В случае необходимости данная утилита исправляет найденные ошибки в файловой системе. Следовательно, в Linux данные операции выполняет утилита fsck, причем может работать с различными файловыми системами Linux операционных систем. Мы можем попробовать воспользоваться утилитой fsck /dev/sdc1. В ответ от операционной системы мы получим следующее: Как мы видим операционная система вернула в ответ на команду для работы с данным разделом, что данный раздел с монтирован и операция прервана. Аналогичную ситуацию мы будем наблюдать в операционной системе Windows, если мы будем пытаться рабочий раздел проверить на ошибки. Т.е возникнет следующая ситуация. Если мы будем проверять дополнительный логический диск, где не установлена операционная система Windows, то данный раздел на время проведения тестов будет отключен и будут идти проверки. А если мы попытаемся проверить основной раздел, куда установлена операционная система Windows, то операционная система не сможет запустить данную утилиту и попросит перезагрузиться для запуска данной утилиты. В нашем случае придется делать точно так же. Поэтому, чтобы проверить необходимо отключить (от монтировать раздел) и после уже этого запускать утилиту. Из вывода можно заметить утилита пыталась запустить другую утилиту e2fsck, которая в данном случае отвечает за проверку файловых систем extext2ext3ext4. О чем достаточно подробно написано в описании данной утилиты. По сути fsck запускает утилиту ту, которая идет в пакете утилит для конкретной файловой системы. Бывает такое, что fsck не может определить тип файловой системы. Для того, чтобы утилита все-таки проверила файловую систему, необходимо отмонтировать логический раздел. Воспользуемся командой umount /mnt. И запускаем непосредственно саму проверку fsck –t ext4 /dev/sdc1 Проходит проверка моментально. Команда fsck запустилась и запустила необходимую утилиту для файловой системы. По результатам проверки файловая система чистая, найдено 11 файлов и 66753 блока. При обнаружении проблем, утилита предложила нам исправить. Для того, чтобы посмотреть на проверку другой файловой системы, необходимо переформатировать раздел. mkfs –t xfs –f /dev/sdc1 При попытке запуска проверки без указания типа файловой системы fsck /dev/sdc1 Как мы видим, утилита fsck отказалась проверять или вызывать утилиту, а явно указала на ту которую необходимо использовать в данном случае. Для проверки используем xfs_ncheck /dev/sdc1. А для починки файловой системы xfs_repair /dev/sdc1. Перемонтируем обратно наш раздел mount /dev/sdc1 /mnt Теперь можно получить информацию по разделу xfs_info /dev/sdc1 Или сделать дамп файловой системы xfs_metadump /dev/sdc1 dump.db Переформатируем файловую систему ext4 на разделе обратно /dev/sdc1. Перемонтируем в папку mnt. Создадим текстовый файл с текстом на данном разделе nano /mnt/test.txt Далее мы можем посмотреть следующую утилиту man debugfs. Данная утилита умеет очень многое: очень много ключей и различных опций. Чистит, удаляет, чинит, работает с inodes. Зайти в данную утилиту можно debugfs –w /dev/sdc1. Набираем help и видим кучу опций. Можно попросить данную утилиту вывести содержимое нашего тома. ls В результате данной команды мы увидим 2 объекта с номерами их inode. Теперь мы можем сказать rm test.txt и файл будет удален, точнее не сам файл а его индексный дескриптор., если посмотреть опять с помощью команды ls. То будет видно, что количество объектов не изменилось. Следовательно, мы этот файл в журналируемых файловых системах можем восстановить, восстановив его индексный дескриптор. Но только до тех пор, пока на место удаленного файла не был записан другой. Именно поэтому если требуется восстановление информации на диске, рекомендуется немедленно отключить ПК и после этого отдельно подключать носитель информации для процедуры восстановления. Так же на данном принципе основано сокрытие информации в Информационной безопасности, когда на носитель информации в 2 или 3 прохода записываются псевдослучайные данные. Для восстановления данных мы можем использовать команду lsdel. Данная команда показывает удаленные файлы. В принципе на данном debugfs и основаны многие программы для восстановления данных. На скриншоте хорошо видно, что был удален 1 inode с номером 12 дата и время, другие параметры. Для выхода используем q. Для восcтановления используем undel test.txt, команда, номер индексного дескриптора и имя файла с которым оно восстановится. Убедиться, что файл на месте можно с помощью команды ls. Утилита debagfs помогает восстанавливать файлы и вообще работать с файловой системой на низком уровне. Конечно восстанавливать по 1 файлу, это очень трудозатратно. Поэтому вот эти низкоуровневые утилиты используют более современные программы. Еще одна утилита dumpe2fs. Можно вызвать справку по данной утилите man dumpe2fs Данная команда делает дамп информации, которая хранится на данных томах. Выполним данную команду для /dev/sdc1 Мы получим следующий вывод информации. Данный вывод был сделан на стандартный вывод – т.е экран. Сделаем вывод в файл, например: dumpe2fs /dev/sdc1 > /tmp/output.txt Мы можем просмотреть информацию в выведенную в файл поэкранно с помощью less /tmp/output.txt В выводе мы сможем увидеть основные опции данной файловой системы. Переделаем файловую систему, текущую ext4 в ext2. Это можно сделать 3-мя способами с помощью утилит: mkfs, mke2fs, mkfs.ext2. Перед переформатирование необходимо отмонтировать файловую систему. После форматирования и перемонтируем. Опять снимаем дамп и передаем по конвееру на команду grep чтобы посмотреть features. Получаем следующее: dumpe2fs /dev/sdc1 | grep features И видим, что файловые системы отличаются, более новая файловая система имеет фишку журналирования has_jounal. Данная опция так же присутствует в ext3. Т.е в данных файловых системах имеются журналы с помощью которых удобно восстанавливать. Есть интересная утилита tune2fs – настраивать файловую систему. man tune2fs Данная утилита, как следует из описания настраивает настраиваемые параметры файловых систем. Например, у нас есть не журналируемая файловая система ext2. Мы даем команду tune2fs –O has_journal /dev/sdc1. Данная утилита добавляет опцию ведения журнала к файловой системе ext2. Или можем наоборот сказать удалить опцию поставив значок ^.
img
Битрикс24 – облачная CRM система, цель которой заключается в повышении эффективности работы компании. Мы можем выделить 3 позиции, которые привлекают внимание предпринимателей к этой системе: Доступность - для начинающих предпринимателей Битрикс24 бесплатна по тарифу «Проект». В бесплатной версии вы можете вести обработку лидов, сделок, ставить задачи, создавать проекты, выставлять счета и многие другие опции. В бесплатной версии нет возможности создавать бизнес – процессы. Более высокие версии, такие как «Команда» или «Компания» обладают более богатым функционалом за привлекательную цену. Омниканальность - вся деятельность по различным каналам работы будет сконцентрирована в Битрикс24. Без разницы, напишет ли клиент письмо на общий адрес электронной почты компании, или на адрес менеджера персонально, напишет в Telegram, Вконтакте, Facebook, заполнит форму на сайте или позвонит – автоматические будет создан лид в CRM и обработан согласно внутренним правилам в зависимости от источника. Гибкость - CRM система имеет приложение для ПК, смартфона и планшета. Важно отметить, что существует специальный REST API, с помощью которого можно создавать лиды с помощью PHP с сайта. Коробочную версию CRM можно дорабатывать с помощью собственных PHP скриптов. Если вы остановили свой выбор на Битрикс24 и ищете возможности автоматизировать обработку лидов, то в статье мы расскажем о интеграции Битрикс24 с сайтом. Интеграция Битрикс24 с сайтом Начнем с создания HTML формы на сайте по примеру ниже: <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <form action="integration.php" method="post"> Тема: <input type="text" name="tema" value="" /><br /> Ваша компания: <input type="text" name="companyname" value="" /><br /> Имя: <input type="text" name="name" value="" /><br /> Фамилия: <input type="text" name="lastname" value="" /><br /> Ваше сообщение: <textarea name="message"></textarea><br /> <input type="submit" value="Send" /> </form> </html> Здесь, методом POST, мы будем передавать параметры в PHP файл, который в свою очередь будет связывать наш сайт с Битрикс24. Скопированную сверху конфигурацию сохраняем в файл, который называем integration.php Продолжаем работу с этим файлом. Над скопированной выше конфигурации открываем PHP – тэг с помощью символов <?php . Между php и вторым знаком вопроса мы будем вставлять последующую конфигурацию. Определяем необходимые для REST API переменные, с помощью которых мы будем определять адрес сервера подключения и параметры авторизации. Заранее создайте в Битрикс24 пользователя с правами на создание и изменение сущностей связанных с лидами. В конфигурации приведены строки с комментариями: // Параметры подключения к вашему облачному Битрикс24 define('CRM_HOST', 'your_domain.bitrix24.com'); // укажите здесь ваш домен в Битрикс define('CRM_PORT', '443'); // порт для подключения. Здесь оставляем все как есть define('CRM_PATH', '/crm/configs/import/lead.php'); // Путь к PHP файлу, к которому будем подлючаться. Здесь оставляем все как есть // Параметры авторизации define('CRM_LOGIN', 'login'); // логин пользователя, которого мы создали для подключения define('CRM_PASSWORD', 'password'); // пароль пользователя CRM Переходим к самому скрипту, который будет заниматься отправкой данных в CRM $tema = $_POST['tema']; //получаем значение полей из формы и записываем их в переменные методом POST $companyname = $_POST['companyname']; $name = $_POST['name']; $lastname = $_POST['lastname']; $message = $_POST['message']; // Начинаем обработку внутри скрипта if ($_SERVER['REQUEST_METHOD'] == 'POST') { $leadData = $_POST['DATA']; // представляем массив $postData = array( 'TITLE' => $tema, 'COMPANY_TITLE' => $companyname, 'NAME' => $name, 'LAST_NAME' => $lastname, 'COMMENTS' => $message, ); // добавляем в массив параметры авторизации if (defined('CRM_AUTH')) { $postData['AUTH'] = CRM_AUTH; } else { $postData['LOGIN'] = CRM_LOGIN; $postData['PASSWORD'] = CRM_PASSWORD; } // открываем сокет соединения к облачной CRM $fp = fsockopen("ssl://".CRM_HOST, CRM_PORT, $errno, $errstr, 30); if ($fp) { // производим URL-кодирование строки $strPostData = ''; foreach ($postData as $key => $value) $strPostData .= ($strPostData == '' ? '' : '&').$key.'='.urlencode($value); // подготавливаем заголовки $str = "POST ".CRM_PATH." HTTP/1.0 "; $str .= "Host: ".CRM_HOST." "; $str .= "Content-Type: application/x-www-form-urlencoded "; $str .= "Content-Length: ".strlen($strPostData)." "; $str .= "Connection: close "; $str .= $strPostData; fwrite($fp, $str); $result = ''; while (!feof($fp)) { $result .= fgets($fp, 128); } fclose($fp); $response = explode(" ", $result); $output = '<pre>'.print_r($response[1], 1).'</pre>'; } else { echo 'Не удалось подключиться к CRM '.$errstr.' ('.$errno.')'; } } else { } В случае, если вы хотите провести «дебаг» соединения и понять в чем могут быть проблемы, в разделе HTML кода добавьте следующий код, который позволит вывести причину неработоспособности: <?php echo $output; Сохраняем все внесенные конфигурации и переходим к тесту. Заполняем WEB – форму: Как результат, в CRM появляется лид: Лид успешно создан в CRM. Для его обработки вы можете создать различные бизнес процессы в разделе «Настройки» -> «Автоматизация». Сам файл скрипта вы можете скачать по ссылке ниже. После загрузки, измените формат файла на PHP: Скачать скрипт интеграции с сайтом
img
Система записи телефонных разговоров, позволяет компаниям иметь возможность оценивать качество работы сотрудников, отслеживать различные показатели взаимодействия с клиентом, разрешать спорные ситуации. Запись телефонных разговоров - это мощный инструмент, который позволяет оптимизировать работу компании, улучшить качество обслуживания и компетенции сотрудников. На сегодняшний день, лидерами рынка систем записи являются ZOOM, Verint, Nice, Cisco (MediaSense). По какому принципу работает система записи? На этот вопрос мы постараемся ответить. Запись телефонных разговоров как правило делят на два типа: активная и пассивная. Активная (SPANLess) запись – это возможность телефонного аппарата напрямую отправлять RTP поток на сервер записи, а сигнальный трафик приходит через JTAPI*. *JTAPI (Java Telephony Application Programming Interface) – специальный телефонный «эй-пи-ай», позволяющий интегрировать телефонные события. Данный вариант зачастую реализуется при действующем кластере CUCM версией выше 6.0(Cisco Unified Communications Manager) и телефонах с поддержкой Built-in-Bridge. Давайте посмотрим на схему работы активной записи: Активный режим записи разговоров В данном примере, пользователь А, звонит пользователю В. На телефоне пользователя А включен режим Built-in Bridge, и настроен соответствующий профиль записи. CUCM в этот момент фиксирует, что телефон пользователя В подлежит записи и начинает дублировать сигнализацию на интерфейс сервера записи. Вместе с тем, на сервер приходит и RTP поток от пользователя В. Медиа поток декодируется и соотносится с сигнализацией. По окончании обработки, через GUI системы записи мы видим наш разговор, с временными метками, DNIS, ANI и некоторые другие. В контактных центрах, так же возможна интеграция с платформой UCCX, UCCE, Genesys ,Avaya Communication Manager. В результате интеграции с данной платформой, будет возможно передавать агентскую информацию, CallType и многие другие параметры. Давайте теперь разберемся с пассивной записью. Пассивная запись организуется путем настройки SPAN** – сессий для RTP траффика и сигнализации. **SPAN (Switched Port Analyzer) – мониторинговая сессия, которая позволяет дублировать сетевой трафик с одного интерфейса на другой. Чтобы на сервер записи не приходил ненужный трафик, как правило, настраивают RSPAN в сочетании листами доступа (access-list). Давайте снова посмотрим на схему: Пассивный (устаревший) режим записи разговоров На схеме сверху, можно заметить, что роль CUCM сводится к управлению сигнализацией (SCCP или SIP). Предположим, что на центральном коммутаторе есть следующие настройки: SPAN_SW(config)#monitor session 1 source interface f0/1 SPAN_SW(config)#monitor session 1 destination interface f0/3 Все, теперь траффик в обе стороны, как на прием, так и на передаче, с порта Fa 0/1 будет дублироваться на порт Fa 0/3. Можно вводить ограничения по SPAN-сессиям, например: SPAN_SW(config)#monitor session 1 source interface f0/1 tx SPAN_SW(config)#monitor session 1 destination interface f0/3 Это ограничение будет дублировать только исходящий (с порта) траффик. Таким образом, мы рассмотрели архитектурные особенности систем записи. Наша компания имеет большой опыт в инсталляции и поддержке систем записи.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59