What are the directories one should back up, in order to have a backup of all user-generated files?
From a vanilla debian install, I can do enough apt to get the packages that I want. So if I don’t want to backup the entire system, where all in the filesystem do user-generated configuration and data files reside?
Answers:
Thank you for visiting the Q&A section on Magenaut. Please note that all the answers may not help you solve the issue immediately. So please treat them as advisements. If you found the post helpful (or not), leave a comment & I’ll get back to you as soon as possible.
Method 1
As this question has many different answers, the following list should combine the suggestions into one comprehensive list:
Under most circumstances you want to backup these:
/home/for user data and configuration./etc/for system wide configuration files./var/contains a mix of directories you usually want to backup and those you don’t want to backup. See below for a more detailed explanation.
Some more directories to consider are:
/usr/local/hand-installed packages (i.e. not installed through apt) are installed here. If you have packages installed here, you may want to backup the whole directory, so you don’t have to reinstall them. If the packages themselves aren’t important to you, it should be enough to backup/usr/local/etc/and/usr/local/src/./opt/if you didn’t store anything here, you don’t need to back it up. If you stored something here, you are in the best position to decide, if you want to back it up./srv/much like/opt/, but is by convention more likely to contain data you actually want to backup./root/stores configuration for the root user. If that is important to you, you should back it up.
/var/
/var/ contains many files you want to backup under most circumstances, but also some you don’t want to backup.
You probably want to backup these:
/var/lib/this directory contains variable state data for installed applications. Depending on the application you want to backup that state or you don’t. If you want to be on the safe side, you can just back up everything. Otherwise you can look at each sub-directory and decide for yourself if the data contained is important enough to you to back it up./var/mail/you normally want to backup local mails./var/www/if your web root is located here and this is the only place where your web content is stored, you want to back it up./var/games/you may want to backup these, if system wide game data is important enough for you (not many games use this storage though)./var/backups/usually contains files that are automatically generated from other data that you usually want on a backup, but that would take an unnecessary amount of space in the backup or is otherwise cumbersome to backup. For example dpkg dumps a list of installed packages here, so you can later know which packages to install after restoring the backup. You probably want to backup this./var/spool/cron/crontabs/might contain many commands or a complex schedule, even with dependencies on other systems, that has taken considerable effort to put together.
You probably don’t want to backup these:
/var/cache/contrary to the name, some contents of this directory are important, so check each subdirectory individually, as a rule of thumb, everything you put here yourself is important. You also might want to backup/var/cache/debconf/./var/lock/locks usually (always) don’t need to be backed up./var/run/contains data that is only important for your running system, i.e. when you shutdown you system, it will not be needed any more./var/spool/(other than/var/spool/cron/crontabs, see above) normally important data shouldn’t be stored here, but you might want to check.
You have to decide yourself on these:
/var/local/you normally know if you stored something here and whether you want it on a backup or not./var/opt/see/var/local/or better check if something important is stored here./var/log/depends on whether your logs are important to you and if you have enough space to store them (they might take a lot of backup space over time).
Method 2
You’ll be backing up some ‘garbage’ doing this… but if you just backup all of /home, /etc, and /var/ you should have everything (unless you know you put something somewhere else). You’ll want to leave out /var/tmp, /var/run/, /var/lock for sure. After that I’d read Luc‘s reply.
Method 3
It depends on what you mean by “user-generated”. Most of the configuration you will have are about services/daemons and applications running on your system. Most of them put their configuration in /etc. The user-based applications have their configuration in your home directory (usually in a application directory).
But you can have some applications that also store their data in /var/lib or /var/spool.
So the answer, is: “it depends on what you’re running on your machine”.
Method 4
In short, you want to backup /home (generally where user-generated files reside), /etc and /usr/local. The last two will backup your configuration files. I would recommend using some backup software like sbackup which does what you need and is easy to use.
Method 5
A few other directories to keep in mind – most people won’t have anything in these, or they might not even exist, but in some cases, you might find something important!
/usr/local /opt /root
On my system, /usr/local has some custom system scripts in it, /opt has some games that were installed by downloaded packages (i.e. not .deb packages) and /root has a few configuration files that get used by the admin user.
Method 6
This depends on applications and services you installed, and what version of Linux you are using. Most settings are in /etc, so this is an important folder to backup.
Method 7
Just to improve on the accepted wiki answer, my backup script and seeing what bloats up my HDD with baobab.
-
/var/lib/snapis currently almost 20GB on my drive. It contains LOTS of snaps because my rsync script never deletes things. It contains tons of snap apps in/var/lib/snap/snapsand/var/lib/snap/seed/spapsand other stuff related to snap but AFAIK the user data for snaps app and the config is kept in/home/username/snapso I do not think there is a need to keep all these files. -
/var/lib/flatpak– same as above, I do not use it anymore, but I think I had just one or 2 apps installed with it a while back. Its already 3,6 GB -
/var/apt/I do not think we want to keep this. Just stuff related to debain/ubuntu package updating … -
/var/dpkg/Same as above
All methods was sourced from stackoverflow.com or stackexchange.com, is licensed under cc by-sa 2.5, cc by-sa 3.0 and cc by-sa 4.0