Using backup2l
Sympl uses backup2l to manage backups, which happen automatically overnight.
Getting a Backup Summary
You can list a summary of the backups with the command backup2l -s
:
sympl@sympl:~$ backup2l -s backup2l v1.6-pre2 by Gundolf Kiefer Summary ======= Backup Date Time | Size | Skipped Files+D | New Obs. | Err. ------------------------------------------------------------------------------ all.1 2019-05-23 07:07 | 1.4G | 51 160442 |160442 0 | 4 all.11 2019-05-29 06:27 | 7.3M | 51 161018 | 775 199 | 0 all.12 2019-06-04 06:54 | 7.4M | 51 161611 | 791 198 | 0 all.13 2019-06-10 07:15 | 8.5M | 51 162202 | 835 244 | 0 all.14 2019-06-16 06:55 | 61.1M | 51 163006 |21271 20467 | 4 all.15 2019-06-22 06:48 | 15.3M | 51 163430 | 1628 1204 | 0 all.2 2019-06-28 06:33 | 1.3G | 51 163260 |163260 0 | 0 all.21 2019-07-04 06:47 | 64.0M | 51 170123 |23037 16174 | 0 all.22 2019-07-10 07:09 | 3.3G | 57 861664 |692194 653 | 2 all.221 2019-07-11 06:47 | 32.9M | 57 865405 | 7740 3999 | 0 all.222 2019-07-12 06:42 | 61.4M | 57 870259 | 5787 933 | 0 all.223 2019-07-13 06:40 | 24.1M | 57 870355 | 930 834 | 0 all.224 2019-07-14 07:16 | 18.0M | 57 870457 | 880 778 | 0 all.225 2019-07-15 07:16 | 19.6M | 57 870552 | 873 778 | 0 all.23 2019-07-16 06:47 | 80.9M | 57 871091 |13827 4400 | 0 all.231 2019-07-17 07:03 | 226.3M | 57 885692 |28851 14250 | 0 all.232 2019-07-18 07:10 | 27.4M | 57 885777 | 998 913 | 0 all.233 2019-07-19 06:27 | 26.6M | 57 885791 | 1201 1187 | 2 Filesystem Size Used Avail Use% Mounted on /dev/vda1 158G 22G 130G 15% /
Backups are taken daily, and as the backup task is the last of the 'daily' tasks in /etc/cron.daily/
it's normal for the backup times to vary a little.
In the above example:
- there are two main backups labelled
all.1
andall.2
.
all.1
has five child backups, namedall.11
toall.15
, taken weekly.all.2
has three child backups namedall.21
,all.22
andall.23
, taken weekly.all.22
has a total of five child backups, namedall.221
toall.225
, which are daily copies.all.23
has a further three child backups, namedall.231
toall.233
, including the most recent backup.
Each child backup is is overlaid on its parent and sibling backups, and only contains changes made since the last backup was run.
Listing Backed Up Files
To list files in a backup, you can use backup2l -l
with an optional regular expression for match against specific files.
sympl@sympl:~$ backup2l -l 'site-logo' backup2l v1.6-pre2 by Gundolf Kiefer Active files in <all.233>: 14 found in all.233: 0 ( 14 left) found in all.232: 0 ( 14 left) found in all.231: 0 ( 14 left) found in all.23: 2 ( 12 left) found in all.22: 0 ( 12 left) found in all.21: 12 ( 0 left) Listing locations... all.23: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/cropped-site-logo-1-150x60.png all.23: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/cropped-site-logo-1.png all.21: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/cropped-site-logo-1024x239.png all.21: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/cropped-site-logo-1200x280.png all.21: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/cropped-site-logo-150x150.png all.21: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/cropped-site-logo-300x70.png all.21: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/cropped-site-logo-768x179.png all.21: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/cropped-site-logo.png all.21: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/site-logo-1024x231.png all.21: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/site-logo-1200x271.png all.21: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/site-logo-150x150.png all.21: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/site-logo-300x68.png all.21: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/site-logo-768x173.png all.21: /srv/example.com/public/htdocs/wp-content/uploads/2019/03/site-logo.png All required archive files are present in /var/backups/localhost.
Restoring From A Backup
Note that when recovering files, the recovered files retain their original paths, with the root in the current directory, so it's suggested you change directory to your home directory before starting a recovery.
Recovering From the Most Recent Backup
To restore a file from backup2l, you should use sudo backup2l -r
, with an optional regular expression for the files to recover. Not specifying a regular expression to recover will extract all of the content from your most recent backup, so be wary of disk space or specify the files to recover.
Based on the above list of files, we want to recover only the site-logo.png file, so we specify more of the full path:
sympl@sympl:~$ sudo backup2l -r '/site-logo.png' [sudo] password for sympl: backup2l v1.6-pre2 by Gundolf Kiefer Active files in <all.233>: 1 found in all.233: 0 ( 1 left) found in all.232: 0 ( 1 left) found in all.231: 0 ( 1 left) found in all.23: 0 ( 1 left) found in all.22: 0 ( 1 left) found in all.21: 1 ( 0 left) Restoring files... all.21.tar.gz: 1 file(s) using 'DRIVER_TAR_GZ'
The resulting file can then be found in the srv/example.com/public/htdocs/wp-content/uploads/2019/03/
directory from where you started the recovery.
Recovering From a Specific Backup
In some cases you may want to recover a specific version of the file not the most recent one. In that case you would use backup2l -a
with the regular expression to list the copies available:
sympl@sympl:~$ backup2l -a '/site-logo.png' backup2l v1.6-pre2 by Gundolf Kiefer Listing available files... all.1 + 1869 05/22/19 15:15:25 0033.0033 0664 /srv/example.com/public/htdocs/wp-content/uploads/2019/03/site-logo.png all.14 - 1869 05/22/19 15:15:25 0033.0033 0664 /srv/example.com/public/htdocs/wp-content/uploads/2019/03/site-logo.png all.14 + 1932 06/11/19 18:13:51 0033.0033 0664 /srv/example.com/public/htdocs/wp-content/uploads/2019/03/site-logo.png all.2 + 1932 06/11/19 18:13:51 0033.0033 0664 /srv/example.com/public/htdocs/wp-content/uploads/2019/03/site-logo.png all.21 - 1932 06/11/19 18:13:51 0033.0033 0664 /srv/example.com/public/htdocs/wp-content/uploads/2019/03/site-logo.png all.21 + 2084 07/03/19 20:23:13 0033.0033 0664 /srv/example.com/public/htdocs/wp-content/uploads/2019/03/site-logo.png
Note that the versions are shown in the US date order (MM/DD/YY) but are still listed in order of their backup.
In the above example, the oldest backup was taken on 2019-05-22, then replaced on 2019-06-11, and replaced again on 2019-07-03.
To recover a specific version, you specify the backup set number, so to recover the second oldest copy from set all.14
on 2019-06-11, you would use:
sympl@sympl:~$ sudo backup2l -t all.14 -r '/site-logo.png' backup2l v1.6-pre2 by Gundolf Kiefer Active files in <all.14>: 7 found in all.14: 1 ( 0 left) Restoring files... all.14.tar.gz: 1 file(s) using 'DRIVER_TAR_GZ'
As with recovering the most recent copy of a file, it will be placed with the root in your current directory.