Чтобы каждый раз не мониторить завершение какого-либо долгого процесса, к примеру, бэкапа или сборки пакетов, можно применить звуковой сигнал по его завершении.
Пример псевдокода:
•
•
Пример псевдокода:
some_long_command; echo $'\a'•
; - отделяет команды друг от друга.•
echo $'\a' - подаст звуковой сигнал.Сочетание команд find и grep
Комбинация этих команд позволяет искать файлы с помощью
Найти определенный текстовый шаблон в файлах в каталоге и его подкаталогах:
Найдите файлы, измененные в пределах временного диапазона, а затем выполните поиск внутри них:
Найти файлы с расширением .txt и затем найти в них шаблон:
Комбинация этих команд позволяет искать файлы с помощью
find, а затем искать определенное содержимое в этих файлах с помощью grep.Найти определенный текстовый шаблон в файлах в каталоге и его подкаталогах:
find /path/to/search -type f -exec grep -H "pattern" {} +Найдите файлы, измененные в пределах временного диапазона, а затем выполните поиск внутри них:
find /path/to/search -type f -mtime -7 -exec grep -H "pattern" {} +Найти файлы с расширением .txt и затем найти в них шаблон:
find /path/to/search -type f -name "*.txt" -exec grep -H "pattern" {} +Анализ логов с агрегацией и сортировкой
Условие:
Есть лог веб-сервера access.log в формате:
Пример:
Задача:
Вывести топ-5 IP, которые сделали больше всего запросов с кодом 500.
Решение:
•
• •
• •
•
•
•
•
Условие:
Есть лог веб-сервера access.log в формате:
IP - - [date] "METHOD URL HTTP/1.1" STATUS SIZEПример:
192.168.1.10 - - [01/Feb/2026:10:12:34] "GET /api/users HTTP/1.1" 200 1234Задача:
Вывести топ-5 IP, которые сделали больше всего запросов с кодом 500.
Решение:
awk '$9 == 500 {print $1}' access.log \
| sort \
| uniq -c \
| sort -nr \
| head -5•
awk '$9 == 500 {print $1}'• •
$9 — HTTP-код• •
$1 — IP-адрес•
sort — обязательная подготовка для uniq•
uniq -c — считаем количество повторений•
sort -nr — числовая сортировка по убыванию•
head -5 — топ-5Где вы окажетесь завтра, зависит от того, что вы изучаете сегодня. PostgreSQL — инструмент, который ищут компании, а грамотных специалистов по нему все еще немного.
Почему именно PostgreSQL? Потому что это не просто база данных, а сердце ваших проектов. Если вы администратор БД, разработчик, DevOps или администратор Linux, этот курс — ваш апгрейд.
Мы научим настраивать кластеры, оптимизировать производительность, разбираться с блокировками и решать задачи работы с большими объемами данных. А также живые лекции, практические задания и диплом, который признают лидеры рынка. Учитесь у практиков, которые знают, как решать реальные задачи, и получите навыки, за которые платят топовые компании.
Присоединяйтесь к курсу «PostgreSQL для администраторов баз данных и разработчиков» сейчас и начните свой путь к высокооплачиваемой карьере!
Оставить заявку: https://otus.pw/VeBi/
🎁Бонус: скидка 5% на обучение по промокодуgo_dba . Предложение действительно до 12.02
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Почему именно PostgreSQL? Потому что это не просто база данных, а сердце ваших проектов. Если вы администратор БД, разработчик, DevOps или администратор Linux, этот курс — ваш апгрейд.
Мы научим настраивать кластеры, оптимизировать производительность, разбираться с блокировками и решать задачи работы с большими объемами данных. А также живые лекции, практические задания и диплом, который признают лидеры рынка. Учитесь у практиков, которые знают, как решать реальные задачи, и получите навыки, за которые платят топовые компании.
Присоединяйтесь к курсу «PostgreSQL для администраторов баз данных и разработчиков» сейчас и начните свой путь к высокооплачиваемой карьере!
Оставить заявку: https://otus.pw/VeBi/
🎁Бонус: скидка 5% на обучение по промокоду
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Контроль активности пользователя
Чтобы мониторить действий пользователей в системе, можно использовать два приложения —
Они предоставляют отличный способ отслеживать, что делают пользователи, какие команды они запускают, сколько ресурсов они потребляют, как долго пользователи активны в системе. Еще одна замечательная особенность в том, что она дает общие ресурсы, потребляемые такими службами, как
Команды для мониторинга действий процесса:
⁃
⁃
⁃
⁃
⁃
Пакет
Чтобы мониторить действий пользователей в системе, можно использовать два приложения —
psacct или acct.Они предоставляют отличный способ отслеживать, что делают пользователи, какие команды они запускают, сколько ресурсов они потребляют, как долго пользователи активны в системе. Еще одна замечательная особенность в том, что она дает общие ресурсы, потребляемые такими службами, как
Apache, MySQL, FTP, SSH и т.д.Команды для мониторинга действий процесса:
⁃
ac — выводит статистику пользовательских входов/выходов (время подключения) в часах.⁃
lastcomm — печатает информацию о ранее выполненных командах пользователя.⁃
accton — используются для включения/выключения процесса учета.⁃
sa — суммирует информацию о ранее выполненных командах.⁃
last и lastb — показывают список последних зарегистрированных пользователей.Пакет
psacct доступен только для дистрибутивов на основе rpm (RHEL, CentOS и Fedora), а acct — для Ubuntu, Debian и Linux Mint.Получить всю информацию о компонентах компьютера можно с помощью команды
Если запустить команду без параметров, то на выходе получим огромный список в несколько сотен строк, включающий версию прошивки, установленные драйверы, поддерживаемые возможности, серийные номера, номера версий и информацию о шине.
Поэтому следует немного отфильтровать поток, запустив:
Пример вывода информации с конкретными классами:
Вывод можно преобразовать в форматы HTML, XML или JSON, к примеру:
Чтобы убрать из вывода информацию, такую как IP адреса и серийные номера, можно добавить параметр
lshwЕсли запустить команду без параметров, то на выходе получим огромный список в несколько сотен строк, включающий версию прошивки, установленные драйверы, поддерживаемые возможности, серийные номера, номера версий и информацию о шине.
Поэтому следует немного отфильтровать поток, запустив:
sudo lshw -short или sudo lshw -businfo, чтобы увидеть список классов устройств, которые дальше можно передать утилите.Пример вывода информации с конкретными классами:
sudo lshw -short -class bus -class cpu Вывод можно преобразовать в форматы HTML, XML или JSON, к примеру:
sudo lshw -html -class storage > log.html Чтобы убрать из вывода информацию, такую как IP адреса и серийные номера, можно добавить параметр
-sanitizeИзменения владельца файла или директории
В Linux каждый пользователь имеет свои собственные файлы, причем он может регламентировать возможность доступа других пользователей к ним.
С этим может помочь команда
Чтобы предоставить пользователю с именем name возможность распоряжаться файлом
Помимо изменения владельца файла, может изменяться группа его владельцев или его владелец и группа его владельцев одновременно.
В результате команды:
владельцем
В Linux каждый пользователь имеет свои собственные файлы, причем он может регламентировать возможность доступа других пользователей к ним.
С этим может помочь команда
chown.Чтобы предоставить пользователю с именем name возможность распоряжаться файлом
file.txt:chown name file.txtПомимо изменения владельца файла, может изменяться группа его владельцев или его владелец и группа его владельцев одновременно.
В результате команды:
chown name:group file.txtвладельцем
file.txt станет пользователь с именем name, а группой его владельцев — group.Создаем файл устройства
В качестве примера рассмотрим процесс создания дополнительного файла loop-устройства.
Для начала следует получить список доступных в системе файлов loop-устройств:
Далее представим, что команда ls вывела 15 файлов loop-устройств (от
где
идентификатор
вспомогательный идентификатор
В качестве примера рассмотрим процесс создания дополнительного файла loop-устройства.
Для начала следует получить список доступных в системе файлов loop-устройств:
ls -al /dev | grep loopДалее представим, что команда ls вывела 15 файлов loop-устройств (от
loop0 до loop14). Исходя из этого, следует создать файл с именем loop15:mknod -m 0777 /dev/loop15 b 7 17где
-m - флаг, задающий права доступа0777 - права доступа/dev/loop15 - название /dev файлаb - обозначение блочного устройстваидентификатор
7 - фиксирован для всех файлов loop-устройств вспомогательный идентификатор
15 - указывает на номер файла loop-устройства.Вывести размер папки
Рассмотрим, как вывести размер всей папки и размер без учета вложенных папок.
Допустим, у вас есть какая-то папка folder. Тогда команда для вывода ее размера выглядит следующим образом:
Также вы можете посмотреть общий размер только самих файлов в папке, без учета содержимого подпапок. Для этого используется опция
Рассмотрим, как вывести размер всей папки и размер без учета вложенных папок.
Допустим, у вас есть какая-то папка folder. Тогда команда для вывода ее размера выглядит следующим образом:
sudo du -sh /home/dir/to/some/folder-s – выводить только размер самой папки, без вложенных подпапок.-h – выводить информацию в привычном виде. Речь о единицах измерения (K – килобайт, M – мегабайт и т. д.).Также вы можете посмотреть общий размер только самих файлов в папке, без учета содержимого подпапок. Для этого используется опция
-S:sudo du -sSh /home/dir/to/some/folderЕсли открыть окно терминала и ввести несколько команд, а после открыть второе окно, то история команд bash во втором окне не будет содержать команд из первого. К тому же, если закрыть первый терминал, а затем второй, то история команд из первого терминала будет перезаписана вторым.
Так происходит из-за того, что история команд записывается только при закрытии терминала, а не после каждой команды. Это можно исправить.
Отредактируем файл
добавив в него строки:
Так история команд будет добавляться к старой, а не перезаписывать ее, и запись будет происходить каждый раз в момент отображения подсказки bash.
Так происходит из-за того, что история команд записывается только при закрытии терминала, а не после каждой команды. Это можно исправить.
Отредактируем файл
.bashrc добавив в него строки:
shopt -s histappendPROMPT_COMMAND='history -a'Так история команд будет добавляться к старой, а не перезаписывать ее, и запись будет происходить каждый раз в момент отображения подсказки bash.
This media is not supported in your browser
VIEW IN TELEGRAM
Устали от бесконечных миграций схемы под каждый новый атрибут в логах? Выбираете между скоростью запросов и гибкостью хранения динамических JSON?
На живом примере разберем стратегии работы с полуструктурированными данными в ClickHouse:
✅Schema-on-Read vs Schema-on-Write: Когда и какой подход выбрать для баланса скорости, гибкости и стоимости.
✅Гибридные модели и Native JSON: Практическое использование современных возможностей ClickHouse.
✅Настройка и типичные запросы: Пишем DDL и сравниваем производительность разных подходов на реальных данных.
Спикер — Никита Елисеев, Senior Data Engineer. Узнайте из первых рук, как строить эффективные решения, а не костыли.
Зарегистрируйтесь, чтобы получить работающие решения и перестать «ломать» данные под базу: регистрация
На живом примере разберем стратегии работы с полуструктурированными данными в ClickHouse:
✅Schema-on-Read vs Schema-on-Write: Когда и какой подход выбрать для баланса скорости, гибкости и стоимости.
✅Гибридные модели и Native JSON: Практическое использование современных возможностей ClickHouse.
✅Настройка и типичные запросы: Пишем DDL и сравниваем производительность разных подходов на реальных данных.
Спикер — Никита Елисеев, Senior Data Engineer. Узнайте из первых рук, как строить эффективные решения, а не костыли.
Зарегистрируйтесь, чтобы получить работающие решения и перестать «ломать» данные под базу: регистрация
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576Команда curl
Запрос страницы
Команда напечатает исходный код
Скачивание файла
Получение заголовка
Если вы хотите посмотреть, какие заголовки отдает сервер, то можно использовать опцию
Измерение продолжительности соединения
Можно использовать опцию
curl утилита командной строки для передачи данных с или на сервер. С помощью curl вы можете загружать или выгружать данные, используя один из поддерживаемых протоколов, включая HTTP, HTTPS, SCP, SFTP и FTP Запрос страницы
curl google.comКоманда напечатает исходный код
google.com в окне вашего терминала.Скачивание файла
curl -O https://domain.com/testzip.tar.gzПолучение заголовка
HTTPЕсли вы хотите посмотреть, какие заголовки отдает сервер, то можно использовать опцию
-I. Она позволяют получить заголовок без тела документа.curl -I https://www.google.comИзмерение продолжительности соединения
Можно использовать опцию
-w для отображения информации в stdout после завершения передачи. Узнаем общее время, которое потребовалось для успешного выполнения запроса:curl -w "%{time_total}\n" -o /dev/null -s www.test.com