feat: ship blog platform admin and deploy stack
This commit is contained in:
20
deploy/scripts/backup/backup-markdown.sh
Normal file
20
deploy/scripts/backup/backup-markdown.sh
Normal file
@@ -0,0 +1,20 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
SOURCE_DIR="${MARKDOWN_SOURCE_DIR:-./backend/content/posts}"
|
||||
BACKUP_DIR="${BACKUP_DIR:-./backups/markdown}"
|
||||
RETENTION_DAYS="${RETENTION_DAYS:-30}"
|
||||
TIMESTAMP="$(date -u +%Y%m%dT%H%M%SZ)"
|
||||
FILE_PATH="${BACKUP_DIR}/markdown-${TIMESTAMP}.tar.gz"
|
||||
|
||||
if [[ ! -d "${SOURCE_DIR}" ]]; then
|
||||
echo "Markdown source directory not found: ${SOURCE_DIR}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "${BACKUP_DIR}"
|
||||
tar -czf "${FILE_PATH}" -C "${SOURCE_DIR}" .
|
||||
ln -sfn "$(basename "${FILE_PATH}")" "${BACKUP_DIR}/latest.tar.gz"
|
||||
find "${BACKUP_DIR}" -type f -name 'markdown-*.tar.gz' -mtime +"${RETENTION_DAYS}" -delete
|
||||
|
||||
echo "Markdown backup written to ${FILE_PATH}"
|
||||
Reference in New Issue
Block a user