Ответ
В работе с Linux-серверами и логами я регулярно использую следующие команды:
Для работы с логами и файлами:
# Поиск ошибок в логах приложения
tail -f /var/log/myapp/app.log | grep -i "error|exception"
# Просмотр и фильтрация логов за определенное время
cat app.log | grep "2024-05-15" | head -50
# Поиск файлов (например, конфигов или отчетов)
find /home/tester/reports -name "*.xml" -mtime -1
# Проверка размера лог-файлов, чтобы они не переполнили диск
du -sh /var/log/* | sort -hr
Для мониторинга процессов и системы:
# Поиск процесса Java-приложения для мониторинга или завершения
ps aux | grep java
# Проверка потребления памяти и CPU
top -u appuser
# Проверка, слушает ли порт наше тестируемое приложение
netstat -tulnp | grep :8080
Для сетевой диагностики:
# Проверка доступности тестового стенда
curl -I http://test-env:8080/health
# Проверка задержки или потери пакетов до сервера
ping api.staging.example.com
# Скачивание артефакта для тестирования (например, билда)
wget http://jenkins/job/build/latest/app.tar.gz
Для базовых операций:
# Архивирование отчетов о тестировании перед отправкой
tar -czf test_report_$(date +%Y%m%d).tar.gz ./results/
# Копирование логов с удаленного сервера для анализа
scp user@server:/var/log/app.log ./local_analysis/
# Просмотр и редактирование конфигурационных файлов
nano /etc/myapp/config.yaml
Эти команды помогают быстро диагностировать проблемы на стенде, анализировать логи и готовить окружение для тестов.