Ответ
Да, постоянно пишу и поддерживаю Bash-скрипты для автоматизации инфраструктурных задач. Например, для автоматического развертывания конфигураций, очистки логов, мониторинга состояния сервисов и управления резервными копиями.
Вот пример скрипта для инкрементного бэкапа с проверкой и логированием:
#!/bin/bash
set -euo pipefail
BACKUP_SRC="/opt/app/data"
BACKUP_DST="/mnt/backup"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
LOG_FILE="/var/log/backup_${TIMESTAMP}.log"
{
echo "Starting backup at $(date)"
if [[ ! -d "$BACKUP_SRC" ]]; then
echo "ERROR: Source directory $BACKUP_SRC does not exist" >&2
exit 1
fi
rsync -avz --delete "$BACKUP_SRC/" "$BACKUP_DST/latest/"
cp -al "$BACKUP_DST/latest" "$BACKUP_DST/$TIMESTAMP"
# Удаляем бэкапы старше 30 дней
find "$BACKUP_DST" -maxdepth 1 -type d -name '2*' -mtime +30 -exec rm -rf {} +
echo "Backup completed successfully at $(date)"
} 2>&1 | tee "$LOG_FILE"
Для сложной логики или кроссплатформенных задач предпочитаю Python, но Bash остается незаменимым для быстрого прототипирования, системных скриптов и CI/CD пайплайнов.