Оптимизация поиска в логах: grep, awk, или что-то третье?
Бенчмарк (лог 10 ГБ):
Советы:
- Если нужно только последние ошибки:
- Для сложных фильтров —
Какие инструменты вы используете для анализа логов?
🌐 @automate_today | #bash
Бенчмарк (лог 10 ГБ):
| Метод | Время | Память |
|-----------------------------|-----------|------------|
| grep "ERROR" | 12 сек | 1.2 ГБ |
| awk '/ERROR/' | 8 сек | 0.8 ГБ |
| rg "ERROR" (ripgrep) | 3 сек | 0.3 ГБ |
Советы:
- Если нужно только последние ошибки:
tail -n 10000 huge.log | grep -C 5 "ERROR" # Контекст 5 строк
- Для сложных фильтров —
jq для JSON-логов: cat app.log | jq 'select(.level == "ERROR")'
Какие инструменты вы используете для анализа логов?
🌐 @automate_today | #bash
👍3
Виртуальные окружения Python: как не сломать систему
Типичные ошибки:
-
- Отсутствие
Правильный workflow:
1. Создать окружение:
2. Фиксировать зависимости:
3. Восстанавливать:
Как вы управляете зависимостями в Python?
🌐 @automate_today | #bash
Типичные ошибки:
-
sudo pip install — ломает системные пакеты (например, apt перестаёт работать). - Отсутствие
requirements.txt — "а вот у меня работает!". Правильный workflow:
1. Создать окружение:
python -m venv .venv
source .venv/bin/activate
2. Фиксировать зависимости:
pip freeze > requirements.txt
3. Восстанавливать:
pip install -r requirements.txt
Как вы управляете зависимостями в Python?
🌐 @automate_today | #bash
👍1
Битва архивов: tar.gz vs zip под микроскопом
Кейсы:
- Для Linux:
- Для Windows:
Скорость (тест 10 ГБ файлов):
-
-
Какой формат архива вы предпочитаете и почему?
🌐 @automate_today | #bash
Кейсы:
- Для Linux:
tar czvf backup.tar.gz --exclude="*.tmp" /data # Сжимает + сохраняет права
- Для Windows:
zip -r backup.zip /data -x "*.tmp" # Читается в Проводнике
Скорость (тест 10 ГБ файлов):
-
tar + gzip — 2 мин, коэффициент сжатия ~70%. -
zip — 3 мин, коэффициент ~65%. Какой формат архива вы предпочитаете и почему?
🌐 @automate_today | #bash
👍3🤔2
Парсинг JSON в bash: когда jq — это overkill
Альтернативы:
1. Python (есть везде):
2. Awk (для простых случаев):
Когда точно нужен
- Глубокий поиск:
- Форматирование:
Какие хаки для работы с JSON в CLI вы знаете?
🌐 @automate_today | #bash
Альтернативы:
1. Python (есть везде):
echo '{"user": "admin"}' | python3 -c "import json, sys; print(json.load(sys.stdin)['user'])"
2. Awk (для простых случаев):
echo '{"error": "404"}' | awk -F'"' '{print $4}' # → 404
Когда точно нужен
jq: - Глубокий поиск:
.data.items[] | select(.id == 42) - Форматирование:
jq '.' unformatted.json Какие хаки для работы с JSON в CLI вы знаете?
🌐 @automate_today | #bash
👍3❤1
Почему автоматизация — это новая грамотность в IT?
Скрипты — как умение читать и писать для IT-специалиста.
Философия "ленивого админа":
"Лучше потратить 3 часа на скрипт, чем 30 минут каждый день на рутину."
➖ Bash-пример для очистки логов:
Что теряет тот, кто не автоматизирует:
- Время (часы ручной работы)
- Надёжность (человеческие ошибки)
- Карьерные возможности (автоматизация = конкурентное преимущество)
Вы уже автоматизировали свою рутину? Делитесь в комментариях!
🌐 @automate_today | #bash
Скрипты — как умение читать и писать для IT-специалиста.
Философия "ленивого админа":
"Лучше потратить 3 часа на скрипт, чем 30 минут каждый день на рутину."
➖ Bash-пример для очистки логов:
find /var/log -type f -mtime +7 -delete
Что теряет тот, кто не автоматизирует:
- Время (часы ручной работы)
- Надёжность (человеческие ошибки)
- Карьерные возможности (автоматизация = конкурентное преимущество)
Вы уже автоматизировали свою рутину? Делитесь в комментариях!
🌐 @automate_today | #bash
💯6
ТОП-3 языка для автоматизации в 2025
1. Bash — "швейцарский нож" админа
Для: серверных задач, CI/CD
Не для: сложной логики
2. Python — универсальный автомат
Для: анализа данных, API, кросс-платформенных решений
3. PowerShell — король Windows
Для: Active Directory, облачных сервисов
Какой язык используете чаще?
🌐 @automate_today | #python #powershell #bash
1. Bash — "швейцарский нож" админа
Для: серверных задач, CI/CD
Не для: сложной логики
# Мониторинг места на диске
df -h | awk '$5 > 80 {print "ALERT: " $6 " is " $5}'
2. Python — универсальный автомат
Для: анализа данных, API, кросс-платформенных решений
# Автопроверка сайта
import requests
if requests.get("https://example.com").status_code != 200:
print("Сайт лежит!")
3. PowerShell — король Windows
Для: Active Directory, облачных сервисов
# Поиск неактивных пользователей
Get-ADUser -Filter {LastLogonDate -lt (Get-Date).AddDays(-90)}
Какой язык используете чаще?
🌐 @automate_today | #python #powershell #bash
❤2🤔1🦄1
5 скриптов, которые сэкономят вам 100+ часов
Какой скрипт вам нужен прямо сейчас? Напишите — поможем с кодом!
🌐 @automate_today | #python #powershell #bash
1. Автодеплой (Bash): ssh user@server "cd /app && git pull && docker-compose up -d"
2. Проверка бэкапов (Python): import os
if not os.path.exists("/backups/today.zip"):
send_alert("Backup failed!")
3. Уборка временных файлов (PowerShell): Remove-Item -Path "C:\Temp\*" -Recurse -Force -ErrorAction SilentlyContinue
4. Мониторинг процессов (Bash): if ! pgrep -x "nginx" > /dev/null; then systemctl restart nginx; fi
5. Массовое переименование (Python): import os
[os.rename(f, f.replace(" ", "_")) for f in os.listdir()]
Какой скрипт вам нужен прямо сейчас? Напишите — поможем с кодом!
🌐 @automate_today | #python #powershell #bash
👍5🔥2
Ошибки новичков в автоматизации
Плохие практики:
1. Хардкод паролей в скриптах → Используйте переменные окружения!
2. Нет обработки ошибок → Добавляйте
3. Молчаливые скрипты → Всегда добавляйте логи (`echo "Step 1: Done"`).
Какие ошибки совершали вы?
🌐 @automate_today | #bash
Плохие практики:
1. Хардкод паролей в скриптах → Используйте переменные окружения!
2. Нет обработки ошибок → Добавляйте
|| exit 1 в Bash,новичков в авв PowerShell. 3. Молчаливые скрипты → Всегда добавляйте логи (`echo "Step 1: Done"`).
🔧 Как исправить? # Плохо:
mysql -u root -p12345 < dump.sql
# Хорошо:
DB_PASS=$(vault get db_pass)
mysql -u root -p"$DB_PASS" < dump.sql || logger "DB import failed"
Какие ошибки совершали вы?
🌐 @automate_today | #bash
👍5
Будущее автоматизации: что ждёт в 2025?
Тренды:
1. AI-ассистенты для генерации скриптов (GitHub Copilot на стероидах).
2. Самовосстанавливающиеся системы → Скрипты + мониторинг + автофиксы.
3. Low-code для DevOps → Визуальные конструкторы сложных пайплайнов.
Пример AI-помощника (Python):
Какой тренд для вас самый важный?
🌐 @automate_today | #python
Тренды:
1. AI-ассистенты для генерации скриптов (GitHub Copilot на стероидах).
2. Самовосстанавливающиеся системы → Скрипты + мониторинг + автофиксы.
3. Low-code для DevOps → Визуальные конструкторы сложных пайплайнов.
Пример AI-помощника (Python):
# Запрос к ИИ: "Напиши скрипт для проверки SSL-сертификатов"
import ssl, socket
def check_ssl(domain):
ctx = ssl.create_default_context()
with ctx.wrap_socket(socket.socket(), server_hostname=domain) as s:
s.connect((domain, 443))
cert = s.getpeercert()
return cert['notAfter']
Какой тренд для вас самый важный?
🌐 @automate_today | #python
Трансформируем .bashrc из свалки в швейцарский нож
Многие администраторы игнорируют алиасы и не подозревают, как можно упростить взаимодействие с Linux
ТОП-3 для старта:
Cовет:
Добавьте это в ваш
Делитесь своими алиасами-спасателями!
🌐 @automate_today | #bash
Многие администраторы игнорируют алиасы и не подозревают, как можно упростить взаимодействие с Linux
ТОП-3 для старта:
# 1. "Ой, забыл sudo":
alias fucking='sudo $(history -p !!)'
# 2. Навигация по папкам с fzf (должен быть установлен):
alias cdd='cd $(find . -type d | fzf)'
# 3. Убийца процессов с интерфейсом:
alias killem='ps aux | fzf | awk "{print \$2}" | xargs kill -9'
Cовет:
Добавьте это в ваш
.bashrc и сделайте source ~/.bashrc.Делитесь своими алиасами-спасателями!
🌐 @automate_today | #bash
😁3
Как я "посещаю" митинги без меня
Скрипт для автоматического входа в Zoom/Teams, пока вы пьете кофе:
Лайфхак:
Добавьте
Какие нерабочие процессы вы автоматизировали?
🌐 @automate_today | #python
Скрипт для автоматического входа в Zoom/Teams, пока вы пьете кофе:
import pyautogui # pip install pyautogui
import time
def join_meeting(meeting_id):
pyautogui.hotkey('ctrl', 'alt', 'm') # Горячие клавиши Zoom
time.sleep(1) # Ждем открытия окна
pyautogui.write(meeting_id)
pyautogui.press('enter')
Лайфхак:
Добавьте
time.sleep(1800) и pyautogui.hotkey('alt', 'q') для авто-выхода через 30 мин.Какие нерабочие процессы вы автоматизировали?
🌐 @automate_today | #python
❤3
3 команды, которые значительно повысят вашу продуктивность в PowerShell
Для сисадминов и не только:
1. Экстренная остановка "зависших" процессов:
2. Поиск и удаление "гигабайтового мусора":
3. Парсинг сайта без браузера:
Какой ваш любимый one-liner?
🌐 @automate_today | #powershell
Для сисадминов и не только:
1. Экстренная остановка "зависших" процессов:
Get-Process | Where CPU -gt 90 | Stop-Process -Force
2. Поиск и удаление "гигабайтового мусора":
Get-ChildItem -Recurse | Where Length -gt 1GB | Remove-Item
3. Парсинг сайта без браузера:
(Invoke-WebRequest -Uri "https://example.com").Content
Какой ваш любимый one-liner?
🌐 @automate_today | #powershell
👍3
Как мой скрипт удалил продакшен
Анти-кейс:
Что пошло не так:
- Переменная
- Сервер упал через 2 секунды
Как починили:
1. Резервные копии (спасибо,
2. Добавили проверки:
Ваши самые эпичные фейлы?
🌐 @automate_today | #bash
Анти-кейс:
# Очистка логов (казалось бы...)
rm -rf $LOGS_DIR/*
Что пошло не так:
- Переменная
LOGS_DIR оказалась пустой → удалил / - Сервер упал через 2 секунды
Как починили:
1. Резервные копии (спасибо,
rsync!) 2. Добавили проверки:
[[ -z "$LOGS_DIR" ]] && { echo "Error: LOGS_DIR is empty!"; exit 1; }
Ваши самые эпичные фейлы?
🌐 @automate_today | #bash
👍3😁2
⚙️ Полезная фича VSCode
🛠️ Речь о: SSH + VSCode Remote для редактирования файлов на сервере прямо из IDE
❓Как настроить:
1. Установите расширение Remote - SSH
2. Добавьте сервер через
3. Редактируйте файлы как локальные
📌 Фишки:
- Автодополнение кода на удаленном сервере
- Запуск терминала прямо в VSCode
- Нет риска "а вдруг я изменю продакшен?" (подсветка окружения)
Какие инструменты вы открыли для себя слишком поздно?
🌐 @automate_today
🛠️ Речь о: SSH + VSCode Remote для редактирования файлов на сервере прямо из IDE
❓Как настроить:
1. Установите расширение Remote - SSH
2. Добавьте сервер через
F1 → Remote-SSH: Add New Host3. Редактируйте файлы как локальные
📌 Фишки:
- Автодополнение кода на удаленном сервере
- Запуск терминала прямо в VSCode
- Нет риска "а вдруг я изменю продакшен?" (подсветка окружения)
Какие инструменты вы открыли для себя слишком поздно?
🌐 @automate_today
👍5
Скрипт, который поможет избежать рутины
Автоматизация онбординга новых сотрудников:
1. Создает учетки в AD/GitLab
2. Генерирует пароли и сохраняет в 1Password
3. Отправляет приветственное письмо
Код (упрощенный):
Эффект:
- Время онбординга ↓ с 3 дней до 1 часа
- HR перестали беспокоить по каждой мелочи
Какие процессы в вашей компании кричат об автоматизации?
@automate_today | #python
Автоматизация онбординга новых сотрудников:
1. Создает учетки в AD/GitLab
2. Генерирует пароли и сохраняет в 1Password
3. Отправляет приветственное письмо
Код (упрощенный):
def onboard_employee(name, email):
create_ad_account(name)
setup_gitlab_access(email)
send_welcome_email(name, temp_password)
Эффект:
- Время онбординга ↓ с 3 дней до 1 часа
- HR перестали беспокоить по каждой мелочи
Какие процессы в вашей компании кричат об автоматизации?
@automate_today | #python
❤3👍1
Почему SSH в большинстве ситуаций — дырявое ведро
Типичные ошибки:
1. Парольная аутентификация вместо ключей
2. Порт 22 открыт для всех IP
3. Нет fail2ban
Как исправить:
Проверка:
Какие ещё уязвимости SSH Вы знаете?
🌐 @automate_today | #bash
Типичные ошибки:
1. Парольная аутентификация вместо ключей
2. Порт 22 открыт для всех IP
3. Нет fail2ban
Как исправить:
# /etc/ssh/sshd_config:
PasswordAuthentication no
AllowUsers yourname
Port 49281 # Свой порт вместо 22
Проверка:
ssh-audit your-server.com
Какие ещё уязвимости SSH Вы знаете?
🌐 @automate_today | #bash
💯3
3 скрипта для личной эффективности
1. Автодеплой резюме на GitHub Pages
2. Еженедельный бэкап Notion
3. Скрипт "Напомни мне потом" для Telegram
🌐 @automate_today | #bash #python
1. Автодеплой резюме на GitHub Pages
#!/bin/bash
cd ~/resume && git pull && mkdocs build && git push
2. Еженедельный бэкап Notion
import notion_client # API Notion
client = notion_client.Client(auth=os.environ["NOTION_TOKEN"])
page = client.get_page("your-page-id")
with open("backup.json", "w") as f:
f.write(json.dumps(page))
3. Скрипт "Напомни мне потом" для Telegram
import schedule, time
def send_reminder():
bot.send_message(chat_id, "Проверить задачу!")
while True:
schedule.run_pending()
time.sleep(60)
🌐 @automate_today | #bash #python
👍2
Лень — двигатель прогресса: почему ленивые админы эффективнее
Знакомо?
Тратите часы на рутинные задачи, которые можно выполнить за минуты.
Философия ленивого админа:
✔ Инвестируй 2 часа в скрипт → сэкономишь 100 часов в будущем.
✔ Стандартизация = меньше ошибок (скрипт не устанет и не опечатается).
✔ Повторное использование — один скрипт может работать годами.
Пример:
Вместо ручного деплоя (30 мин) — скрипт на 10 строк, который делает всё за 2 минуты.
Какие задачи вы автоматизировали и сколько времени сэкономили?
🌐 @automate_today | #bash
Знакомо?
Тратите часы на рутинные задачи, которые можно выполнить за минуты.
Философия ленивого админа:
✔ Инвестируй 2 часа в скрипт → сэкономишь 100 часов в будущем.
✔ Стандартизация = меньше ошибок (скрипт не устанет и не опечатается).
✔ Повторное использование — один скрипт может работать годами.
Пример:
Вместо ручного деплоя (30 мин) — скрипт на 10 строк, который делает всё за 2 минуты.
#!/bin/bash
APP_NAME=${1:-myapp}
logger -t deploy "Запуск деплоя $APP_NAME"
if ! deploy_tool --app "$APP_NAME"; then
echo "Ошибка! Читайте логи: /var/log/deploy.log"
exit 1
fi
Какие задачи вы автоматизировали и сколько времени сэкономили?
🌐 @automate_today | #bash
💯4❤1🆒1
Ручной мониторинг — это каменный век?
Ручная проверка серверов и логов — как разжигать костёр вместо микроволновки. Если вы до сих пор:
- Вручную проверяете логи
- Отслеживаете доступность сервисов
- Реагируете на алерты через почту
…пора переходить на автоматизацию!
Почему скрипты?
✔️ Гибкость — кастомизация под любые нужды
✔️ Простота — запустил в
✔️ Самовосстановление — скрипт не только находит проблему, но и может её исправить
🌐 @automate_today
Ручная проверка серверов и логов — как разжигать костёр вместо микроволновки. Если вы до сих пор:
- Вручную проверяете логи
- Отслеживаете доступность сервисов
- Реагируете на алерты через почту
…пора переходить на автоматизацию!
Почему скрипты?
✔️ Гибкость — кастомизация под любые нужды
✔️ Простота — запустил в
cron и забыл ✔️ Самовосстановление — скрипт не только находит проблему, но и может её исправить
🌐 @automate_today
👍3
Интеграция с Telegram — 3 способа отправки алертов
Хотите получать уведомления в Telegram? Вот как это сделать:
Через
Через Python (
Готовый бот (напр.,
Бонус: Можно добавить кнопки для быстрых действий!
👉 Если интересна тема ботов - пишите в комментарии, будем делиться информацией!
🌐 @automate_today | #bash #python
Хотите получать уведомления в Telegram? Вот как это сделать:
Через
curl (Bash): curl -s -X POST "https://api.telegram.org/botTOKEN/sendMessage" \
-d "chat_id=ID&text=Сервер перегружен!"
Через Python (
requests):requests.post(f"https://api.telegram.org/botTOKEN/sendMessage",
json={"chat_id": "ID", "text": "Внимание: диск почти заполнен!"})
Готовый бот (напр.,
python-telegram-bot): from telegram import Bot
bot = Bot(token="TOKEN")
bot.send_message(chat_id="ID", text="Служба перезапущена!")
Бонус: Можно добавить кнопки для быстрых действий!
👉 Если интересна тема ботов - пишите в комментарии, будем делиться информацией!
🌐 @automate_today | #bash #python
👍2
Введение в auditd — ваш надёжный страж в Linux
Зачем нужен аудит в Linux?
Без мониторинга активности сервер — как дом с открытыми дверями.
- Кто использовал
- Какие команды выполнялись (
- Кто менял критичные файлы?
Пример угроз:
- Несанкционированный доступ к
- Подозрительные команды от рута.
- "Темная" активность перед падением сервера.
Решение:
Установка:
🌐 @automate_today | #bash
Зачем нужен аудит в Linux?
Без мониторинга активности сервер — как дом с открытыми дверями.
Auditd записывает каждое действие: - Кто использовал
sudo? - Какие команды выполнялись (
rm -rf, доступ к /etc/shadow)? - Кто менял критичные файлы?
Пример угроз:
- Несанкционированный доступ к
/etc/passwd. - Подозрительные команды от рута.
- "Темная" активность перед падением сервера.
Решение:
auditd + Python-скрипт для алертовУстановка:
sudo apt install auditd -y # Debian/Ubuntu
sudo systemctl enable --now auditd
🌐 @automate_today | #bash
👍2