Linux: Системный администратор
1.92K subscribers
81 photos
8 videos
15 files
25 links
Здесь вы найдете полезные советы, практические материалы и интересные инсайты по администрированию Linux. Погружаемся в мир команд, скриптов и серверов вместе! 🚀

Авторский канал действующего админа 👨🏼‍💻
Download Telegram
Шпаргалка по PostgreSQL

-- ***********************************
-- Редактирование таблиц, расширенные возможности SELECT, функции
-- ***********************************

-- Добавление поля в таблицу
ALTER TABLE table_name ADD COLUMN new_field
BOOLEAN NOT NULL DEFAULT TRUE;


-- добавление поля с автоинкрементом и primary key в таблицу
ALTER TABLE test1 ADD COLUMN id SERIAL PRIMARY KEY;

-- Удаление поля из таблицы
ALTER TABLE table_name DROP COLUMN new_field;

-- переименовать поле
ALTER TABLE table_name RENAME old_field TO new_field;

-- сменить тип данных
ALTER TABLE table_name ALTER COLUMN any_field SET
DATA TYPE VARCHAR(255);


-- изменить значение по умолчанию
ALTER TABLE table_name ALTER COLUMN any_field SET
DEFAULT 'new value';


-- добавить/удалить constraint NOT NULL
ALTER TABLE table_name ALTER COLUMN any_field
SET|DROP NOT NULL;


-- переименовать таблицу
ALTER TABLE table_name RENAME TO new_table_name;

-- Расширенные возможности SELECT
SELECT * FROM table WHERE field1 LIKE 'value'; -- field1 = 'value'
SELECT * FROM table WHERE field1 LIKE 'val%'; -- field1 начинается с 'val'
SELECT * FROM table WHERE field1 LIKE '%lue'; -- field1 заканчивается на 'lue'
SELECT * FROM table WHERE field1 LIKE '%e%'; -- field1 содержит 'e'
-- несколько условий
SELECT * FROM table WHERE field1 = 'value' AND field2 > 'value2';
SELECT * FROM table WHERE field1 = 'value' OR field2 > 'value2';


-- вывод уникальных записей
SELECT DISTINCT field1 FROM table;

-- группирование записей

SELECT field1, COUNT(field1) FROM table GROUP BY field1;
-- сгруппирует записи таблицы table по полю field и выведет уникальные значения field и количество повторений

SELECT field1, COUNT(field1) FROM table GROUP BY field1
HAVING COUNT(field) > 3;

-- сгруппирует записи таблицы table по полю field и выведет уникальные значения field и количество повторений, где количество повторений больше 3

#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin

👉 @linux_odmin
👍5
🎥 Вебинар по Linux: Введение в Docker: контейнеры, изоляция и первые шаги.

На вебинаре вы узнаете:
- Чем контейнеризация отличается от виртуализации и почему Docker стал стандартом.
- Как устроены контейнер, образ и Docker Engine.
- Как запустить и управлять контейнерами с помощью базовых команд docker run, ps, exec, stop).
- Как использовать Docker Hub и скачивать готовые образы.

В результате вебинара вы:
- Разберётесь в ключевых понятиях Docker.
- Научитесь запускать и управлять контейнерами.
- Сможете использовать готовые образы для своих тестовых окружений.
- Поймёте, куда двигаться дальше в изучении контейнерных технологий.

🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Professional"

👉 Для участия зарегистрируйтесь: https://vk.cc/cRv5gv

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Nginx-Lua-Anti-DDoS

Этот репозиторий предоставляет Lua-скрипт для защиты серверов на базе Nginx от DDoS-атак. Он использует возможности OpenResty и модуля ngx_lua для фильтрации трафика, ограничения запросов и обнаружения подозрительных IP.

🔹 Основные функции:
- Проверка и блокировка подозрительных клиентов.
- Ограничение количества запросов (rate limiting).
- Обнаружение автоматизированных атак и ботов.
- Интеграция с Cloudflare, iptables и другими системами.

🔹 Требования:
- Nginx с поддержкой Lua (через OpenResty или сборку с модулем `ngx_http_lua_module`).
- Возможность редактирования конфигурации сервера.

https://github.com/C0nw0nk/Nginx-Lua-Anti-DDoS

#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin

👉 @linux_odmin
👍3
Как работает HTTPS?

Безопасный протокол передачи гипертекста

(HTTPS) - это расширение протокола передачи гипертекста (HTTP). HTTPS передает зашифрованные данные с использованием транспортного уровня безопасности (TLS). Если данные будут перехвачены в Интернете, все, что получит угонщик, - это двоичный код.

Как шифруются и дешифруются данные?

Шаг 1 - Клиент (браузер) и сервер устанавливают TCP-соединение.

Шаг 2 - Клиент отправляет серверу " client hello". Сообщение содержит набор необходимых алгоритмов шифрования (наборов шифров) и последнюю версию TLS, которую он может поддерживать. Сервер отвечает " server hello", чтобы браузер знал, может ли он поддерживать алгоритмы и версию TLS.

Затем сервер отправляет SSL-сертификат клиенту. Сертификат содержит открытый ключ, имя хоста, дату истечения срока действия и т. д. Клиент проверяет сертификат.

Шаг 3. После проверки SSL-сертификата клиент генерирует ключ сессии и шифрует его с помощью открытого ключа. Сервер получает зашифрованный ключ сеанса и расшифровывает его с помощью закрытого ключа.

Шаг 4 - Теперь, когда клиент и сервер владеют одним и тем же сеансовым ключом (симметричное шифрование), зашифрованные данные передаются по защищенному двунаправленному каналу.

Почему HTTPS переключается на симметричное шифрование при передаче данных? Есть две основные причины:

1. Безопасность: Асимметричное шифрование работает только в одну сторону. Это означает, что если сервер попытается отправить зашифрованные данные обратно клиенту, любой сможет расшифровать их с помощью открытого ключа.

2. Ресурсы сервера: Асимметричное шифрование добавляет довольно много математических накладных расходов. Оно не подходит для передачи данных в длительных сессиях.

#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin

👉 @linux_odmin
👍8
🎥 Вебинар по Linux: Процессы в Linux: как работает система изнутри

Разбираемся, что такое процессы в Linux, как их контролировать и что делать с зомби и сиротами.

На вебинаре вы узнаете:
- Что такое процесс в Linux и чем он отличается от программы.
- Как устроен жизненный цикл процесса — от создания до завершения.
- Что такое состояния процессов и как их отследить с помощью системных утилит.
- Как управлять процессами: приоритеты, фоновые задания, остановка и завершение.

В результате вебинара вы:
- Научитесь находить и анализировать процессы с помощью ps, top, htop и других инструментов.
- Разберётесь, кто такие “зомби” и “сироты” и как их «убить» корректно.
- Поймёте, как Linux управляет процессами и что происходит при системных вызовах к ядру.
- Сможете уверенно контролировать работу процессов и решать проблемы зависших приложений..

🎁 Все участники вебинара получат специальные условия на полное обучение курса "Administrator Linux. Basic"

👉 Для участия зарегистрируйтесь: https://vk.cc/cREaKs

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Как найти и удалить старые файлы в Linux? 🗑️

Привет, админы! Сегодня разберёмся, как быстро находить и удалять старые файлы в Linux. Это полезно для очистки логов, временных файлов и других ненужных данных.

🔍 Поиск файлов старше 30 дней:

find /path/to/directory -type f -mtime +30

- -type f — ищем только файлы;
- -mtime +30 — файлы старше 30 дней.

🗑️ Удаление этих файлов:

find /path/to/directory -type f -mtime +30 -delete

Осторожно! Удаление без подтверждения.

Безопасный вариант с подтверждением:

find /path/to/directory -type f -mtime +30 -exec rm -i {} \;

Будет запрашиваться подтверждение перед удалением.

🔥 Автоматизация через cron:
Добавляем в crontab -e:

0 3 * * * find /var/log -type f -mtime +30 -delete

Очистка логов каждую ночь в 03:00.

#Linux@linux_odmin #Команды@linux_odmin #Шпаргалка@linux_odmin

👉 @linux_odmin
👍5
Как проверить, что процесс слушает нужный порт?

Бывало такое, что сервис не отвечает, и непонятно, слушает ли он вообще нужный порт? Давайте разберёмся, как это проверить.

📡 Способы проверки:

1️⃣ ss (современный вариант netstat):

ss -tulnp

- -t — TCP;
- -u — UDP;
- -l — только слушающие сокеты;
- -n — не резолвить имена;
- -p — показать процессы.

2️⃣ lsof (список открытых файлов, включая порты):

lsof -i :80

Покажет, какой процесс слушает 80-й порт.

3️⃣ netstat (старый, но работает):

netstat -tulnp


4️⃣ Сокетный тест с nc:

nc -zv 127.0.0.1 80

Если порт открыт, увидим сообщение succeeded.

💡 Пример реального кейса: Apache не запускается, потому что другой процесс уже занял порт 80. Как быстро его прибить?

fuser -k 80/tcp

или

kill $(lsof -t -i :80)


#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍6
Как быстро узнать, какие процессы грузят систему?

Если сервер вдруг начал тормозить, первым делом проверяем загрузку CPU и памяти. Вот мои любимые команды:

🔹 top — классика, показывает активные процессы в реальном времени.
🔹 htop — улучшенная версия top с удобным интерфейсом.
🔹 ps aux --sort=-%cpu | head — топ 10 процессов по загрузке CPU.
🔹 ps aux --sort=-%mem | head — топ 10 процессов по потреблению памяти.

А если хотите найти, какая конкретно команда грузит диск:

iotop -o

или

iostat -dx 1

Какие инструменты используете вы, когда сервер внезапно начинает «тупить»? 🚀

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍72
🛠 Как проверить нагрузку на сервер?

Если сервер начал тормозить, первым делом проверяем, что его грузит. Вот полезные команды для диагностики:

🔹 top / htop – показывает загрузку процессора, памяти, активные процессы.
🔹 free -m – проверяет, сколько оперативной памяти занято и сколько доступно.
🔹 df -h – смотрит свободное место на диске.
🔹 iostat -x 1 – помогает определить проблемы с дисковым вводом-выводом.
🔹 netstat -tulnp / ss -tulnp – проверяет открытые порты и сетевые подключения.

Если сервер под нагрузкой, но процессы неизвестны, попробуйте ps aux --sort=-%cpu или ps aux --sort=-%mem, чтобы найти самых "прожорливых".

А какими инструментами диагностики чаще всего пользуетесь вы?

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍41
1️⃣ Как проверить скорость интернета в Linux через терминал?

Если вам нужно быстро замерить скорость интернета на сервере или рабочей машине без браузера, используйте один из этих инструментов:

1️⃣ Speedtest CLI
Установите и запустите:

sudo apt install speedtest-cli # для Ubuntu/Debian
sudo yum install speedtest-cli # для CentOS/RHEL
speedtest


2️⃣ Fast CLI (от Netflix)
Удобный альтернативный инструмент:

curl -s https://raw.githubusercontent.com/sivel/speedtest-cli/master/speedtest.py | python3

или

fast


3️⃣ nload – мониторинг в реальном времени

sudo apt install nload
nload


Теперь у вас есть несколько способов быстро проверить скорость соединения. Какой инструмент используете вы? 🌐

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍51👎1
2️⃣ Почему kill -9 не всегда хорошая идея?

Один из самых частых способов убить процесс в Linux – это команда:

kill -9 PID

Но почему её не стоит использовать бездумно?

🔸 -9 (SIGKILL) моментально завершает процесс без шанса на очистку ресурсов. Это может привести к:
- Потере несохранённых данных
- Оставлению зомби-процессов
- Проблемам с зависимыми процессами

Лучше использовать более "мягкие" сигналы:
1️⃣ kill PID (SIGTERM) – вежливо просит процесс завершиться.
2️⃣ kill -15 PID – то же самое, но явно.
3️⃣ kill -1 PID (SIGHUP) – для перезапуска демонов.
4️⃣ kill -2 PID (SIGINT) – аналог Ctrl+C.

Используйте kill -9 только в крайнем случае, когда процесс завис и не отвечает на другие сигналы.

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍51
🛠 Как проверить загрузку процессора в Linux?

Производительность сервера – это первое, что проверяют при проблемах. Если сервер тормозит, первым делом смотрим на CPU.

📌 Вот несколько полезных команд:
🔹 top – показывает загрузку CPU в реальном времени.
🔹 htop – более удобная версия top с цветным интерфейсом.
🔹 mpstat -P ALL 1 – детальный анализ нагрузки по ядрам.
🔹 sar -u 1 10 – сбор данных о загрузке процессора в динамике.
🔹 iostat -c 1 – еще один способ посмотреть загрузку CPU.

🔎 На что смотреть?
📌 Высокий %user – процессы активно используют CPU.
📌 Высокий %iowait – узкое место в дисковой системе.
📌 %steal – возможно, вам не хватает процессорных ресурсов на виртуальной машине.

А какая ваша любимая команда для мониторинга CPU? Делитесь в комментариях!

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
👍2
Как удалить огромную папку в Linux за секунды?

Удаление больших папок в Linux может занять очень много времени. Особенно, если делать это через rm -rf.

💡 Альтернативные способы удаления:
Удаляем быстрее с rsync:

rsync -a --delete empty_dir/ target_dir/

Заменяем target_dir на пустую папку и мгновенно очищаем ее.

Используем find и xargs:

find /bigdir -type f -delete
find /bigdir -depth -type d -delete

Сначала удаляем файлы, потом папки – так быстрее.

Удаляем через inode:
Если папка – это отдельный монтированный диск, можно просто отмонтировать и форматнуть:

umount /bigdir
mkfs.ext4 /dev/sdX


Какой способ используете вы?

#Linux@linux_odmin #LinuxTips@linux_odmin #Команды@linux_odmin

👉 @linux_odmin
3👍2