33 lines
1.2 KiB
Makefile
33 lines
1.2 KiB
Makefile
SHELL := /bin/sh
|
|
|
|
ENV_FILE ?= .env
|
|
BACKUP_ROOT ?= backups
|
|
RETENTION_DAYS ?= 14
|
|
BACKUP_SCRIPT := scripts/backup.sh
|
|
|
|
.PHONY: help db-dump files-backup full-backup predeploy-backup cleanup-backups
|
|
|
|
help:
|
|
@echo "Usage: make <target> [ENV_FILE=.env BACKUP_ROOT=backups RETENTION_DAYS=14]"
|
|
@echo ""
|
|
@echo "Targets:"
|
|
@echo " db-dump Create a gzip-compressed MySQL dump from .env settings"
|
|
@echo " files-backup Archive runtime files such as uploads/, map_config.json, and .env"
|
|
@echo " full-backup Run both db-dump and files-backup"
|
|
@echo " predeploy-backup Alias for the backup step executed before production deploy"
|
|
@echo " cleanup-backups Delete backup files older than RETENTION_DAYS"
|
|
|
|
db-dump:
|
|
@ENV_FILE="$(ENV_FILE)" BACKUP_ROOT="$(BACKUP_ROOT)" sh "$(BACKUP_SCRIPT)" db
|
|
|
|
files-backup:
|
|
@ENV_FILE="$(ENV_FILE)" BACKUP_ROOT="$(BACKUP_ROOT)" sh "$(BACKUP_SCRIPT)" files
|
|
|
|
full-backup:
|
|
@ENV_FILE="$(ENV_FILE)" BACKUP_ROOT="$(BACKUP_ROOT)" sh "$(BACKUP_SCRIPT)" full
|
|
|
|
predeploy-backup:
|
|
@ENV_FILE="$(ENV_FILE)" BACKUP_ROOT="$(BACKUP_ROOT)" sh "$(BACKUP_SCRIPT)" full
|
|
|
|
cleanup-backups:
|
|
@BACKUP_ROOT="$(BACKUP_ROOT)" RETENTION_DAYS="$(RETENTION_DAYS)" sh "$(BACKUP_SCRIPT)" cleanup
|