Skip to content
Snippets Groups Projects
Commit 61ebfbb1 authored by Rémi PAILHAREY's avatar Rémi PAILHAREY :fork_knife_plate:
Browse files

docs: mysql dump cronjob documentation

parent 2c5c9051
Branches
No related tags found
3 merge requests!73Deploy Openshift v2,!65MEP: removed Meilisearch,!56Resolve "Documentation des backup MySQL Openshift"
...@@ -18,5 +18,12 @@ ...@@ -18,5 +18,12 @@
"titleBar.inactiveBackground": "#32f0ff99", "titleBar.inactiveBackground": "#32f0ff99",
"titleBar.inactiveForeground": "#15202b99" "titleBar.inactiveForeground": "#15202b99"
}, },
"peacock.color": "#32f0ff" "peacock.color": "#32f0ff",
"cSpell.words": [
"backoffice",
"ecolyo",
"mysqldump",
"selfdata",
"uroot"
]
} }
\ No newline at end of file
...@@ -61,11 +61,12 @@ Configuration: ...@@ -61,11 +61,12 @@ Configuration:
- Demander la création des Persistent Volumes (PV) de façon à obtenir la configuration suivante (contacter un administrateur du cluster) : - Demander la création des Persistent Volumes (PV) de façon à obtenir la configuration suivante (contacter un administrateur du cluster) :
| Name | Capacity | | Nom | Capacité | Utilisé pour |
| ------------------------------- | -------- | | ------------------------------- | -------- | ----------- |
| pvc-1-ns-selfdata-d01-syn-claim | 1 GiB | | pvc-1-ns-selfdata-d01-syn-claim | 1 GiB | Meilisearch |
| pvc-2-ns-selfdata-d01-syn-claim | 500 MiB | | pvc-2-ns-selfdata-d01-syn-claim | 500 MiB | Config serveur |
| pvc-3-ns-selfdata-d01-syn-claim | 2 GiB | | pvc-3-ns-selfdata-d01-syn-claim | 2 GiB | BDD MySQL |
| pvc-4-ns-selfdata-d01-syn-claim | 1 GiB | Dumps MySQL |
## Création des déploiements ## Création des déploiements
...@@ -134,3 +135,13 @@ Configuration: ...@@ -134,3 +135,13 @@ Configuration:
## Initialiser la BDD MySQL ## Initialiser la BDD MySQL
- Suivre les étapes décrites dans le fichier [init.md](/dbinit/init.md) - Suivre les étapes décrites dans le fichier [init.md](/dbinit/init.md)
## Installer les cronjobs de dump
- Depuis VS Code, créer un fichier mysql-dump-cronjob-hourly.yml
- Copier le contenu du fichier k8s/cronjobs/mysql-dump-cronjob-hourly.yml dedans
- Lancer `oc apply -f mysql-dump-cronjob-hourly.yml`
- Par défaut, le script conserve les 72 derniers dumps horaires. Vous pouvez définir le nombre de dump à conserver en changeant cette valeur après la commande `head` présente dans le script
```s -F *.sql.gz | head -n -72 | xargs -r rm```
- Répéter l'opération pour **mysql-dump-cronjob-daily** et **mysql-dump-cronjob-weekly**
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: mysql-dump-cronjob-daily
namespace: ns-selfdata-d01-syn
spec:
schedule: '@daily'
jobTemplate:
spec:
template:
spec:
volumes:
- name: pvc-4-ns-selfdata-d01-syn-claim
persistentVolumeClaim:
claimName: pvc-4-ns-selfdata-d01-syn-claim
containers:
- resources: {}
terminationMessagePath: /dev/termination-log
name: mysql-dump
env:
- name: MYSQL_DATABASE
valueFrom:
secretKeyRef:
name: ecolyo-agent-database
key: name
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: ecolyo-agent-database
key: password
- name: DATABASE_HOST
valueFrom:
secretKeyRef:
name: ecolyo-agent-database
key: host
imagePullPolicy: IfNotPresent
volumeMounts:
- name: pvc-4-ns-selfdata-d01-syn-claim
mountPath: /dump
terminationMessagePolicy: File
image: 'mysql:5'
args:
- /bin/sh
- '-c'
- >-
mkdir -p /dump/daily;
cd /dump/daily;
mysqldump -h$(DATABASE_HOST) -uroot -p'$(MYSQL_ROOT_PASSWORD)' $(MYSQL_DATABASE) | gzip > $(date'+%Y-%m-%d_%H:%M:%S').sql.gz;
ls -F *.sql.gz | head -n -14 | xargs -r rm
restartPolicy: OnFailure
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: mysql-dump-cronjob-hourly
namespace: ns-selfdata-d01-syn
spec:
schedule: '@hourly'
jobTemplate:
spec:
template:
spec:
volumes:
- name: pvc-4-ns-selfdata-d01-syn-claim
persistentVolumeClaim:
claimName: pvc-4-ns-selfdata-d01-syn-claim
containers:
- resources: {}
terminationMessagePath: /dev/termination-log
name: mysql-dump
env:
- name: MYSQL_DATABASE
valueFrom:
secretKeyRef:
name: ecolyo-agent-database
key: name
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: ecolyo-agent-database
key: password
- name: DATABASE_HOST
valueFrom:
secretKeyRef:
name: ecolyo-agent-database
key: host
imagePullPolicy: IfNotPresent
volumeMounts:
- name: pvc-4-ns-selfdata-d01-syn-claim
mountPath: /dump
terminationMessagePolicy: File
image: 'mysql:5'
args:
- /bin/sh
- '-c'
- >-
mkdir -p /dump/hourly;
cd /dump/hourly;
mysqldump -h$(DATABASE_HOST) -uroot -p'$(MYSQL_ROOT_PASSWORD)' $(MYSQL_DATABASE) | gzip > $(date'+%Y-%m-%d_%H:%M:%S').sql.gz;
ls -F *.sql.gz | head -n -72 | xargs -r rm
restartPolicy: OnFailure
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: mysql-dump-cronjob-weekly
namespace: ns-selfdata-d01-syn
spec:
schedule: '@weekly'
jobTemplate:
spec:
template:
spec:
volumes:
- name: pvc-4-ns-selfdata-d01-syn-claim
persistentVolumeClaim:
claimName: pvc-4-ns-selfdata-d01-syn-claim
containers:
- resources: {}
terminationMessagePath: /dev/termination-log
name: mysql-dump
env:
- name: MYSQL_DATABASE
valueFrom:
secretKeyRef:
name: ecolyo-agent-database
key: name
- name: MYSQL_ROOT_PASSWORD
valueFrom:
secretKeyRef:
name: ecolyo-agent-database
key: password
- name: DATABASE_HOST
valueFrom:
secretKeyRef:
name: ecolyo-agent-database
key: host
imagePullPolicy: IfNotPresent
volumeMounts:
- name: pvc-4-ns-selfdata-d01-syn-claim
mountPath: /dump
terminationMessagePolicy: File
image: 'mysql:5'
args:
- /bin/sh
- '-c'
- >-
mkdir -p /dump/weekly;
cd /dump/weekly;
mysqldump -h$(DATABASE_HOST) -uroot -p'$(MYSQL_ROOT_PASSWORD)' $(MYSQL_DATABASE) | gzip > $(date'+%Y-%m-%d_%H:%M:%S').sql.gz;
ls -F *.sql.gz | head -n -14 | xargs -r rm
restartPolicy: OnFailure
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment