2025-09-26 10:46:34 +03:00
|
|
|
|
#!/bin/bash
|
|
|
|
|
|
|
|
|
|
|
|
# Простой ежедневный бэкап Git репозитория
|
|
|
|
|
|
# Добавить в crontab: 0 2 * * * /var/www/fastuser/data/www/crm.clientright.ru/daily_backup.sh
|
|
|
|
|
|
|
|
|
|
|
|
cd /var/www/fastuser/data/www/crm.clientright.ru
|
|
|
|
|
|
|
|
|
|
|
|
# Проверяем наличие изменений
|
|
|
|
|
|
if ! git diff --quiet || ! git diff --cached --quiet; then
|
|
|
|
|
|
echo "$(date): Найдены изменения, создаем бэкап"
|
|
|
|
|
|
|
|
|
|
|
|
# Добавляем все изменения
|
|
|
|
|
|
git add .
|
|
|
|
|
|
|
|
|
|
|
|
# Создаем коммит с временной меткой
|
|
|
|
|
|
git commit -m "Daily backup $(date '+%Y-%m-%d %H:%M:%S')"
|
|
|
|
|
|
|
|
|
|
|
|
# Создаем архив
|
|
|
|
|
|
TIMESTAMP=$(date +"%Y%m%d_%H%M%S")
|
|
|
|
|
|
ARCHIVE_NAME="crm_daily_${TIMESTAMP}.tar.gz"
|
|
|
|
|
|
|
|
|
|
|
|
tar --exclude='.git' --exclude='cache' --exclude='logs' --exclude='test' \
|
|
|
|
|
|
-czf "/tmp/$ARCHIVE_NAME" .
|
|
|
|
|
|
|
|
|
|
|
|
# Перемещаем архив в папку backups
|
|
|
|
|
|
mkdir -p backups
|
|
|
|
|
|
mv "/tmp/$ARCHIVE_NAME" "backups/"
|
|
|
|
|
|
|
|
|
|
|
|
echo "$(date): Бэкап создан: backups/$ARCHIVE_NAME"
|
|
|
|
|
|
else
|
|
|
|
|
|
echo "$(date): Нет изменений для бэкапа"
|
|
|
|
|
|
fi
|
2025-10-16 11:17:21 +03:00
|
|
|
|
|