По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Шестая часть тут. Рассмотрим процесс, который вы используете для чтения этой лекции. Вы изучаете набор меток, созданных для контраста с физическим носителем-чернилами на бумаге. Эти знаки представляют собой определенные символы, которые вы затем интерпретируете как буквы. Эти буквы, в свою очередь, вы можете сложить вместе, используя правила интервалов и компоновки, чтобы сформировать слова. Слова, через знаки препинания и интервалы, вы можете сформировать в предложения. На каждом этапе процесса существует несколько видов взаимодействующих вещей: Физический носитель, на который может быть наложен сигнал. Символическое представление единиц информации, используемых для перевода физических символов в первый уровень логического содержания. При интерпретации символов необходимы две вещи: словарь, который описывает диапазон возможных логических символов, которые могут соответствовать определенному физическому состоянию, и грамматика, которая описывает, как определить, какой логический символ относится к этому экземпляру физического состояния. Эти две вещи, вместе взятые, можно описать как протокол. Способ преобразования символов в слова, а затем слова в предложения. Опять же, это будет состоять из двух компонентов, словаря и грамматики. Опять же, они могут быть описаны как протоколы. По мере перемещения «вверх по стеку» от физического к буквам, к словам, к предложениям и т. д. словарь становится менее важным, а грамматика, которая позволяет преобразовывать контекст в значение, более важной - но эти две вещи существуют на каждом уровне процесса чтения. Словарь и грамматика считаются двумя различными формами метаданных, которые вы можете использовать для превращения физических представлений в предложения, мысли, аргументы и т. д. Цифровая грамматика и словари. На самом деле нет большой разницы между человеческим языком, таким как тот, который вы сейчас читаете, и цифровым языком. Однако цифровой язык не называется языком; это называется протоколом. Более формально: Протокол — это словарь и грамматика (метаданные), используемые для перевода одного вида информации в другой. Протоколы, конечно, не работают только в одном направлении; их можно использовать как для кодирования, так и для декодирования информации. Языки, вероятно, самая распространенная форма протокола, с которой вы сталкиваетесь ежедневно, но есть много других, таких как дорожные знаки; пользовательские интерфейсы на вашем тостере, компьютере и мобильных устройствах; и каждый человеческий язык. Поскольку вы разрабатываете протокол, который в первую очередь означает разработку словаря и грамматики, вы можете работать над двумя видами оптимизации: Эффективность использования ресурсов. Сколько ресурсов используется для кодирования любого конкретного бита информации? Чем больше метаданных включено в систему вместе с самими данными, тем эффективнее будет кодирование—но тем больше реализаций будут полагаться на словари для декодирования информации. Протоколы, использующие очень малые сигналы для кодирования большого количества информации, обычно считаются компактными. Гибкость. В реальном мире все меняется. Протоколы должны быть каким-то образом разработаны, чтобы иметь дело с изменениями. Компромисс метаданных - один из многих, которые вы найдете в сетевой инженерии; либо включите больше метаданных, позволяя протоколу лучше справляться с будущими требованиями, либо включите меньше метаданных, делая протокол более эффективным и компактным. Словарь в протоколе — это таблица цифровых шаблонов для символов и операций. Пожалуй, наиболее часто используемые цифровые словари — это коды символов. Таблица 1 воспроизводит часть словаря символов Unicode. Используя таблицу 1, если компьютер «читает» массив, представляющий собой серию букв, он распечатает (или обработает в процессе обработки) число 6, если число в массиве равно 0023, число 7, если число в массиве равно 0024 и т. д. Эта таблица, или словарь, связывает определенные числа с определенными символами в алфавите, точно так же, как словарь связывает слово с диапазоном значений. Как компьютер может определить разницу между ценой банана и буквами в слове банан? Через контекст информации. Например, возможно, что рассматриваемый массив хранится в виде строки или серии букв; массив, хранящийся в виде строковой переменной, предоставляет метаданные или контекст, который указывает, что значения в этих конкретных ячейках памяти должны рассматриваться как буквы, а не числовые значения, содержащиеся в массиве. Эти метаданные, обрабатываемые компьютером, обеспечивают грамматику протокола. В протоколах словари часто выражаются в терминах того, что содержит то или иное конкретное поле в пакете, а грамматики часто выражаются в терминах того, как пакет построен или какие поля содержатся в каких местах пакета. Есть несколько способов создания словарей и базовых (первого уровня) грамматик.
img
Запись телефонных разговоров на IP – АТС Asterisk является безусловно важной «фичей» для любой организации. С другой стороны, с ростом количества записей уменьшается память на дисках. Рано или поздно, перед организацией встает вопрос об удалении старых файлов, для освобождения места. Мы разработали PHP скрипт, который автоматически удаляет записи разговоров (.wav) и данные в базе данных по этим звонкам старше определенного количества дней. Чтобы адаптировать его под себя, вам нужно просто указать максимальное количество дней для хранения записей. Скрипт автоматического удаления Сам скрипт написан на PHP и представляет собой 23 строчки кода. Основная переменная в скрипте - days. Укажите в ней количество дней, которое вы планируете хранить записи: <?php $days = 180; //записи, которые старше 180 дней будут удалены. Укажите здесь количество дней для удаления; $hostname = "localhost"; //если скрипт выполняется на том же сервере, что и IP - АТС Asterisk, то оставьте здесь localhost. В противном случае укажите IP - адрес; $username = "delete"; //логин для подключения к базе данных asteriskcdrdb $password = "333jIje45"; //пароль для подключения к базе данных asteriskcdrdb $dbName = "asteriskcdrdb"; $file = '/home/admin/log_mail.txt'; $cdate = date('Y-m-d H:i:s', strtotime('-'.$days.' days')); //определяем максимальную дату звонка. Все звонки старше этой даты, будут удалены; $adate = date('Y-m-d H:i:s'); //текущая дата для записи в лог – файл; /* создать соединение */ mysql_connect($hostname,$username,$password) OR DIE("Не могу создать соединение "); mysql_select_db($dbName) or die(mysql_error()); /* удаляем информацию о записях в таблице cdr*/ $query = "DELETE from cdr WHERE calldate < '$cdate';"; $res=mysql_query($query) or die(mysql_error()); /* Как много нашлось строк */ $number = mysql_affected_rows(); /* удаляем сами аудио - записи разговоров */ echo exec('find /var/spool/asterisk/monitor/ -type f -mtime +'.$days.' -exec rm -rf {} ;'); $current = "DELETE :: $adate :: $number records were deleted from CDR "; file_put_contents($file, $current, FILE_APPEND | LOCK_EX); //записываем запись в лог файл; ?> Скачать скрипт удаления записей Загруженный скрипт сохраните в формате .php. Адаптация скрипта на вашей АТС Первое, что необходимо сделать, это создать пользователя для доступа к базе данных, который будет иметь права на удаление. Для этого, даем следующие команды: [root@asterisk]# mysql mysql>CREATE USER 'delete'@'localhost' IDENTIFIED BY '333jIje45'; Теперь предоставляем необходимые права: mysql> GRANT DELETE, SELECT ON asteriskcdrdb.cdr TO 'delete'; Готово. Теперь скрипт необходимо запланировать через cron для регулярного выполнения. Даем команду crontab -e и добавляем следующую строку: */2 10-18 * * 1-5 /usr/bin/php /home/deletecdr.php В данном примере, наш скрипт будет отрабатывать каждые 2 минуты с понедельника по пятницу, с 10:00 до 18:00. Здесь, /home/deletecdr.php - полный путь к скрипту. Сохраняем изменения и наслаждаемся спокойствием за дисковое пространство :)
img
В сегодняшней статье мы опишем процесс установки Proxmox Virtual Environment (VE) — систему управления виртуализации с открытым кодом, которая базируется на QEMU/KVM и LXC. Данное решение позволяет вам управлять виртуальными машинами, контейнерами, отказоустойчивыми кластерами, СХД и прочие — все это с помощью веб-интерфейса или CLI. Чтобы было понятнее — Proxmox VE это альтернатива c открытым программным кодом таким продуктам как VMware vSphere, Microsoft Hyper-V или Citrix XenServer. Важное уточнение — согласно лицензии GNU AGPL v3 данное ПО является бесплатным, но, есть возможность купить подписку. Подписка дает следующие преимущества — поддержка от вендора/коммьюнити (в зависимости от выбранного плана), доступ к репозиторию и так далее. Скачать данную платформу можно по следующей ссылке: https://www.proxmox.com/en/downloads Немного о системных требованиях — в идеале, требуется железный сервер, предпочтительно многопроцессорный и 8 Гб памяти для самого Proxmox и остальное — для гостевых машин + 2 сетевых карты. В нашем примере мы установим Proxmox также на виртуальный сервер исключительно для демонстрации процесса установки, и выделили ему 1 Гб оперативной памяти. Список поддерживаемых браузеров включает Chrome, Mozilla Firefox, Safari и IE (актуальные версии). Установка Итак, вы скачали ISO-file по ссылке выше, запустили виртуальную машину и должны увидеть следующее: Кликаем на Install Proxmox VE. После этого появится черный экран с различной информацией, затем (в моем случае, из-за установки на виртуальную машину) появиться предупреждение об отсутствии поддержки виртуализации, и, наконец, откроется окно с установкой и EULA: Читаем, и, надеюсь, соглашаемся с лицензионным соглашением и кликаем Agree: Затем, нам предлагают выбрать диск для установки — выбираем и кликаем Next: Выбираем страну и часовой пояс и кликаем далее: Затем придумываем сложный рутовый пароль и вводим действующий емейл — на него в случае чего будут сыпаться алерты: Указываем настройки сети — выбираем адаптер, указываем хостнейм и так далее. В моем случае я только указал иной хостнейм. Кликаем Next: Начинается процесс установки, который занимает не более 10 минут: Установка заканчивается, и все, что нужно сделать — это нажать Reboot. После перезагрузки скрипт попытается извлечь установочный ISO из виртуального дисковода, и, по каким-то неясным мне причинам, на виртуальной машине Hyper-V скрипт потерпел неудачу и данный шаг пришлось выполнять руками. После перезагрузки вы увидите адрес, по которому нужно зайти в браузере для завершения установки. В данном случае это https://192.168.1.38:8006 Появляется окно логина, с возможностью выбрать язык. Вводите логин root и пароль, который вы указывали при установке: И, наконец, системой можно пользоваться! К примеру, можете кликнуть на вкладку Датацентр слева и увидеть сводку информации по системе: Примеры использования Первым делом попробуем создать виртуальную машину (и да, алерт касаемо отсутствия поддержки виртуализации все еще висит перед глазами, но все равно интересно!). В правом верхнем углу кликаем на кнопку Создать VM: Задаем имя, кликаем далее, указываем всю необходимую информацию и, в конце концов нас ожидает следующее: Как и следовало ожидать, однако… Теперь перейдем к созданию контейнера — для этого кликните в левом верхнем углу на ваш «датацентр», затем на первое «хранилище» - в данном случае это local (merionet). Затем кликните на кнопку Шаблоны и скачайте один из шаблонов — я для этой цели выбрал простой Debian. Начнется процесс скачивания, по завершению которого, можно будет закрыть данное диалоговое окно. Теперь нажимаем в левом верхнем углу Создать CT На первой вкладке указываем его хостнейм и пароль и кликаем Далее. На скриншоте выше видны сетевые настройки, выбранные мной для примера создания контейнера. После чего проверяем настройки и нажимаем Завершить. Начнется процесс создания контейнера, и нужно будет буквально несколько секунд подождать. Затем вы можете кликнуть в левом верхнем углу на него и попробовать поделать различные манипуляции! На этом все, это была статья по установке Proxmox VE на виртуальную машину и максимально базовый обзор его возможностей. В будущем у нас появятся новые статьи на эту тему, с более подробным обзором функционала данного ПО.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59