• Автоматическое отключение рабочих станции. Способы реализации?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Работает уже несколько лет:
    NightShutdown.cmd запускается заданием в нужное время (у меня в 22:00 и 23:00)
    @echo off
    chcp 1251 > nul
    set LF=NightShutdown.%date:~6,4%.%date:~3,2%.%date:~0,2%.log
    echo ----------- >> %LF%
    echo %time% >> %LF%
    echo ----------- >> %LF%
    psshutdown.exe -k -f -t 00 -v 00 @NightShutdown.list >> %LF%

    NightShutdown.list — список компьютеров.
    И ещё в 21:00, для установки обновлений NightShutdownReboot.cmd
    @echo off
    chcp 1251 > nul
    set LF=NightShutdown.%date:~6,4%.%date:~3,2%.%date:~0,2%.log
    echo ----------- >> %LF%
    echo %time% >> %LF%
    echo ----------- >> %LF%
    psshutdown.exe -r -f -t 00 -v 00 @NightShutdown.list >> %LF%

    PsShutdown v2.52.
    Ответ написан
    2 комментария
  • Как обновить модули Linux без Интернет соединения?

    urtow
    @urtow
    *nix, python, QA, bagpipe, folk music
    Да, можно.

    Делаем клон репозитория на переносном HDD, после подключаем к требуемому компьютеру и обновляем ОС.
    Ответ написан
    2 комментария
  • Сколько matrix можно подключить к nano*?

    a_volkov1987
    @a_volkov1987
    Инженер-схемотехник
    У этих модулей есть разное подключение к модулю с микроконтроллером. Чаще всего используется I2С, на ней при длине адреса в шине 8 бит, можно разместить до 256 устройств. В ваших модулях адреса пробиты жестко, пересекаться не должны, так что сколько надо, столько и вешайте, главное чтоб у вас питание не просело под нагрузкой.
    Ответ написан
    Комментировать
  • Куда помещаются файлы удаленные по сети?

    в отсутствие теневых копий, стороннего ПО и резервного копирования - в минусы кармы системного администратора
    Ответ написан
    Комментировать
  • Можно ли просто копировать файлы MySql?

    Melkij
    @Melkij
    PostgreSQL DBA
    Текстовые? Нет, текстовые не выйдет. В /var/lib/mysql/ бинарные файлы. Чуток текстовых там, конечно, тоже есть, но данных в бинарных.

    Делаете копию каталога (внимание на права доступа и владельцев файлов, это тоже важно и их надо сохранить) datadir. По-видимому, у вас это /var/lib/mysql/
    Переносите на машину с той же самой версией mysql, лучше в точности ту же версию, но можно в пределах минорных версий. Попутно делаете ещё одну копию с данных.
    Разумеется, на новой машине на момент копирования mysql должен быть остановлен.
    Запускаете mysql, читаете логи, исправляете ошибки.
    Дальше по обстоятельствам. Если завёлся - то проверяете свои данные, если нет - читаете дальше логи и гугл.
    Innodb при успехе восстановится до последней зафиксированной транзакции. myisam - даже в лучшем случае как повезёт. Устойчивость к сбоям - это не про него.
    Ответ написан
    1 комментарий
  • Какая оптимальная конфигурация сервера?

    Jump
    @Jump
    Системный администратор со стажем.
    Сервер подбирается под нагрузку.
    Какая будет нагрузка неизвестно - никто ничего не подскажет, самим надо тестировать.

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

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    1. Создаете файл нужного размера
    dd if=/dev/zero of=/home/user/filename bs=1M count=сколько_надо

    2. Монтируете его как петлевое устройство
    losetup /dev/loop0 /home/user/filename
    3. Форматируете
    mkfs -t ext4 /dev/loop0
    4. Монтируете
    mount /dev/loop0 /mnt/image
    Ответ написан
    Комментировать
  • Что делать с дисплеем от старого планшета?

    Jump
    @Jump
    Системный администратор со стажем.
    Можно ли каким-нибудь образом соорудить из него USB-дисплей для ноутбука?
    Конечно можно, если он исправен.
    Но это потребует множества знаний, умений, и обойдется крайне недешево.
    Ответ написан
    2 комментария
  • Как передать из формы логин и пароль в зашифрованном виде на сервер?

    alsopub
    @alsopub
    Используйте асимметричное шифрование Как реализовать RSA шифрование на javascript?
    Открытым ключом можно будет только зашифровать пароль, расшифровать его можно будет только на сервере.
    Про сессионные куки - возможно это CSRF токены?
    Ответ написан
    3 комментария
  • Администрирование Linux. С чего начать?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Не нужно никакого генератора. Попробуйте сделать роутер + прокси + почтовый сервер + интеграция с виндовым доменом (почта по виндовым учеткам, доступ в тырнет по виндовым учеткам), вебсервер поднять с PHP/Ruby, трекер какой-нибудь запустить, файлопомойку с раздачей прав по виндовым учеткам...
    Ответ написан
    Комментировать
  • Почему не работает форма на php?

    @kvalood
    Отправляйте письмо через smtp.
    Для php есть готовые библиотеки, например phpmailer.

    Через простую функцию mail письма часто попадают в спам или вообще не доходят (не обрабатываются почтой т.к. нет подписей, и нет возможности проверить отправителя)
    Хостеры зачастую ее выключают.
    Ответ написан
    1 комментарий
  • Почему не работает форма на php?

    Потому что функцию mail все режут почти, используйте phpmailer например
    А функции чувствительны к регистру? Я всегда пишу trim а не Trim
    Ответ написан
    5 комментариев
  • В чем суть роутера на php?

    onqu
    @onqu
    weasy
    1. Здесь пугают всякими контроллерами, ларавелями. Давайте жить проще. Для начала дадим определение модному слову роутер. Это маршрутизатор. Что делает маршрутизатор? Правильно. Обрабатывает маршруты, являясь связующим звеном. Маршрутом для web сайта принято считать метод запроса [GET, POST, PUT и другие] и компоненты URI.

    например: https://ru.wikipedia.org/wiki/URI?foo=bar#title
    [схема: https] :// [источник: ru.wikipedia.org] [путь: /wiki/URI] [запрос: ?foo=bar] [фрагмент: #title]


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

    Сама работа, как правило проста: от клиента приходит запрос, маршрутизатор перебирает все заданные ему пути до первого совпадения. При совпадении вызывается определенная вами функция, которая возвращает ответ клиенту.

    2. Он необходим, если в приложении одна точка входа, когда любой запрос приходит на один файл.

    3. Простой пример
    // файл index.php
    
    // Маршруты
    // [маршрут => функция которая будет вызвана]
    $routes = [
        // срабатывает при вызове корня или /index.php
        '/' => 'hello',
        // срабатывает при вызове /about или /index.php/about
        '/about' => 'about',
        // динамические страницы
        '/page' => 'page'
    ];
    
    // возвращает путь запроса
    // вырезает index.php из пути
    function getRequestPath() {
        $path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);
    
        return '/' . ltrim(str_replace('index.php', '', $path), '/');
    }
    
    // наш роутер, в который передаются маршруты и запрашиваемый путь
    // возвращает функцию если маршшрут совпал с путем
    // иначе возвращает функцию notFound
    function getMethod(array $routes, $path) {
        // перебор всех маршрутов
        foreach ($routes as $route => $method) {
            // если маршрут сопадает с путем, возвращаем функцию
            if ($path === $route) {
                return $method;
            }
        }
    
        return 'notFound';
    }
    
    // функция для корня
    function hello() {
        return 'Hello, world!';
    }
    
    // функция для страницы "/about"
    function about() {
        return 'About us.';
    }
    
    // чуть более сложный пример
    // функция отобразит страницу только если
    // в запросе приходит id и этот id равен
    // 33 или 54
    // [/page?id=33]
    function page() {
    
        $pages = [
            33 => 'Сага о хомячках',
            54 => 'Мыши в тумане'
        ];
    
        if (isset($_GET['id']) && isset($pages[$_GET['id']])) {
            return $pages[$_GET['id']];
        }
    
        return notFound();
    }
    
    // метод, который отдает заголовок и содержание для маршрутов,
    // которые не существуют
    function notFound() {
        header("HTTP/1.0 404 Not Found");
    
        return 'Нет такой страницы';
    }
    
    
    // Роутер
    // получаем путь запроса
    $path = getRequestPath();
    // получаем функцию обработчик
    $method = getMethod($routes, $path);
    // отдаем данные клиенту
    echo $method();


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

    4. Обойтись без него можно. Если каждая страница в вашем приложении будет являться отдельным файлом, который отвечает за отдачу информации.
    index.php
    about.php
    contact.php
    ...


    Это олдскульная структура, в новых проектах почти не применяется.
    Ответ написан
    13 комментариев
  • Полный бэкап сервера?

    CityCat4
    @CityCat4
    Внимание! Изменился адрес почты!
    Если это виртуалка - сделать копию виртуального диска. Тупо, но надежно. Если bare-metal - тогда man dump :)
    Ответ написан
    Комментировать
  • Где найти документацию для FreeRadius?

    Набор доступных аттрибутов определяется словарями, обычно
    /etc/raddb/dictionary, /usr/share/freeradius/dictionary.*, см. man dictionary
    при этом аттрибуты бывают стандартные и бывают vendor-specific.
    Таблица возможных значений стандартных аттрибутов поддерживается IANA
    www.iana.org/assignments/radius-types/radius-types...
    документации по Vendor-specific аттрибутам очень часто вообще нет в природе. Исходи не из возможностей FreeRADIUS, т.к. ему все равно с какими аттрибутами работать, если каких-то аттрибутов не хватает, то ты можешь их добавить в словари вручную, а из того, какие RADIUS аттрибуты поддерживаются сервером OpenConnect.
    Ответ написан
    2 комментария
  • Какую выбрать схему виртуализации домашнего сервера?

    Ernillew
    @Ernillew
    Администрирую *nix-системы с 1997 года
    Для подобных вещей вам не нужен KVM. Используйте lxc, если хотите изолировать сервисы.
    Ответ написан
    2 комментария
  • С чего начать изучение Linux?

    Olej
    @Olej
    инженер, программист, преподаватель
    С чего начать изучение Linux?

    1. Есть один отличный, но секретный ;-) способ изучить Linux - снести все Windows чтобы в доме не было ни одного экземпляра. Очень быстро просветляет!

    2. Пробегите бегло: Разработка программных проектов в Linux - там есть кой-чего и для вас.

    3.
    что конкретно значит "засрать себе /home"

    Это всё вы узнаете сами без всяких учебников ;-)
    Ответ написан
    Комментировать
  • Развитие Windows-администратора. Куда копать?

    saboteur_kiev
    @saboteur_kiev Куратор тега Системное администрирование
    software engineer
    Изучай направление автоматизации и виртуализации.

    Скриптовые языки знаешь? bat/bash/python для автоматизации различных штук.

    Php+html+sql на минимальном уровне то полезно наваять быстренько веб-интерфейс для какой-то приблуды, или поставить например корпоративную wiki для внутренних инструкций.

    Посмотри сервисы типа jenkins, ansible, chef, zabbix, monit

    Активно займись английском. upper-intermediate это минимум для IT специалиста, желающего сделать какие-то телодвижения в карьере.
    Ответ написан
    2 комментария
  • Эффективный Алгоритм синхронизации базы данных на разных движках?

    @kshvakov
    mysql

    truncate table;
    LOAD DATA INFILE 'data.txt' INTO TABLE table;


    postgres

    truncate table;
    COPY table FROM 'data.txt';
    Ответ написан
    3 комментария
  • Какой настольный ПК выбрать для работы?

    DevMan
    @DevMan
    у вас нормальный камень. если менять, то придется еще и материнку новую брать.
    добейте памяти до 16/32 гб, поставьте ssd, 64-битную ОС и спокойно пользуйтесь им еще несколько лет как минимум.
    Ответ написан
    Комментировать