Занятие 24. Продолжение работы со скриптами
⚡ Кратко: суть занятия
4 практические задачи на продвинутую автоматизацию в Bash. Вводятся новые команды uptime и who.
- Задача 1 — Мониторинг диска:
df / | awk '{print $5}' | sed 's/%//'+ порог 70% +du -ah / | sort -rh | head -n 10. - Задача 2 — Системный отчёт: версия ОС (
cat /etc/os-release), время работы (uptime -p), нагрузка (uptime | awk), топ процессов (ps -eo), количество пользователей (who | wc -l). - Задача 3 — Cron-бекап:
0 2 * * 0→ tar-архив /opt и /home/ec2-user; удаление архивов старше 21 дня (find … -mtime +21 -delete). - Задача 4 — Мониторинг логов:
grep -E -r "(error|Error|ERROR|warning|Warning|WARNING)"в /var/log +uniq -c | sort -nr. - ДЗ: скрипт
sleeper.sh— 10 итераций с датой и количеством процессов.
📖 О чём это занятие
Практическая работа со скриптами — продолжение. Занятие построено на 4 прикладных задачах: мониторинг дискового пространства, системный отчёт, автоматическое резервное копирование через cron и мониторинг ошибок в логах.
Что изучаем
- Анализ дискового пространства:
df,awk,sed,du - Системная информация: новые команды
uptime -pиwho - Топ процессов:
ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%mem - Cron-расписание для еженедельного бекапа (воскресенье, 2:00)
- Ротация архивов:
find … -mtime +21 -delete - Анализ логов:
grep -E -r,uniq -c,sort -nr
📚 Что повторить перед изучением
- ← Занятие 18: Работа со скриптами — shebang, if/for/while, аргументы, $RANDOM
- ← Занятие 21: cron, crontab, tar — расписание cron, создание tar-архивов
🎯 Что изучать дальше
- → Занятие 25: PR в PyCharm — работа с Git через IDE: commit, push, Pull Request, обновление upstream