]>
Commit | Line | Data |
---|---|---|
aebeb2f5 DM |
1 | [[chapter_pmgbackup]] |
2 | ifdef::manvolnum[] | |
3 | pmgbackup(1) | |
4 | ============ | |
5 | :pmg-toplevel: | |
6 | ||
7 | NAME | |
8 | ---- | |
9 | ||
10 | pmgbackup - Proxmox Mail Gateway Backup and Restore Utility | |
11 | ||
12 | ||
13 | SYNOPSIS | |
14 | -------- | |
15 | ||
16 | include::pmgbackup.1-synopsis.adoc[] | |
17 | ||
18 | DESCRIPTION | |
19 | ----------- | |
20 | endif::manvolnum[] | |
21 | ifndef::manvolnum[] | |
22 | Backup and Restore | |
23 | ================== | |
24 | :pmg-toplevel: | |
25 | endif::manvolnum[] | |
26 | ||
00a7fa74 | 27 | ifndef::manvolnum[] |
a695a527 | 28 | [thumbnail="pmg-gui-backup.png", big=1] |
00a7fa74 DM |
29 | endif::manvolnum[] |
30 | ||
31 | {pmg} includes the ability to backup and restore the | |
32 | configuration. This includes the complete config from `/etc/pmg/`, the | |
33 | mail filter rules and the statistic database. | |
34 | ||
35 | NOTE: The backup does not include the network setup, and also no mail | |
36 | data from the postfix queue or the spam or virus quarantine. | |
37 | ||
18734510 SI |
38 | Backups can be created locally or stored on a |
39 | https://www.proxmox.com/en/proxmox-backup-server[Proxmox Backup Server] | |
40 | instance. | |
41 | ||
42 | Local Backups | |
43 | ------------- | |
44 | ||
45 | You can create a backup by simply pressing the 'Backup' button in the 'Local | |
46 | Backup/Restore' tab on the GUI, or by using the command line interface: | |
00a7fa74 DM |
47 | |
48 | ---- | |
49 | # pmgbackup backup | |
50 | starting backup to: /var/lib/pmg/backup/pmg-backup_2018_01_04_5A4E0436.tgz | |
51 | backup finished | |
52 | ---- | |
53 | ||
18734510 | 54 | Local backups are stored inside directory `/var/lib/pmg/backup/`. It is |
00a7fa74 DM |
55 | usually best to mount a remote file system to that directory, so that |
56 | the resulting backups gets stored remotely. | |
57 | ||
58 | You can list the contents of that directory with: | |
59 | ||
60 | ---- | |
61 | # pmgbackup list | |
62 | .... | |
63 | pmg-backup_2017_11_10_5A05D4B9.tgz 17012 | |
64 | pmg-backup_2017_11_13_5A09676A.tgz 16831 | |
65 | pmg-backup_2018_01_04_5A4E0436.tgz 21514 | |
66 | ---- | |
67 | ||
68 | Restores are also possible using the GUI or command line, and you can | |
69 | select what parts you want to restore: | |
70 | ||
71 | System Configuration:: | |
72 | ||
73 | Basically the contents of `/etc/pmg/`. | |
74 | ||
75 | Rule Database:: | |
76 | ||
77 | The mail filter rule database. | |
78 | ||
79 | Statistic:: | |
80 | ||
81 | All statistical data. | |
82 | ||
b86b6da3 | 83 | For example, you can selectively restore the mail filter rules from an |
00a7fa74 DM |
84 | older backup: |
85 | ||
86 | ---- | |
87 | # pmgbackup restore --filename pmg-backup_2018_01_04_5A4E0436.tgz --database | |
88 | starting restore: /var/lib/pmg/backup/pmg-backup_2018_01_04_5A4E0436.tgz | |
89 | config_backup.tar: OK | |
90 | Proxmox_ruledb.sql: OK | |
91 | Proxmox_statdb.sql: OK | |
92 | version.txt: OK | |
93 | Destroy existing rule database | |
94 | Create new database | |
95 | run analyze to speed up database queries | |
96 | Analyzing/Upgrading existing Databases...done | |
97 | restore finished | |
98 | ---- | |
99 | ||
18734510 SI |
100 | Proxmox Backup Server |
101 | --------------------- | |
102 | ||
103 | In order to backup your {pmg} configuration on a Proxmox Backup Server you | |
104 | need configure the instance as backup 'remote'. You can then directly create | |
105 | and restore backups, as well as create a scheduled 'backup job' to run | |
106 | regular backups. | |
107 | ||
108 | Remotes | |
109 | ~~~~~~~ | |
110 | ||
111 | ifndef::manvolnum[] | |
112 | [thumbnail="pmg-gui-pbs-remote.png", big=1] | |
113 | endif::manvolnum[] | |
114 | ||
115 | A Proxmox Backup Server remote can be configured using the 'Proxmox Backup | |
116 | Server' panel in the 'Backup/Restore' menu of the GUI, or by using the | |
117 | `remote` subcommand of `pmgbackup`: | |
118 | ||
119 | ---- | |
120 | # pmgbackup remote add backup --datastore big --server backup.proxmox.com --user 'pmgbackup@pbs!token' --password --fingerprint 09:54:ef:..snip..:88:af:47:fe:4c:3b:cf:8b:26:88:0b:4e:3c:b2 | |
121 | Enter new password: ****** | |
122 | Retype new password: ****** | |
123 | ---- | |
124 | ||
125 | You can use API Tokens in place of a username/password combination. | |
126 | ||
127 | If the remote certificate is signed by a CA trusted by {pmg} the fingerprint | |
128 | is not required. | |
129 | ||
130 | Additionally you can configure `prune-settings` for each remote to control | |
131 | how many backups should be stored on the Proxmox Backup Server: | |
132 | ||
133 | ---- | |
134 | # pmgbackup remote set backup --keep-last 5 --keep-daily 30 --keep-yearly 5 | |
135 | ---- | |
136 | The backup-group is pruned after each successful backup according to the | |
137 | configured settings. | |
138 | ||
139 | The public settings are stored in `/etc/pmg/pbs/pbs.conf`, sensitive settings, | |
140 | like passwords are stored in individual files named after the remote inside | |
141 | `/etc/pmg/pbs/`: | |
142 | ||
143 | .Configuration Example (`/etc/pmg/pbs/pbs.conf`) | |
144 | ---- | |
145 | pbs: backup | |
146 | datastore big | |
147 | server backup.proxmox.com | |
148 | fingerprint 09:54:ef:..snip..:88:af:47:fe:4c:3b:cf:8b:26:88:0b:4e:3c:b2 | |
149 | keep-daily 30 | |
150 | keep-last 5 | |
151 | keep-monthly 3 | |
152 | keep-yearly 5 | |
153 | username pmgbackup@pbs!token | |
154 | ---- | |
155 | ||
156 | Backup Jobs | |
157 | ~~~~~~~~~~~ | |
158 | ||
159 | With a configured remote you can create backups using the GUI or the | |
160 | `pbsjob` subcommand of `pmgbackup`: | |
161 | ||
162 | ---- | |
163 | # pmgbackup pbsjob run backup | |
164 | starting update of current backup state | |
165 | Starting backup: host/pmg/2020-11-16T16:38:39Z | |
166 | Client name: pmg | |
167 | Starting backup protocol: Mon Nov 16 16:38:39 2020 | |
168 | Upload directory '/var/lib/pmg/backup/current' to 'pmgbackup@pbs!token@backup.proxmox.com:8007:local' as pmgbackup.pxar.didx | |
169 | pmgbackup.pxar: had to upload 188.33 KiB of 188.33 KiB in 0.00s, average speed 162.33 MiB/s). | |
170 | Uploaded backup catalog (145 B) | |
171 | Duration: 0.06s | |
172 | End Time: Mon Nov 16 16:38:39 2020 | |
173 | backup finished | |
174 | starting prune of host/pmg | |
175 | prune finished | |
176 | ---- | |
177 | ||
178 | For restoring you can optionally select a particular backup-snapshot to return | |
179 | to the state of configuration and rules at that time. If you don't provide one | |
180 | the latest backup is restored: | |
181 | ||
182 | ---- | |
183 | # pmgbackup pbsjob restore backup --backup-time 2020-11-16T14:03:04Z | |
184 | starting restore of host/pmg/2020-11-16T14:03:04Z from backup | |
185 | ..snip.. | |
186 | restore finished | |
187 | ---- | |
188 | ||
189 | You can mark a particular snapshot for garbage collection by Proxmox Backup | |
190 | Server, by forgetting it: | |
191 | ||
192 | ---- | |
193 | # pmgbackup pbsjob forget backup 2020-11-16T14:03:04Z | |
194 | ---- | |
195 | ||
196 | Scheduled Backups | |
197 | ^^^^^^^^^^^^^^^^^ | |
198 | ||
199 | You can create a `Schedule` for each remote, to periodically create backups of | |
200 | your {pmg} - for example to run a daily backup at 03:50:00 with a randomized | |
201 | delay of 15 minutes each day: | |
202 | ||
203 | ---- | |
204 | # pmgbackup pbsjob create backup --schedule '*-*-* 03:50:00' --delay '15 minutes' | |
205 | ---- | |
206 | ||
207 | The randomized delay can help to prevent load-peaks on the backup server, if | |
208 | you have multiple backups, which all should start around the same time. | |
00a7fa74 | 209 | |
18734510 SI |
210 | The schedules are `systemd.timer` units. See the `systemd.time(7)` man page for |
211 | details on the time specification used. | |
aebeb2f5 DM |
212 | |
213 | ||
214 | ifdef::manvolnum[] | |
215 | include::pmg-copyright.adoc[] | |
216 | endif::manvolnum[] | |
217 |