ru
Feedback

Не попадитесь на канал ботавода! Telemetrio находит и помечает такие каналы 👉 Хотите видеть метку — оформите подписку

Admin Portal | Сисадмин

Admin Portal | Сисадмин

Открыть в Telegram

Присоединяйтесь к нашему каналу и погрузитесь в мир для системного администратора Связь: @devmangx

Больше
7 063
Подписчики
+2424 часа
+867 дней
+39530 дней
Архив постов
Быстрый совет по Linux: как найти большие файлы Заканчивается место на диске и непонятно, что его занимает? Используйте коман
Быстрый совет по Linux: как найти большие файлы Заканчивается место на диске и непонятно, что его занимает? Используйте команду:
find / -type f -size +500M 2>/dev/null
Она найдёт файлы размером больше 500 МБ во всей файловой системе. 2>/dev/null скрывает сообщения об ошибках доступа, оставляя в выводе только найденные файлы. Размер и область поиска можно менять под свои задачи:
find / -type f -size +100M 2>/dev/null
find / -type f -size +1G 2>/dev/null
find /home -type f -size +50M 2>/dev/null
find /var -type f -size +200M 2>/dev/null
Полезно, когда нужно быстро найти, какие файлы занимают место на сервере. @SysAdmin_Portal

Быстрый совет по Linux Нужно сохранить вывод команды в файл, но при этом видеть его в терминале? Используй tee. command | tee
Быстрый совет по Linux Нужно сохранить вывод команды в файл, но при этом видеть его в терминале? Используй tee.
command | tee filename
Например:
df -h | tee config_old.txt
Команда выведет информацию на экран и одновременно сохранит её копию в файл. Можно использовать с любыми командами:
free -h | tee memory-report.txt
ps aux | tee processes.txt
ip addr | tee network.txt
ls -l | tee files.txt
Удобный способ сохранять результаты выполнения команд, не теряя их из виду в терминале. @SysAdmin_Portal

Kubernetes Tip: как сохранить реальный IP-адрес клиента В некоторых случаях для сетевых политик безопасности, мониторинга тра
Kubernetes Tip: как сохранить реальный IP-адрес клиента В некоторых случаях для сетевых политик безопасности, мониторинга трафика и приложений, работающих не по HTTP, важно знать настоящий IP-адрес клиента. По умолчанию Kubernetes Services типов NodePort и LoadBalancer используют настройку externalTrafficPolicy: Cluster. В этом случае Pod, получающий трафик, может видеть IP-адрес узла Kubernetes вместо исходного IP-адреса клиента. Чтобы сохранить исходный IP, установите:
spec:
  externalTrafficPolicy: Local
Эта настройка указывает Kubernetes направлять внешний трафик только в Pod'ы этого Service, расположенные на том же узле, который получил запрос. Таким образом, исходный IP-адрес клиента сохраняется. Но есть нюанс: если на узле нет локального Pod'а, обслуживающего этот Service, трафик, поступивший на такой узел, будет отброшен, а не перенаправлен на другой узел. Правильно настроенный балансировщик нагрузки может использовать проверки работоспособности (health checks), чтобы не отправлять трафик на такие узлы. Важно: сохранение IP зависит и от балансировщика нагрузки. Сетевой балансировщик (Network Load Balancer) может сохранять исходный IP клиента — в зависимости от конфигурации. HTTP-прокси и балансировщики на уровне приложений обычно создают новое соединение с приложением, поэтому Pod может видеть IP-адрес самого балансировщика. В таком случае исходный IP клиента передаётся в HTTP-заголовке, например X-Forwarded-For. Его можно использовать для логирования, ограничения частоты запросов (rate limiting) и других задач. @SysAdmin_Portal

DevOps инструмент недели: Kubetail Разбирать логи в Kubernetes бывает непросто: приходится переключаться между подами, запуск
DevOps инструмент недели: Kubetail Разбирать логи в Kubernetes бывает непросто: приходится переключаться между подами, запускать kubectl logs и искать причину ошибки среди множества реплик приложения. Kubetail open-source инструмент для просмотра логов Kubernetes в реальном времени. Он собирает логи из нескольких подов в одном интерфейсе, упрощая отладку приложений. Что умеет: • Показывать логи нескольких подов и контейнеров одновременно. • Обновлять временную шкалу при появлении, остановке и замене подов. • Фильтровать логи по временному диапазону, зоне доступности, архитектуре CPU и узлу. • Переключаться между несколькими кластерами через десктопное приложение. Полезный инструмент для тех, кто работает с Kubernetes и хочет тратить меньше времени на поиск ошибок в логах. GitHub: https://github.com/kubetail-org/kubetail @SysAdmin_Portal

Linux Tip: сортируй строки в файле одной командой Нужно отсортировать строки текстового файла по алфавиту?Используй команду s
Linux Tip: сортируй строки в файле одной командой Нужно отсортировать строки текстового файла по алфавиту?Используй команду sort.
sort names.txt
Команда отсортирует строки и выведет результат в терминал, не изменяя исходный файл. Можно использовать её с любыми текстовыми файлами:
sort users.txt
sort cities.txt
sort products.txt
sort words.txt
Чтобы сохранить результат в новый файл:
sort names.txt > sorted-names.txt
sort пригодится для упорядочивания данных перед поиском, сравнением файлов и дальнейшей обработкой. Полезный флаг: sort -r names.txt — сортировка в обратном порядке. @SysAdmin_Portal

Linux Tip: следи за изменениями в терминале автоматически Нужно отслеживать загрузку диска, использование памяти или запущенн
Linux Tip: следи за изменениями в терминале автоматически Нужно отслеживать загрузку диска, использование памяти или запущенные процессы в реальном времени? Используй команду watch.
watch df -h
Команда будет выполнять df -h каждые 2 секунды и автоматически обновлять вывод. Чтобы остановить мониторинг, нажми Ctrl + C. Другие полезные примеры:
watch free -h
watch date
watch ls -l
watch "ps aux | grep nginx"
watch "ip addr"
watch пригодится для мониторинга дискового пространства, оперативной памяти, процессов и сетевых интерфейсов без необходимости вручную повторять команды. Полезный флаг: watch -n 1 df -h — обновлять данные каждую секунду. @SysAdmin_Portal

Linux-совет: как определить тип файла Нашли файл с непонятным расширением или вообще без него? Выполните: file filename Напри
Linux-совет: как определить тип файла Нашли файл с непонятным расширением или вообще без него? Выполните:
file filename
Например:
file mdfiles.zip
file script.py
file config_new.txt
file nohup.out
Команда анализирует содержимое и признаки формата, поэтому может распознать архив, изображение, исполняемый файл или текст даже без расширения. Полезно, чтобы понять, с чем вы работаете, перед открытием файла. @SysAdmin_Portal

Linux-совет: как извлечь один столбец из файла Чтобы вывести второе поле каждой строки, разделённой запятыми: cut -d',' -f2 ~
Linux-совет: как извлечь один столбец из файла Чтобы вывести второе поле каждой строки, разделённой запятыми:
cut -d',' -f2 ~/Desktop/members.csv
• -d',' — задаёт запятую как разделитель. • -f2 — выбирает второе поле. @SysAdmin_Portal

Linux-совет: как убрать повторяющиеся строки Команда uniq убирает только соседние дубликаты: uniq names.txt Чтобы удалить пов
Linux-совет: как убрать повторяющиеся строки Команда uniq убирает только соседние дубликаты:
uniq names.txt
Чтобы удалить повторы независимо от их расположения, сначала отсортируйте строки:
sort names.txt | uniq
Ещё несколько полезных вариантов:
# Убрать дубликаты одной командой
sort -u names.txt

# Посчитать количество вхождений каждой строки
sort fruits.txt | uniq -c

# Показать только строки, которые повторяются
sort names.txt | uniq -d
Результат выводится в терминал — исходный файл не меняется. Учтите, что sort изменяет порядок строк. @SysAdmin_Portal

DNAT: как трафик попадает в контейнеры и Pod’ы DNAT (Destination NAT) — это изменение адреса назначения пакета: IP и, при нео
DNAT: как трафик попадает в контейнеры и Pod’ы DNAT (Destination NAT) — это изменение адреса назначения пакета: IP и, при необходимости, порта. Например, приложение внутри Docker-контейнера слушает порт 80. В обычной bridge-сети с NAT его приватный IP по умолчанию недоступен клиентам за пределами хоста. Публикуем порт:
docker run -p 8080:80 nginx
Теперь клиент обращается к IP хоста на порту 8080. На хосте адрес назначения пакета меняется на IP контейнера и порт 80, после чего пакет направляется в контейнер. Это и есть DNAT. В Kubernetes тот же принцип используется для трафика Service. Когда kube-proxy работает в режиме iptables, правила DNAT перенаправляют запрос с IP и порта Service на IP выбранного Pod’а и его targetPort. @SysAdmin_Portal

Steampipe: SQL-запросы к облачной инфраструктуре Какие ресурсы остались без обязательных тегов? Есть ли публично доступные S3
Steampipe: SQL-запросы к облачной инфраструктуре Какие ресурсы остались без обязательных тегов? Есть ли публично доступные S3-бакеты? В каких Kubernetes namespaces отсутствуют NetworkPolicies? Для ответа необязательно переключаться между консолями и писать отдельные скрипты. Steampipe — open-source инструмент, который позволяет запрашивать данные из AWS, Kubernetes и других сервисов с помощью SQL. Через плагины он обращается к API сервисов и представляет данные в виде таблиц. Можно фильтровать ресурсы, объединять результаты и проверять инфраструктуру привычными запросами. Полезен для инвентаризации, поиска ошибок конфигурации и разовых проверок безопасности. Руководство по Steampipe @SysAdmin_Portal

Linux-совет: замена символов с помощью tr Чтобы перевести латинские буквы в верхний регистр, выполните: echo "hello linux" |
Linux-совет: замена символов с помощью tr Чтобы перевести латинские буквы в верхний регистр, выполните:
echo "hello linux" | tr 'a-z' 'A-Z'
Результат: HELLO LINUX. Ещё несколько примеров:
# Перевести в нижний регистр
echo "HELLO" | tr 'A-Z' 'a-z'

# Заменить запятые пробелами
echo "a,b,c" | tr ',' ' '

# Обработать текст из файла
tr 'a-z' 'A-Z' < input.txt
tr читает стандартный ввод и выводит преобразованный текст. Исходный файл при этом не меняется. @SysAdmin_Portal

Совет по Linux: как разбить большой файл на части Используйте split, указав количество строк в каждой части: split -l 100 nam
Совет по Linux: как разбить большой файл на части Используйте split, указав количество строк в каждой части:
split -l 100 names.txt
Если в names.txt 250 строк, появятся три файла: • xaa — строки 1–100. • xab — строки 101–200. • xac — строки 201–250. Исходный файл останется без изменений. Проверить количество строк:
wc -l x*
Можно задать собственный префикс для новых файлов:
split -l 100 names.txt part_
Тогда части получат имена part_aa, part_ab, part_ac. Удобно для обработки больших списков, датасетов и логов. @SysAdmin_Portal

Kubernetes: от первых команд до production Уметь запускать kubectl apply — только начало. Для работы с production-кластерами
Kubernetes: от первых команд до production Уметь запускать kubectl apply — только начало. Для работы с production-кластерами важно понимать их устройство, уметь развёртывать приложения, обеспечивать надёжность и настраивать безопасность. В этой дорожной карте изучения Kubernetes собраны: • Знания, которые пригодятся перед стартом. • Способы получить бесплатные облачные кредиты для первого кластера. • Ключевые концепции Kubernetes. • Практики обеспечения надёжности и безопасности. • Полезные ресурсы для обучения. Пошаговый маршрут для тех, кто хочет перейти от выполнения команд к осознанной работе с кластерами. https://devopscube.com/learn-kubernetes-complete-roadmap/ @SysAdmin_Portal

Быстрый совет по Linux Если у вас есть данные в нескольких файлах и нужно объединить их построчно, используйте команду: paste
Быстрый совет по Linux Если у вас есть данные в нескольких файлах и нужно объединить их построчно, используйте команду:
paste file1 file2
Например:
paste name.txt age.txt
Команда объединит соответствующие строки из обоих файлов в один вывод, разделяя значения табуляцией. Другие примеры:
paste users.txt emails.txt
paste cities.txt countries.txt
paste file1.txt file2.txt
Полезно для объединения связанных данных, сравнения файлов и создания простых отчётов прямо в терминале. @SysAdmin_Portal

Совет по Linux: как записать текст в файл Используйте echo и перенаправление вывода: echo "Привет, Linux!" > hello.txt Команд
Совет по Linux: как записать текст в файл Используйте echo и перенаправление вывода:
echo "Привет, Linux!" > hello.txt
Команда создаст файл hello.txt и запишет в него текст. Посмотреть содержимое:
cat hello.txt
Другие полезные примеры:
echo "Welcome" > welcome.txt  # Создать или перезаписать файл
echo "Новая строка" >> notes.txt  # Добавить строку в конец
echo "$HOME"  # Показать путь к домашнему каталогу
echo "$PATH"  # Показать каталоги поиска исполняемых файлов
> перезаписывает содержимое файла, а >> дописывает в конец. Если файла нет, оба варианта создадут его. @SysAdmin_Portal

Совет по Linux: как посмотреть сообщения ядра Подключили USB-устройство или разбираетесь с проблемой оборудования, драйверов
Совет по Linux: как посмотреть сообщения ядра Подключили USB-устройство или разбираетесь с проблемой оборудования, драйверов или загрузки? Выполните:
dmesg | tail
Команда покажет последние 10 строк сообщений ядра: обнаружение устройств, работу драйверов и системные события. Другие полезные варианты:
dmesg | grep -i usb       # Сообщения об USB
dmesg | grep -i error     # Строки со словом error
dmesg | grep -i ethernet  # Строки с упоминанием Ethernet
dmesg -T                 # Дата и время в читаемом формате
Флаг -i отключает учёт регистра при поиске. Если доступ к журналу ограничен, запускайте dmesg через sudo. @SysAdmin_Portal

kube-green: отправляем dev и staging спать по расписанию Тестовые окружения часто работают круглосуточно, хотя ночью и на вых
kube-green: отправляем dev и staging спать по расписанию Тестовые окружения часто работают круглосуточно, хотя ночью и на выходных ими никто не пользуется. Поды продолжают занимать ресурсы, а инфраструктура — стоить денег. kube-green — open-source оператор Kubernetes, который останавливает ненужные нагрузки по расписанию и восстанавливает их к началу рабочего дня. Что умеет: • Масштабировать Deployments и StatefulSets до нуля. • Приостанавливать запуск CronJobs. • Восстанавливать количество реплик по расписанию. • Учитывать дни недели и часовые пояса. • Исключать ресурсы по именам или меткам. • Работать с пользовательскими ресурсами через патчи. Экономия зависит от инфраструктуры: остановка подов освобождает ресурсы, но для снижения расходов на вычислительные узлы может потребоваться их автоматическое масштабирование. https://github.com/kube-green/kube-green @SysAdmin_Portal

kube-green: отправляем dev и staging спать по расписанию Тестовые окружения часто работают круглосуточно, хотя ночью и на выходных ими никто не пользуется. Поды продолжают занимать ресурсы, а инфраструктура — стоить денег. kube-green — open-source оператор Kubernetes, который останавливает ненужные нагрузки по расписанию и восстанавливает их к началу рабочего дня. Что умеет: • Масштабировать Deployments и StatefulSets до нуля. • Приостанавливать запуск CronJobs. • Восстанавливать количество реплик по расписанию. • Учитывать дни недели и часовые пояса. • Исключать ресурсы по именам или меткам. • Работать с пользовательскими ресурсами через патчи. Экономия зависит от инфраструктуры: остановка подов освобождает ресурсы, но для снижения расходов на вычислительные узлы может потребоваться их автоматическое масштабирование. https://github.com/kube-green/kube-green @SysAdmin_Portal

Linux-совет: объединение файлов по общему полю Команда join объединяет строки двух текстовых файлов по совпадающему ключу. По
Linux-совет: объединение файлов по общему полю Команда join объединяет строки двух текстовых файлов по совпадающему ключу. По умолчанию используется первое поле, а разделителями служат пробелы или табуляция. Например, файл names.txt:
1 Alice
2 Bob
Файл ages.txt:
1 25
2 30
Выполните:
join names.txt ages.txt
Результат:
1 Alice 25
2 Bob 30
Оба файла должны быть отсортированы по полю объединения. Подготовить отдельные отсортированные копии можно так:
sort -k1,1 names.txt > names.sorted.txt
sort -k1,1 ages.txt > ages.sorted.txt
join names.sorted.txt ages.sorted.txt
По умолчанию выводятся только совпавшие записи — похоже на INNER JOIN в SQL. @SysAdmin_Portal