engram 备份

This commit is contained in:
Sense T
2026-06-02 14:25:57 +00:00
parent b5d5842234
commit 71de2d574c
3 changed files with 92 additions and 0 deletions
+68
View File
@@ -0,0 +1,68 @@
apiVersion: batch/v1
kind: CronJob
metadata:
name: engram-backup
labels:
app: engram-backup
spec:
schedule: "0 0 * * *"
timeZone: "Asia/Shanghai"
concurrencyPolicy: Forbid
startingDeadlineSeconds: 300
successfulJobsHistoryLimit: 1
failedJobsHistoryLimit: 3
suspend: false
jobTemplate:
spec:
backoffLimit: 2
activeDeadlineSeconds: 1800
ttlSecondsAfterFinished: 86400
template:
metadata:
labels:
app: engram-backup
spec:
restartPolicy: OnFailure
initContainers:
- name: backup
image: engram
env:
- name: ENGRAM_DATA_DIR
value: /engram-data
volumeMounts:
- name: tmp
mountPath: /tmp
- name: engram-data
mountPath: /engram-data
command:
- /bin/sh
args:
- -c
- 'export DATE=$(date +%Y/%m/%d) && mkdir -p /tmp/engram/$DATE && engram export "/tmp/engram/$DATE/engram-data.json" && gzip /tmp/engram/$DATE/engram-data.json'
securityContext:
runAsUser: 0
containers:
- name: upload
image: aws
imagePullPolicy: IfNotPresent
envFrom:
- secretRef:
name: backup-env
- configMapRef:
name: backup-env
args:
- s3
- sync
- "./engram"
- "s3://senset-backups/engram-backup"
volumeMounts:
- name: tmp
mountPath: /aws
readOnly: true
volumes:
- name: tmp
emptyDir: {}
- name: engram-data
hostPath:
path: /data/engram
type: Directory