Admin Future
239 subscribers
50 photos
1 video
4 files
87 links
Превращаем эникейщиков в System Architects.
🚀 Твой навигатор в мире IT-инфраструктуры:

▪️ Hard Skills: Linux, Windows, Network, Security
▪️ Tools: Лучший софт и скрытые фишки
▪️ Mindset: Как думать, чтобы платили много


Админ - @maksimshap
Download Telegram
🐍 Python: Мгновенный веб-сервер для передачи файлов

Ситуация: Нужно срочно скачать файл с вашего компьютера на телефон или другой ноутбук в той же Wi-Fi сети. Настраивать Samba/FTP/Nginx долго. Флешку искать лень.

Если у вас установлен Python (а он есть почти везде), у вас уже есть веб-сервер.

Запуск (в папке с файлами):


# Python 3
python3 -m http.server 8000

Теперь с любого устройства в сети заходите на http://IP-ВАШЕГО-ПК:8000. Вы увидите список файлов папки. Кликаем — качаем.

Чтобы остановить: `Ctrl+C` . Просто, гениально и работает везде (Linux, Windows, macOS).

#python #network #lifehack #webserver #cli #sharing
🔥5👍21
🐧 Linux: Тормозит процессор или память? (vmstat)

Сервер "тупит".
top показывает высокую загрузку, но непонятно, в чем дело.
Не нужно ставить тяжелый софт для мониторинга.
В Linux есть встроенная утилита vmstat , которая за 5 секунд скажет правду.

Команда:


vmstat 1

(Запуск обновления каждую 1 секунду)

Куда смотреть (критические колонки):

si / so (Swap In / Swap Out): Если здесь не нули — сервер использует Swap (сбрасывает память на диск). Это смерть для производительности. Добавляйте RAM или ищите утечку.

r (Running): Очередь к процессору. Если число больше количества ядер — CPU не справляется.

b (Blocked): Процессы ждут диск (I/O). Если число высокое, а CPU свободен — умирает диск или база данных перегрузила IOPS.

Простая табличка дает больше информации, чем красивые графики.

#linux #performance #vmstat #troubleshooting #cpu #memory
🪟 CMD: Охота на зависшие RDP-сессии

Перед праздниками полезно проверить терминальные серверы. Часто бывает, что пользователи нажали "крестик", но сессия осталась висеть, поедая оперативную память и блокируя файлы. Диспетчер задач открывать долго.

1. Смотрим, кто в системе:


quser

Вывод покажет: USERNAME, ID, STATE (Active/Disc). Ищите тех, у кого статус Disc (Disconnected) висит уже несколько дней.

2. Сбрасываем зависшую сессию: Запоминаем ID из прошлой команды (например, 7).


logoff 7

3. Удаленно (если лень заходить):


quser /server:SRV-TERM-01
logoff 7 /server:SRV-TERM-01

Пять минут на чистку — и серверу станет легче дышать на каникулах.

#windows #rdp #cmd #maintenance #adminlife #cleanup
🌐 Network: Полная трассировка DNS (dig +trace)

Сайт не открывается. Вы пингуете — IP нет. nslookup говорит "Server failed".
Проблема у вас? У провайдера? Или у регистратора домена?

Используйте dig с флагом трассировки. Она покажет весь путь запроса: от корневых серверов интернета до конечной записи.

Команда:


dig +trace google.com

Как читать вывод:
1. Сначала ответят корневые сервера (.).
2. Потом сервера зоны TLD (.com).
3. Потом NS-сервера компании (ns1.google.com).

На каком этапе получите тайм-аут — там и проблема. Если nslookup просто говорит "ошибка", то dig +trace показывает кто именно виноват.

#network #dns #dig #troubleshooting #cli #internet
Netdata: Мониторинг, который устанавливается за 10 секунд

Zabbix нужно настраивать неделю. Prometheus + Grafana — три дня. А что, если нужно увидеть всё и прямо сейчас?

Ставь Netdata.

Это агент мониторинга, который не требует настройки. Вообще. Ты запускаешь одну команду, и через минуту у тебя на порту :19999 открывается дашборд уровня Бог:

* Тысячи метрик (CPU, RAM, Disks, Network, Nginx, MySQL, Docker).

* Секундная детализация (Real-time).

* Красивые темные графики, которые можно зумить мышкой.

Установка (One-liner):


wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh

Идеально для диагностики "здесь и сейчас", когда нет времени писать конфиги, а сервер умирает.

#monitoring #netdata #devops #dashboard #tools #realtime
👍1👎1
🚀 Starship: Твой терминал стал умным

Мы смотрим в консоль 8 часов в день. Почему она должна быть унылой строкой user@server:~$ ? Сделайте её информативной и кроссплатформенной (работает везде: Linux, macOS, Windows PowerShell).

Встречайте Starship. Это промпт (строка приглашения), написанный на Rust.

Что он показывает автоматически:

1. Git: В какой ветке сидишь, есть ли изменения (master ✎).

2. Стек: Если зашел в папку с Python-проектом — покажет змейку и версию 🐍 3.10. Если Node.js — покажет кубик.

3. Статус: Если прошлая команда упала — покажет красный крестик.

4. Время: Если команда выполнялась долго — покажет, сколько именно (например, took 2s).

Установка:


curl -sS https://starship.rs/install.sh | sh

(И добавить одну строку в ~/.bashrc или ~/.zshrc).

Выглядит дорого, работает молниеносно.

#cli #terminal #starship #customization #rust #productivity
🕸 GoAccess: Превращаем логи Nginx в красивый отчет

Твой босс спрашивает: "Сколько людей было на сайте вчера? С каких стран? Были ли ошибки 404?". Ты можешь грепать access.log полчаса. А можешь запустить GoAccess.

Это анализатор веб-логов, который работает в двух режимах:

1. TUI (в терминале): Красивая псевдографика с барами и статистикой.

2. HTML (веб-отчет): Генерирует интерактивную HTML-страницу с графиками, которую не стыдно показать директору.

Запуск одной строкой:


goaccess /var/log/nginx/access.log --log-format=COMBINED -a -o report.html

Он парсит гигабайты логов за секунды, определяет ботов, браузеры, гео-локацию и самые тяжелые запросы.

#web #logs #nginx #goaccess #analytics #tools #visualization
3🔥1
🕵️‍♂️ Linux: Читаем логи как Профи (grep -C)

Когда вы грепаете лог по слову Error , вы видите строку ошибки, но не видите, что привело к ней. Обычно админы открывают vim и листают вручную. Это долго и неудобно.

Используйте флаги контекста в grep . Это киллер-фича!

🔹 -B 5 (Before): Показать 5 строк до совпадения.
🔹 -A 5 (After): Показать 5 строк после совпадения.
🔹 -C 5 (Context): Показать 5 строк вокруг.

Команда:


# Найти "Error" и показать 5 строк ДО и ПОСЛЕ
grep -C 5 "Error" /var/log/syslog

Результат:
Вы сразу видите историю:
"User logged in"
➡️"Executed command"
➡️ 🔥 ERROR.
Причина становится ясна мгновенно.

#linux #grep #logs #troubleshooting #cli #bash #tips
🧟‍♂️ PowerShell: Охота на упавшие сервисы

Перед уходом на каникулы критически важно проверить: всё ли, что должно работать — работает? Частая ситуация: Агент мониторинга или Бэкап-сервис стоит в автозапуске ( Automatic ), но упал неделю назад ( Stopped ). Вы об этом даже не знаете.

Скрипт-минутка для поиска "мертвецов":


Get-Service |
Where-Object { $_.StartType -eq 'Automatic' -and $_.Status -eq 'Stopped' } |
Select-Object Name, DisplayName |
Format-Table -AutoSize

Что делать: Если список пуст — вы красавчик. Если что-то нашлось — пробуем Start-Service . Если падает снова — у вас есть задача на сегодня, пока все не ушли домой.

#windows #powershell #services #audit #maintenance #healthcheck
🧠 Network: Тест сайта без правки hosts (curl --resolve)

Ситуация: Вы переносите корпоративный портал на новый сервер (IP 10.0.0.5 ). Вам нужно проверить, как он отвечает, до того, как вы переключите DNS для всех пользователей.

Боль: Править файл hosts , сбрасывать кэш браузера, потом не забыть удалить запись... Долго и грязно. 😖

Решение Архитектора: Используйте curl с подменой IP на лету.

Команда:


# Запросить domain.com, но стучаться принудительно на 10.0.0.5
curl -v --resolve domain.com:443:10.0.0.5 https://domain.com

В чем магия: Вы увидите, валиден ли SSL-сертификат именно на новом сервере и какие заголовки он отдает. Файл hosts трогать не нужно! Чисто, быстро, профессионально.

#network #curl #dns #migration #testing #web #hacks
🔥2👍1
🗺️ Карта сокровищ: Почему схема важнее твоей памяти

Представь: 3 января. Ты на даче, без связи. Падает критический сервис. Дежурный админ открывает консоль и видит мешанину из IP-адресов, контейнеров и балансировщиков. Он звонит тебе, но ты недоступен.

Ошибка Джуна: Держать архитектуру в голове. "Я же всё помню".
Правило Сеньора: То, что не задокументировано — не существует.

Перед праздниками сделай команде подарок — актуальную схему.

Почему это важно:

1. Bus Factor: Если завтра тебя переманят в Google, проект не должен встать.

2. Скорость траблшутинга: По схеме проблема локализуется за 5 минут ("Ага, это отвалился Redis-кэш"), в консоли — за час.

3. Онбординг: Новички скажут тебе спасибо.

Не обязательно рисовать в Visio. Используй draw.io или Mermaid (схемы как код). Главное — чтобы это было.

#skills #architecture #documentation #devops #mindset #busfactor
🧊 Айсберг Админа: Что скрыто под водой

Пользователи и менеджеры видят только верхушку нашего айсберга: "Сервер работает". Им кажется, что наша работа — это пить кофе и иногда нажимать кнопки.

Когда всё хорошо — нас не замечают. Когда всё плохо — нас винят. Это специфика профессии.

Невидимая часть работы Сеньора:

🛠️ Превентивные меры: Патчинг, который предотвратил взлом, о котором никто не узнал.

💾 Тесты бэкапов: Восстановление в песочнице, чтобы быть уверенным в "час Ч".

🧠 Обучение: Часы чтения документации и тестов в HomeLab, чтобы внедрить новую технологию за день.

🛡️ Безопасность: Настройка политик, которые невидимо отбивают тысячи атак в день.

Скилл: Научитесь ценить эту невидимую работу сами и продавать её бизнесу. Не "мы починили", а "мы предотвратили простой на $10k".

#career #softskills #mindset #adminlife #motivation #psychology
2👏1
Коллеги, вот мы и здесь.

Финальный рубеж. 🎄

Через несколько часов сработает самый главный cron-job года — смена даты на 2026.

2025-й был разным.
Мы патчили критические уязвимости, тушили пожары в продакшене, учили новые стеки и иногда сомневались в себе.

Но посмотрите назад: инфраструктура стоит, сервисы работают, а вы стали опытнее на целый год.

Это и есть наша победа.

В Новом 2026 году я желаю вам:

Uptime 100%: Не только серверам, но и вашему здоровью и нервной системе.

Zero Packet Loss: В общении с близкими. Пусть связь будет стабильной, без лагов и недопониманий.

Verified Backups: Пусть у вас всегда будет план "Б", финансовая подушка и надежные друзья, которые подстрахуют.

Clean Logs: Чтобы в жизни было меньше ошибок, варнингов и лишнего шума.

High Performance: Энергии на новые проекты, пет-проджекты и спортзал.

И главное:
Помните, что работа — это всего лишь процесс с PID > 1. А PID 1 — это вы сами и ваша семья.

Сегодня вечером закройте ноутбук, заглушите уведомления Zabbix (дежурному — сил!) и просто будьте оффлайн.

Спасибо, что читаете и развиваетесь вместе с каналом.
Встретимся в версии 2.0.26.

sudo shutdown -r now 🥂

С Новым Годом!
Ваш Admin Future.
🎉5🎄311👍1🎅1
🐧 Linux: Что упало, пока мы отдыхали? (systemctl --failed)

Вы заходите на сервер.
Аптайм есть, SSH работает.
Все ок? Не факт.
Возможно, второстепенный сервис (бэкап-агент, ротация логов, обновление сертификатов) тихо умер 2 января.

Не ищите иголку в стоге сена. Спросите systemd прямо.

Команда:


systemctl --failed

Что она покажет: Только те сервисы, которые находятся в статусе failed.

Как починить:

* Смотрим логи упавшего: journalctl -u service_name -n 50

* Перезапускаем: systemctl restart service_name

Важно: Если ошибка разовая и вы её исправили, сбросьте счетчик ошибок, чтобы список стал чистым:


systemctl reset-failed

Начинайте год с чистого листа (и чистого вывода systemd).

#linux #systemd #maintenance #troubleshooting #healthcheck
🪟 PowerShell: Краткая сводка происшествий за праздники

Листать Event Viewer за 10 дней выходных — это боль. Вам нужно знать только одно: были ли критические ошибки?

Скрипт, который покажет только "Красные" события (Errors & Critical) за время праздников, сгруппированные по источникам.

Команда:


# Проверяем последние 7 дней
$Date = (Get-Date).AddDays(-7)

Get-WinEvent -FilterHashtable @{LogName='System'; Level=1,2; StartTime=$Date} -ErrorAction SilentlyContinue |
Group-Object ProviderName |
Select-Object Count, Name |
Sort-Object Count -Descending |
Format-Table -AutoSize

Результат: Вы увидите таблицу вроде:

* Disk — 5 ошибок (Стоит проверить RAID!)

* TermService — 1 ошибка (Ерунда)

Экономит часы кликанья мышкой.

#windows #powershell #eventlog #audit #monitoring #scripting
🧠 Terminal: Вспоминаем, что делали в прошлом году (Ctrl+R + fzf)

После отпуска сложно вспомнить: "Какой там был длинный ключ у той команды для Docker?".
Обычный поиск в истории (Ctrl+R) неудобен — он показывает только одно совпадение.

Сделайте себе подарок на 2026 год — поставьте fzf (Fuzzy Finder).

Зачем: Он превращает поиск по истории (Ctrl+R) в интерактивный список.
Вы пишете "dock", и видите все команды с этим словом, можете выбрать стрелочками и запустить.

Установка (Linux/macOS):


git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
~/.fzf/install

Использование: Просто нажмите Ctrl+R в терминале.
Ваша продуктивность вырастет в разы.
Вы перестанете набирать одни и те же команды вручную.

#tools #fzf #productivity #terminal #cli #bash #zsh
🕵️‍♂️ Linux: Кто ломился в дверь, пока мы спали?

Пока вы доедали оливье, боты продолжали брутфорсить ваши SSH-порты.
Работа у них такая.
Полезно узнать, с каких IP идет основная атака, чтобы забанить подсети целиком, а не по одному.

Обычный lastb показывает слишком много мусора. Вытащим только "Топ-10" негодяев одной строкой.

Команда (Магия AWK):


# Для Debian/Ubuntu
grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -10

(Для CentOS/RHEL замените файл на /var/log/secure и поле $(NF-3) на $11, так как формат лога чуть другой).

Результат: Вы увидите четкий список: 5421 192.168.x.x 1200 10.0.x.x

Если видите тысячи попыток с одного IP — это не забывчивый коллега. Это ботнет. В бан его! 🚫

#linux #security #logs #awk #bash #hardening #defense
👮‍♂️ PowerShell: Ревизия локальных админов

За время праздников (или в суете перед ними) кто-то мог выдать временные права "Локального админа" пользователю, чтобы поставить софт, и... благополучно забыть забрать. Это классическая дыра в безопасности.

Проверяем состав элитного клуба на сервере одной командой.

Скрипт:


Get-LocalGroupMember -Group "Administrators" | Select-Object Name, PrincipalSource, ObjectClass

На что смотреть: В списке должны быть только:

👑 Administrator (Встроенный)

🏢 Domain Admins (Группа домена)

🤖 Легитимные сервисные учетки.

Если видите DESKTOP\Ivan (обычный юзер) — удаляйте немедленно:

Remove-LocalGroupMember -Group "Administrators" -Member "Ivan"

#windows #powershell #security #audit #localadmin #cleanup
🏎️ Curl: Почему сайт тормозит? (Разбор на атомы)

Пользователь жалуется: "Сайт открывается полчаса".
Вы пингуете — пинг ок. Где затык? DNS тупит? Канал забит? Или Бэкенд (PHP/Python) долго думает?

Чтобы не гадать, используйте curl с форматированием. Он покажет тайминги каждого этапа.

Команда (сохрани в алиасы!):


curl -w "\nDNS: %{time_namelookup}s\nTCP: %{time_connect}s\nSSL: %{time_appconnect}s\nTTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" -o /dev/null -s https://google.com

Как читать диагностику:

* DNS: Высокое? 👉 Виноват провайдер или ваш DNS-сервер.

* TCP: Высокое? 👉 Проблемы с маршрутизацией или каналом.

* TTFB (Time To First Byte): Высокое? 👉 Сервер получил запрос, но долго генерировал ответ (БД, код). Сеть не виновата!

Total: Общее время.

Это лучший способ доказать разработчикам, что проблема на их стороне (или убедиться, что на вашей).

#network #curl #troubleshooting #performance #web #latency #tips
🕵️‍♂️ Linux: Кто занял порт? Кто держит файл? (lsof)

Классика: вы пытаетесь перезапустить Nginx, а он кричит: "Address already in use". Или пытаетесь размонтировать флешку, а Linux говорит: "Device is busy". Не гадайте. Вызывайте детектива — lsof (List Open Files).

1. Кто слушает порт 80?
lsof -i :80

Вывод покажет PID процесса. Можно сразу его убить.

2. Кто держит файл или папку? Если не дает удалить папку /var/www, узнайте, кто в ней сидит:
lsof +D /var/www

3. Что делает конкретный юзер?
lsof -u username

В Linux "всё есть файл" (и сокеты, и библиотеки). Поэтому lsof видит вообще всё.

#linux #cli #lsof #troubleshooting #sysadmin #tips
🛡 PowerShell: Доверяй, но проверяй хеши (Get-FileHash)

Вы скачали ISO-образ Windows, драйвер для RAID-контроллера или инсталлятор. Как убедиться, что файл не побился при скачивании? И, что важнее, что хакеры не подменили его на сервере (Supply Chain Attack)?

Всегда сверяйте Hash Sum. В PowerShell это делается нативно.

Команда:
Get-FileHash -Path .\Server_Image.iso -Algorithm SHA256

Как сверить автоматически (Лайфхак): Если у вас есть эталонный хеш с сайта разработчика, не сравнивайте глазами! Пусть компьютер работает:
$TrueHash = "A1B2C3... (копипаст с сайта)"
$FileHash = (Get-FileHash .\setup.exe).Hash

if ($FileHash -eq $TrueHash) { " OK" } else { " DANGER! Файл изменен!" }

Возьмите за правило: скачал критический софт — проверил хеш.

#windows #powershell #security #hashing #sha256 #audit