]>
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 | ||
8faa93f4 | 100 | [[pmgbackup_pbs]] |
18734510 SI |
101 | Proxmox Backup Server |
102 | --------------------- | |
103 | ||
104 | In order to backup your {pmg} configuration on a Proxmox Backup Server you | |
105 | need configure the instance as backup 'remote'. You can then directly create | |
106 | and restore backups, as well as create a scheduled 'backup job' to run | |
107 | regular backups. | |
108 | ||
8faa93f4 | 109 | [[pmgbackup_pbs_remotes]] |
18734510 SI |
110 | Remotes |
111 | ~~~~~~~ | |
112 | ||
113 | ifndef::manvolnum[] | |
c2763fd2 | 114 | [thumbnail="pmg-gui-pbs-remote.png"] |
18734510 SI |
115 | endif::manvolnum[] |
116 | ||
c2763fd2 | 117 | |
18734510 SI |
118 | A Proxmox Backup Server remote can be configured using the 'Proxmox Backup |
119 | Server' panel in the 'Backup/Restore' menu of the GUI, or by using the | |
c2763fd2 TL |
120 | `remote` subcommand of `pmgbackup`. |
121 | ||
122 | NOTE: You can use API Tokens in place of a username/password combination. | |
18734510 | 123 | |
c2763fd2 | 124 | .Example addition of a Proxmox Backup Server remote with id 'archive'. |
18734510 | 125 | ---- |
c2763fd2 | 126 | # pmgbackup proxmox-backup remote add archive --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 |
18734510 SI |
127 | Enter new password: ****** |
128 | Retype new password: ****** | |
129 | ---- | |
130 | ||
c2763fd2 TL |
131 | The fingerprint is optional, if the certificate of the Proxmox Backup Server |
132 | remote is signed by a CA trusted by {pmg}. | |
18734510 | 133 | |
c2763fd2 TL |
134 | Additionally you can configure `prune-settings` for each remote, giving you |
135 | flexible control about how many backups should be stored on the Proxmox Backup | |
136 | Server over a period of time. | |
18734510 | 137 | |
c2763fd2 | 138 | .Setting the prune options for the Proxmox Backup Server remote with id 'archive'. |
18734510 | 139 | ---- |
c2763fd2 | 140 | # pmgbackup remote set archive --keep-last 3 --keep-daily 14 --keep-weekly 8 --keep-monthly 12 --keep-yearly 7 |
18734510 | 141 | ---- |
c2763fd2 | 142 | |
70808289 | 143 | If prune settings are configured, the backup-group of {pmg} is pruned |
c2763fd2 | 144 | automatically after each successful backup. |
18734510 SI |
145 | |
146 | The public settings are stored in `/etc/pmg/pbs/pbs.conf`, sensitive settings, | |
147 | like passwords are stored in individual files named after the remote inside | |
148 | `/etc/pmg/pbs/`: | |
149 | ||
150 | .Configuration Example (`/etc/pmg/pbs/pbs.conf`) | |
151 | ---- | |
c2763fd2 | 152 | pbs: archive |
18734510 SI |
153 | datastore big |
154 | server backup.proxmox.com | |
155 | fingerprint 09:54:ef:..snip..:88:af:47:fe:4c:3b:cf:8b:26:88:0b:4e:3c:b2 | |
156 | keep-daily 30 | |
157 | keep-last 5 | |
158 | keep-monthly 3 | |
159 | keep-yearly 5 | |
160 | username pmgbackup@pbs!token | |
161 | ---- | |
162 | ||
8faa93f4 | 163 | [[pmgbackup_pbs_jobs]] |
18734510 SI |
164 | Backup Jobs |
165 | ~~~~~~~~~~~ | |
166 | ||
c2763fd2 TL |
167 | ifndef::manvolnum[] |
168 | [thumbnail="pmg-gui-pbs-backup.png", big=1] | |
169 | endif::manvolnum[] | |
170 | ||
18734510 | 171 | With a configured remote you can create backups using the GUI or the |
c2763fd2 | 172 | `proxmox-backup backup` subcommand of the `pmgbackup` CLI tool. |
18734510 | 173 | |
c2763fd2 | 174 | .Creating a new backup on the Proxmox Backup Server remote with id 'archive'. |
18734510 | 175 | ---- |
c2763fd2 | 176 | # pmgbackup proxmox-backup backup archive |
18734510 SI |
177 | starting update of current backup state |
178 | Starting backup: host/pmg/2020-11-16T16:38:39Z | |
179 | Client name: pmg | |
180 | Starting backup protocol: Mon Nov 16 16:38:39 2020 | |
181 | Upload directory '/var/lib/pmg/backup/current' to 'pmgbackup@pbs!token@backup.proxmox.com:8007:local' as pmgbackup.pxar.didx | |
182 | pmgbackup.pxar: had to upload 188.33 KiB of 188.33 KiB in 0.00s, average speed 162.33 MiB/s). | |
183 | Uploaded backup catalog (145 B) | |
184 | Duration: 0.06s | |
185 | End Time: Mon Nov 16 16:38:39 2020 | |
186 | backup finished | |
187 | starting prune of host/pmg | |
188 | prune finished | |
189 | ---- | |
190 | ||
191 | For restoring you can optionally select a particular backup-snapshot to return | |
c2763fd2 TL |
192 | to the state of configuration and rules at that time. |
193 | ||
194 | On the commandline you can get first a list of available backup snapshots using | |
195 | the `proxmox-backup list` subcommand: | |
196 | ||
197 | .Listing available backups from the Proxmox Backup Server remote with id 'archive'. | |
198 | ---- | |
199 | # pmgbackup proxmox-backup list archive | |
200 | ┌────────────┬──────────────────────┬────────┐ | |
201 | │ backup-id │ backup-time │ size │ | |
202 | ╞════════════╪══════════════════════╪════════╡ | |
203 | │ pmg │ 2020-11-16T14:03:04Z │ 121910 │ | |
204 | ├────────────┼──────────────────────┼────────┤ | |
205 | ... | |
206 | └────────────┴──────────────────────┴────────┘ | |
207 | ---- | |
18734510 | 208 | |
c2763fd2 | 209 | .Restoring a specific backup snapshot |
18734510 | 210 | ---- |
c2763fd2 | 211 | # pmgbackup proxmox-backup restore archive pmg 2020-11-16T14:03:04Z |
18734510 SI |
212 | starting restore of host/pmg/2020-11-16T14:03:04Z from backup |
213 | ..snip.. | |
214 | restore finished | |
215 | ---- | |
216 | ||
c2763fd2 TL |
217 | You can remove a particular snapshot by using the `forget` sub command, this |
218 | allows the Proxmox Backup Server to pick it up during garbage collection. | |
18734510 SI |
219 | |
220 | ---- | |
c2763fd2 | 221 | # pmgbackup proxmox-backup forget archive pmg 2020-11-16T14:03:04Z |
18734510 SI |
222 | ---- |
223 | ||
70808289 | 224 | TIP: You can configure and access all backup related functionality on both, |
c2763fd2 TL |
225 | the web interface and the command line interface. |
226 | ||
8faa93f4 | 227 | [[pmgbackup_pbs_schedule]] |
18734510 SI |
228 | Scheduled Backups |
229 | ^^^^^^^^^^^^^^^^^ | |
230 | ||
231 | You can create a `Schedule` for each remote, to periodically create backups of | |
232 | your {pmg} - for example to run a daily backup at 03:50:00 with a randomized | |
233 | delay of 15 minutes each day: | |
234 | ||
235 | ---- | |
c2763fd2 | 236 | # pmgbackup proxmox-backup job create archive --schedule '*-*-* 03:50:00' --delay '15 minutes' |
18734510 SI |
237 | ---- |
238 | ||
239 | The randomized delay can help to prevent load-peaks on the backup server, if | |
240 | you have multiple backups, which all should start around the same time. | |
00a7fa74 | 241 | |
18734510 SI |
242 | The schedules are `systemd.timer` units. See the `systemd.time(7)` man page for |
243 | details on the time specification used. | |
aebeb2f5 DM |
244 | |
245 | ||
246 | ifdef::manvolnum[] | |
247 | include::pmg-copyright.adoc[] | |
248 | endif::manvolnum[] | |
249 |