fix .gitignore dir negation so config/ and scripts/ are tracked

This commit is contained in:
infra-bot
2026-08-27 16:14:23 +03:00
parent e14bfc676f
commit 34ff3a2693
19 changed files with 460 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
#!/usr/bin/env bash
# Nightly backup: mysqldump (gz) + code tarball (upload excluded).
# Retention: KEEP_DAYS. Restore notes in README.
set -euo pipefail
KEEP_DAYS=14
DB_NAME="${DB_NAME:-sitemanager}"
BACKUP_DIR="${BACKUP_DIR:-/var/backups/bitrix}"
SITE_DIR="${SITE_DIR:-/home/bitrix/www}"
TS="$(date +%F_%H%M)"
mkdir -p "$BACKUP_DIR/db" "$BACKUP_DIR/code"
echo "[$(date -Is)] dumping database $DB_NAME"
mysqldump --single-transaction --quick --routines --triggers --events \
--databases "$DB_NAME" \
| gzip -6 > "$BACKUP_DIR/db/${TS}_${DB_NAME}.sql.gz"
echo "[$(date -Is)] archiving code tree (without upload/caches)"
tar czf "$BACKUP_DIR/code/${TS}_site.tar.gz" \
-C "$(dirname "$SITE_DIR")" \
--exclude='www/upload' \
--exclude='www/bitrix/cache' \
--exclude='www/bitrix/managed_cache' \
--exclude='www/bitrix/stack_cache' \
--exclude='www/bitrix/tmp' \
--exclude='www/local/php_interface/include/.backup*' \
"$(basename "$SITE_DIR")"
echo "[$(date -Is)] pruning older than $KEEP_DAYS days"
find "$BACKUP_DIR/db" -name '*.sql.gz' -mtime +"$KEEP_DAYS" -delete
find "$BACKUP_DIR/code" -name '*.tar.gz' -mtime +$((KEEP_DAYS * 3)) -delete
echo "[$(date -Is)] done: $(du -sh "$BACKUP_DIR" | cut -f1) total"