Update 'Backing up stuff in Google Cloud Storage'
parent
41b01bdc23
commit
a6d3d102a6
|
@ -7,4 +7,71 @@ Once you have a subscription, these are the steps:
|
||||||
5. Install the google cloud SDK
|
5. Install the google cloud SDK
|
||||||
6. Authenticate the google cloud command with the service principal (`gcloud auth activate-service-account --key-file=[KEY_FILE]
|
6. Authenticate the google cloud command with the service principal (`gcloud auth activate-service-account --key-file=[KEY_FILE]
|
||||||
`)
|
`)
|
||||||
7. Use the gcloud command to copy the local file to the bucket (`gcloud alpha storage cp /var/backups/cluster.sql gs://lab-backup-gbn/`)
|
7. Use the gcloud command to copy the local file to the bucket (`gcloud alpha storage cp /var/backups/cluster.sql gs://lab-backup-gbn/`). You may do it for the users root and postgres, so that they can also back up files.
|
||||||
|
8. Create and activate the following units and timers in systemd
|
||||||
|
|
||||||
|
|
||||||
|
## Files
|
||||||
|
### database-daily-backup.service
|
||||||
|
```
|
||||||
|
[Unit]
|
||||||
|
Description=Daily PG Backup
|
||||||
|
Documentation=man:pg_dumpall(8)
|
||||||
|
ConditionACPower=true
|
||||||
|
After=postgresql.service network.target network-online.target systemd-networkd.service NetworkManager.service connman.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
User=postgres
|
||||||
|
Group=postgres
|
||||||
|
ExecStart=/usr/bin/pg_dumpall -c -f /var/backups/cluster.sql
|
||||||
|
ExecStartPost=/usr/bin/gcloud alpha storage cp /var/backups/cluster.sql gs://lab-backup-gbn/
|
||||||
|
KillMode=process
|
||||||
|
TimeoutStopSec=900
|
||||||
|
```
|
||||||
|
|
||||||
|
### database-daily-backup.timer
|
||||||
|
```
|
||||||
|
[Unit]
|
||||||
|
Description=Daily PG Backup
|
||||||
|
After=database-daily-backup.timer
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=*-*-* 02:00
|
||||||
|
RandomizedDelaySec=10m
|
||||||
|
Persistent=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
|
```
|
||||||
|
|
||||||
|
### lab-daily-backup.service
|
||||||
|
```
|
||||||
|
[Unit]
|
||||||
|
Description=Daily Lab backpu
|
||||||
|
Documentation=man:tar(8)
|
||||||
|
ConditionACPower=true
|
||||||
|
After=network.target network-online.target systemd-networkd.service NetworkManager.service connman.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
ExecStart=tar --exclude '/home/guillem/lab/storage' -zcpvf /var/backups/lab.tgz /home/guillem/lab
|
||||||
|
ExecStartPost=/usr/bin/gcloud alpha storage cp /var/backups/lab.tgz gs://lab-backup-gbn/
|
||||||
|
KillMode=process
|
||||||
|
TimeoutStopSec=900
|
||||||
|
```
|
||||||
|
|
||||||
|
### lab-daily-backup.timer
|
||||||
|
```
|
||||||
|
[Unit]
|
||||||
|
Description=Daily Lab Backup
|
||||||
|
After=lab-daily-backup.timer
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnCalendar=*-*-* 02:00
|
||||||
|
RandomizedDelaySec=10m
|
||||||
|
Persistent=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
|
```
|
Loading…
Reference in a new issue