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
🚀 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
📡 Network: mtr — Пинг и Трассировка в одном флаконе

ping показывает только доступность конечной точки. traceroute показывает маршрут, но только один раз. Админу нужно видеть динамику: на каком именно узле провайдера теряются пакеты прямо сейчас?

Используйте mtr (My Traceroute).

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

Установка и запуск:
# Linux
sudo apt install mtr
mtr google.com

# Windows (Есть аналог WinMTR, но лучше через WSL)
sudo mtr 8.8.8.8

Что искать: Смотрите на колонку Loss%.

* Если потери начинаются на 3-м узле и идут до конца — виноват этот узел.

* Если потери только на одном узле, а дальше всё чисто — это просто защита от DDOS на роутере, можно игнорировать.

#network #tools #mtr #troubleshooting #latency #packetloss
⌨️ Bash: Магия восклицательного знака (!)

Вы только что набрали длинную команду, но забыли sudo. Или создали папку и хотите сразу в неё зайти. Не нажимайте "Вверх" и не правьте курсором. Используйте History Expansion.

Это экономит тысячи нажатий клавиш в год.

🔹 Забыл sudo?
apt update
# Error: Permission denied
sudo !!
# Bash сам подставит последнюю команду: sudo apt update

🔹 Использовать аргумент из прошлой команды?
mkdir /var/www/html/project_x
cd !$
# Bash подставит последний аргумент: cd /var/www/html/project_x

🔹 Найти последнюю команду, начинающуюся на...
!vim
# Запустит последнюю команду, которая начиналась с "vim"

Маленькие трюки для большой скорости. 🏎

#linux #bash #cli #productivity #tips #shortcuts
📦 Winget: Обнови весь софт одной командой

В 2026 году качать .exe установщики с сайтов и кликать "Далее-Далее" — это моветон. В Windows уже давно встроен крутой пакетный менеджер Winget (как apt или brew).

Пятница — идеальное время, чтобы обновить весь свой софт (Браузеры, Notepad++, 7Zip, VS Code) пока пьешь кофе.

Команда:
winget upgrade --all

Что произойдет: Windows сама проверит версии всех установленных программ, скачает новые и тихо установит их. Если хотите видеть красивый прогресс-бар в стиле ретро: winget upgrade --all --rainbow 🌈

#windows #winget #updates #automation #powershell #tools
🛑 Alias: Ремень безопасности для админа (rm -i)

В пятницу вечером концентрация падает. Одно неловкое движение, и rm -rf * удаляет не временную папку, а продакшен. Сделайте так, чтобы Linux всегда спрашивал подтверждение перед удалением или перезаписью файлов.

Добавьте эти строки в свой ~/.bashrc (или .zshrc):
# Интерактивный режим (спрашивать "Вы уверены?")
alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'

Как это спасет: Теперь, когда вы напишете rm important_file , система спросит: remove regular file 'important_file' ? У вас будет секунда, чтобы подумать: "Ой, не тот сервер!".

#linux #safety #alias #bestpractice #readonlyfriday #config