Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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?

share|improve this question
up vote 8 down vote accepted

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".

share|improve this answer
    
you forgot /home – xenoterracide Aug 23 '10 at 13:52
    
hu, no, I wrote "The user-based applications have their configuration in your home directory". – Luc Stepniewski Aug 23 '10 at 14:59
    
I really think that this question should end in something like a list of "needed folders" plus "optional" ones, plus your own files. By example, a list of the opposite could be good, so, folders you don't need to keep, like /dev, /mnt, /sys, etc. – erm3nda May 17 at 2:32

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.

share|improve this answer
4  
How about /root? – Tik0 Dec 26 '14 at 15:02
    
or /opt or /usr/local ? – tgharold Apr 3 at 17:25

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.

share|improve this answer

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.

share|improve this answer

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.

share|improve this answer

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 lots of data you want to keep, but also some you might not. Backing it up in full leaves you on the safe side (but restoring the backup on different hardware might cause problems).
  • /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 webcontent 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)

You probably don't want to backup these:

  • /var/backups/ contains some files that are automatically backed up by debian, you probably don't want to backup these.
  • /var/cache/ contrary to the name, some contents of this directoy 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 anymore
  • /var/spool/ 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)
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.