Полезные каманды мониторинга Unix сервера через Shell

Пишу из собственного опыта — полезные команды для администрирования сервера через Shell (bash). Уровень интермидиэт. Т.к. всё равно на своем VDS приходится пользоваться панелью ISP Manager для базовых настроек, что для меня намного удобнее.

Но часто приходится колдовать и в консоли. И так, поехали. Пишу на примере ОС Debian 8, но большинство команд универсальны и подойдут в FreeBSD, CentOS, Ubuntu и подобных.

Поиск файлов по времени изменения

Пример — поиск файлов измененных за последние 30 дней:

find . -mtime -30

Поиск с исключением ненужных папок. Пример исключения нескольких директорий (с поиском изменений за 1 сутки). Эту команду можно сохранить в файл .sh и добавить его выполнение ежесуточно в Cron с отправкой на email (настраивается через панель) и защитный механизм мониторинга изменений скриптов на вашем сайте готов:

find ~/www -mtime -1 -type f -not -path «*do/not/search/1*» -not -path «*do/not/search/2*»  -print

Исключите постоянно меняющиеся файлы, и в итоге, вы будете вовремя предупреждены, если на ваш сайт решится кто-то напасть.

Поиск подстроки в папке (например, вредоносного кода)

Ррекурсивно, исключая из результата какой-то путь

grep -R «str to find» *|grep -v «path/to/exclude/*»

Только в файлах php (но лучше искать во всех…)

grep -R «str 1 to find» ~/directory/* | grep «str 2 to find» | grep \.php

Полезные команды для мониторинга и просмотра логов

Смотреть хвост файла в режиме live, то есть все новые изменения будут отображаться у вас сразу же на экране. Например, полезно посмотреть, не атакуют ли китайские боты в фоновом режиме ваш SSH канал (фрут-форс подбор пароля)?

tail -f /var/log/auth.log

Если у вас будут каждую пару секунд появляться новые записи о попытке входа, значит надо срочно решить эту проблему. Смотрите мою статью: Как защитить SHH от брут-форса на всех портах.

Вывод только строк файла лога с конкретным ключевым словом (например, просмотр дат удачного входа):

grep «Accepted» /var/log/auth.log

Один комментарий

  • Vankof

    Для заметки. Еще полезная команда — для очистки текущей папки от ненужных файлов (например, временных), найденных по шаблону:

    find ./ -type f — name "*file_name_shablon*" | xargs rm

    Внимание, команда rm удалит файлы полностью. Лучше сначала увидеть, какие найденные файлы вернет find, а потом уже передать эти аргументы в команду rm.

  • Добавить комментарий для Vankof Отменить ответ

    Ваш e-mail не будет опубликован. Обязательные поля помечены *