Преміум: Практикум зі сценаріїв Bash
Поєднайте змінні, функції, цикли та умовні оператори, щоб вирішити реалістичний багатоетапний сценарій.
Почати інтерактивний урокТепер давайте об'єднаємо все: змінні, функції, цикли та умовні оператори, щоб створити реальний сценарій автоматизації.
Крок 1: Створення основи
Створіть кілька файлів журналів за допомогою циклу. Кожна ітерація створює новий файл.
Крок 2: Аналіз результатів
Використовуйте шаблони глобу, щоб обробити всі файли одночасно.
Крок 3: Вилучення та підрахунок
Поєднайте канали та команди, щоб отримати значущу статистику з ваших даних.
Реальний сценарій
Ви керуєте 10 мікросервісами. Кожен з них генерує журнал розгортання. Створіть сценарій, який:
- Створює каталог резервних копій із усіма поточними журналами.
- Фільтрує рядки з помилками.
- Підраховує загальну кількість помилок у всіх сервісах.
printf '%s\n' 'INFO deploy started' 'ERROR health check failed' > web.log
printf '%s\n' 'INFO deploy complete' > api.log
function check_deploys {
mkdir -p backup_deploys
for service in web api cache queue worker db; do
if [ -f "$service.log" ]; then
cp "$service.log" backup_deploys/
error_count=$(grep -c 'ERROR' "backup_deploys/$service.log")
echo "Service $service has $error_count errors"
fi
done
}
check_deploys
Список перевірок, який можна повторно використовувати
- Ітеруйте за допомогою
for var in list; do ...; done. - Перевіряйте умови за допомогою
if [ test ]; then ...; fi. - Захоплюйте вивід за допомогою
$(command). - Обробляйте файли за допомогою
cat *.ext | grep | wc -l. - Організовуйте за допомогою функцій, які об'єднують пов'язані завдання.
Перевірка знань
1 / 2Як запустити команду та зберегти її результат у змінній?
Посилання
Ці посилання на документацію надають авторитетну інформацію про команди, використані в цій статті.
Далі
Швидко виявляйте збої у розгортанні за допомогою конвеєрів grep, підрахунків та збереження нотаток про інциденти.