• CentOS уходит в прошлое. Чем заменить?

    SignFinder
    @SignFinder
    Wintel\Unix Engineer\DevOps
    Ничем не заменять. Пока есть поддержка.
    1. Centos 7 еще долго будет поддерживаться.
    Если разговор про Centos 8, то:
    1. Посмотреть - взлетят ли обещанные форки Centos - наверняка будет возможность in-place перейти на них с Centos 8.
    2. Уже сейчас подумать про переход на Oracle Linux.
    3. Подумать про переход на Redhat Enterprise Linux - они испугались и изменили лицензию для разработчиков - вроде бы как с 1 февраля можно бесплатно до 16 машин с RHEL использовать, в том числе и в продакшне (в новостях пока ясности нет - как это будет происходить).
    Ответ написан
    Комментировать
  • Можно как-то запускать скрипт с интервалом и выводить его результат?

    ky0
    @ky0 Куратор тега Системное администрирование
    Миллиардер, филантроп, патологический лгун
    Вы хотите в свою консоль вывод получить? Тогда watch -n 60 %script%.
    Ответ написан
    Комментировать
  • Можно ли позиционировать себя специалистом SRE без опыта программирования?

    paran0id
    @paran0id
    Умный, но ленивый
    Да пофиг вообще, хоть сисадмином назовитесь. Навыки программирования либо всерьез требуются, либо почти нет, от вакансии зависит. Значение терминов "devops", "sre" и "сисадмин" весьма размыто.
    Ответ написан
    Комментировать
  • Python для системного администратора, сколько?

    CityCat4
    @CityCat4
    //COPY01 EXEC PGM=IEBGENER
    Можно вообще не знать. Хуже от знания конечно не будет - пригодится много где, сейчас многие вещи расширяются на питоне, но если вообще не знать - от этого хуже не станет. Админу - админово.
    А про роадмап для админа тут сто тыщ вопросов было.

    Спойлер: Умение искать и находить ответы на вопросы - это одно из самых важных умений админа :)
    Ответ написан
    Комментировать
  • MySql не успевает обрабатывать запросы, как прервать запрос при поступлении нового?

    antoo
    @antoo
    Какие ошибки выводятся при падении?

    Отключение от базы это наоборот не очень хорошо при большой нагрузке - т.к. тратятся ресурсы на создание/закрытие соединения и бесполезные запросы типа "set names" как на вашем скрине. Имеет смысл наоборот посмотреть в сторону persistent connections.
    Ответ написан
    6 комментариев
  • MySQL. Не стартует MySQL после того как кончилось место. Как восстановить?

    @Swartalf
    Восстанавливайте с бекапа.
    если его нет, то вот подсказка, но тут вы потеряете часть данных
    2018-12-15T13:10:03.869403Z 0 [ERROR] InnoDB: Set innodb_force_recovery=1 to ignore this and to permanently lose all changes to the tablespace.
    Ответ написан
    Комментировать
  • Какой дистрибутив Linux выбрать для хостинга Apache + PHP сайтов?

    kotomyava
    @kotomyava
    Системный администратор
    Зачем вам Hyper-V? Лишние накладные расходы на ровном месте.

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

    А вот проблема у вас, вероятнее, не в CLOSE_WAIT, всё же, и не в сетевом стеке, а в том, что все процессы апача заняты обработкой существующих запросов, т.е. отдачей ваших аудио данных. И лучше бы это делать не с помощью Apache вовсе.
    Ответ написан
    Комментировать
  • Сервер под большую нагрузку, безотказная работа?

    В первую очередь все зависит от движка, качества сборки, качества кеширования, и множества других мелких факторов.
    В среднем на проект удается увеличить его производительность раза в 2-10 в зависимости от проекта.
    В любом случае нужно смотреть на проект.
    Правильно оптимизированные настройки хостинга могут дать сами по себе более чем ощутимый прирост, не говоря уже о стабильности тяжелых хитов под нагрузкой.
    НО если акцентировать только на железо то есть пара пунктов, придерживаясь которых можно болие или менее иметь хороший результат.
    1. частота ядра лучше чем количество ядер.
    2. SSD - это даже не обсуждается, однако NVme - это то на что вам нужно смотреть.
    3. Покажите проект.
    Что касается представления php Nginx+php-fmp однако мы не часто используем такой вариант
    Как правило все -же более классический nginx+apache+mod_php или nginx+apache+php-fmp.
    Ответ написан
  • Как исправить php что бы письма приходили на майл?

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    <?php
    // ----------------------------конфигурация-------------------------- //

    пшите в тетрадке 200 раз
    "я не буду использовать шорттеги в пхп"
    После этого код должен заработать
    Ответ написан
    2 комментария
  • График работы врачей, как реализовать подобный?

    webinar
    @webinar
    Учим yii: https://youtu.be/-WRMlGHLgRg
    есть ли подобный плагин?

    Да, куча, называются календарь
    Например:
    https://fullcalendar.io/releases/fullcalendar-sche...
    или вот еще ближе
    https://javascript.daypilot.org/demo/scheduler/ind...

    Как вариант писать самому или взять календарь для верха и внизу цепляясь за event-ы календаря генерить таблицу
    Ответ написан
    1 комментарий
  • Как диагностировать линукс сервер?

    zoonman
    @zoonman
    ⋆⋆⋆⋆⋆
    Скорее не ответ, а дополнение к предыдущим ответам. Мне вот эта картинка помогает

    linux_observability_tools.png

    И статья тоже рекомендуется www.brendangregg.com/blog/2014-08-23/linux-perf-to...
    Ответ написан
    Комментировать
  • Как диагностировать линукс сервер?

    @sys-admin
    Про iotop и top уже сказали, стоит добавить так же про iftop, который показывает сетевую активность и через который можно посмотреть, с какой интенсивностью на какие порты идет трафик.

    Что касается "хакерской активности," то это понятие весьма обширное и тянет если не на книгу, то на приличную статью точно. В качестве основных действий при подозрении на взлом можно порекомендовать просмотр логов (в частности вывод команд last и lastlog), просмотр списка запущенных демонов на предмет "левых" процессов (часто на взломанных системах хакеры запускают какой-нибудь perl-скрипт или бинарник, который соединяется с подконтрольным злодею хостом для получения команд). Важно: в тех перловых ботах, что мне попадались, зачастую используется хитрая функция, подменяющая имя запущенного скрипта каким-нибудь безобидным (например httpd), при этом если смотреть список процессов от рута командой ps auxwww то этот зловред отобразится в списке примерно так: perl /tmp/bot.pl --name "httpd -DSSL"При этом самого файла /tmp/bot.pl может и не существовать, это значит, что его удалили после запуска, что бы он случайно не попался на глаза админу. Прежде, чем прибить процесс бота, стоит посмотреть с каким сервером он соединяется, т. е. где у него "командный центр," этого можно сделать командой netstat -anp | grep PID_процесса_бота
    Ну а дальше уже по вкусу, либо просто вносим этот адрес в черный список на файрволе и идем копать логи веб-сервера, php, ftp и ssh на предмет следов проникновения, либо, если уж совсем руки чешутся, можно посмотреть, каким трафиком обменивается бот с командным центром. Сделать это можно командой
    tcpdump -Nn -i имя_сетевого_интерфейса -x host ip_командного_центра
    Ответ написан
    Комментировать
  • Вы в браузере набрали адрес сайта, нажали Enter. Расскажите максимально подробно о технических процессах происходящих далее?

    edinorog
    @edinorog
    Троллей не кормить!
    Смотря кто нажимает интер. Блондинка или гик. Результат, при одних и тех же действиях, почему-то всегда разный =(
    Ответ написан
    Комментировать
  • Вы в браузере набрали адрес сайта, нажали Enter. Расскажите максимально подробно о технических процессах происходящих далее?

    Deerenaros
    @Deerenaros
    Программист, математик, задрот и даже чуть инженер
    Действительно, уважаемый. Это слишком. Вряд ли я затрону все тонкости, но попробую наметить примерный путь:

    0) Пользователь вбивает в адресную строку браузера адрес сайта (нажимая клавиши на клавиатуре, которые замыкают определённую дорожку в матрице, по которой происходит определение нажатой клавиши, что через шину USB в какой-то момент передастся OS, где это поймает HID-драйвер и вызовет определённое прерывание, что OS передаст как событие/или_ещё_как в программу, которая вызовет соотвествующую функцию из API менеджера окон, которая изменит содержимое строки и в результате когда-то будет перерисован UI-элемент, а если нажат был Enter, то начнётся следующее).
    1) Браузер вытащит из input'а строку с запросом и посмотрит, похоже ли это на адрес. Если да, то добавит недостающие уточнения (например, http или file протокол, порт и подобные довольно стандартные вещи). Если нет - то скорее всего создаст запрос в поисковую систему, установленную по умолчанию (я более не буду опускаться до таких бессмысленных деталей, как вызовы API-функций, иначе я буду набирать это сообщение ОЧЕНЬ долго). В любом случае на выходе мы по сути получим URL, который надо загрузить. Протокол file:// мы рассматривать не будем, ftp далеко не везде есть, https:// на не хватит вечности, так что остановимся на http, который по сути есть tcp/ip по умолчанию на 80 порту с определённым форматом общения.
    2) Окей, url есть. Теперь нам нужен адрес, к которому обращаться. Так как http это tcp/ip - нам нужен ip адрес. Здесь нам помогают dns-сервера. Обычно, нормальный провайдер устанавливает у себя кэш-сервера dns, которые не обращаются по стопицот раз за vk.com к ответственному серверу com-зоны. Давайте не будем отвлекаться на то, как происходит там общение, если что - вот (вики тем хороша, что часто содержит внизу релевантные ссылки). Скажу лишь то, что на выходе мы получаем ip адрес(а).
    3) Имея адрес мы можем запросить страницу. Собственно, всё что после первого слэша - это как-бы параметры для http-сервера: какую именно страницу запрашивать, он всё же не телепат. Конечно, можно было бы немного схитрить и отправить читать про tcp/ip, но ведь существует и shared-hosting. Ограничемся лишь его упоминанием. Собственно, по полученному адресу отправляется GET запрос, который и обрабатывает сервер, находящийся по полученному IP-адресу.
    4) Сервер же, получив адрес, начинает распарсивать строку, медленно вытягивая нужные данные из баз-данных и настроек, выполняются сотни скриптов, иногда делается ещё не одна сотня различных запросов на другие сервера (здесь и разного вида метрики и разного вида HADOOP и т.д.). Пройдя сквозь скрипты и темплейторы в самом конце мы получаем html-страницу, готовую к употреблению. Её-то сервер и отправит в ответе (после заголовков, конечно).
    5) Вот и началось самое интересное. Получив html страницу браузер начинает жутко надругаться над CPU, HDD и GPU, попутно сжирая тонны RAM и мусоря в swap. Виной всему нереальные для полного соблюдения стандарты от небезызвестной w3c.org. Для облегчения многие делают костыли, вроде webkit, а некоторые и вовсе забивают на него и пилят свой стандарт с преферансом и картёжницами (впрочем, в последнее время становиться лучше). Здесь снова начинаются сотни вызовов API ОС, windows manager'а и прочих библиотек, вроде boost, qt или libpng. В ходе работы в RAM строится макет, по которому потом строится нечто вроде PDF (тоже сильно векторный), что, потом, обрабатываясь быстрыми шейдерами на GPU, выдаётся на экран. Опять же, многое пропущено, но вряд ли кому-либо, кроме парня в свитере с оленями, действительно интересно, как работает GDI, DirectX или OpenGL.
    6) Ах да, мы же забыли про тысячи js-скриптов, миллионы картинок и анимации с котиками, а также о таких дополнительных плюшках, как flash-player или java-weblets. В кратце, что js, то и flash и java - это виртуалка, со специальной архитектурой. Они, виртуалки, конечно разные (хотя flash и js довольно похожи, ещё бы - ECMAScript один и тот же). JS - самый интегрированный внутрь браузера, он же и самый медленный чисто визуально (ибо последние два имеют доступ к быстрому GPU), хотя самый быстрый в попугаях. Второй постепенно вымирает и представляет из себя, так же как и третий специальную shared-библиотеку, о которой браузер как-нибудь узнал и которой скармливает специальное содержимое помечанное специальным тегом html. Третий уже почти умер и встречается лишь изредка или в каком-нибудь энтерпрайзед со страшным legacy-базой. Ну здесь из сылок разве только гугл. Ибо сколько всего - даже не сообразишь. Да и вообще, эта тема ещё скучнее GDI, DirectX и OpenGL и к свитеру с оленями требуются ещё очки с толстенными стёклами, дающие стопицот к терпению и задроству над матаном. Если в кратце, то в случае JS, всё что было загружено в память и не думает выгружаться и формирует этакое дерево - DOM, над которым с помощью специального API и происходят модификации. При этом, перед тем как исполниться, весь JS-код компилируется, в нативный для VM байт-код. То же самое в общем-то и со вторым и третьим, разве только они не имеют доступа к DOM и организовать его - дело тех ещё костылей. Ах да, забыл ещё про Silverlight (или как оно там пишется), который сдох, не успев родиться. Так же как и Java, жив в серьёзном энтерпрайзе, не поскупившийся не "дешёвую" поддержку MS.
    7) Ну... А дальше пользователь нажимает на нужную гиперссылку и всё по новой.

    За кадром остались такие костыли, как ajax, websockets и прочая асинхронная ересь. С ней всё в миллионы раз сложнее. И к очкам со свитером потребуется ещё и... а чёрт их знает, что они там ещё носят. Ну да ладно, я искренне завидую тем парням (и девушкам), которые разбираются во всей этой машине. Целиком. Ибо это лишь верхушка айсберга. Разбавленная не лучшей памятью и ужасным гуглом.

    P.S. Не бейте сильно за грамматические и синтаксические ошибки. Спеллчекер приказал долго жить, да и 5 утра как никак.

    UPDATE
    На хабр выложили неплохой перевод дающий некоторое представление, как браузер ругается над памятью и процессором. Хотя и весьма поверхностное,
    Ответ написан
    26 комментариев
  • Что за тостер на главной?

    kk86
    @kk86
    Это какая-то мерзенькая реклама. Я долго не мог одуплить, что происходит.
    Ответ написан
    Комментировать
  • Этично ли кинуть взломщика собственного сайта?

    pnick
    @pnick
    Телеком инженер
    Взломщика, в любом случае, надо наказать. Если есть законный способ это сделать — надо поступать по закону. Если его нет — кидайте, конечно.
    Ответ написан
    Комментировать
  • Как можно было не продлить домен habrahabr.ru?

    Ничего страшного не произошло. Даже если Хабр ляжет навсегда.
    Ответ написан
    1 комментарий