]> ruderich.org/simon Gitweb - config/dotfiles.git/blob - os/debian/bin/backup.sh
Move to os/ in preparation for merge into new dotfiles repository
[config/dotfiles.git] / os / debian / bin / backup.sh
1 #!/bin/sh
2
3 # Backup all important system-relevant data of a Debian system.
4 #
5 # The list of installed packages can be extracted from /var/lib/dpkg/status.
6
7 # Copyright (C) 2013  Simon Ruderich
8 #
9 # This program is free software: you can redistribute it and/or modify
10 # it under the terms of the GNU General Public License as published by
11 # the Free Software Foundation, either version 3 of the License, or
12 # (at your option) any later version.
13 #
14 # This program is distributed in the hope that it will be useful,
15 # but WITHOUT ANY WARRANTY; without even the implied warranty of
16 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17 # GNU General Public License for more details.
18 #
19 # You should have received a copy of the GNU General Public License
20 # along with this program.  If not, see <http://www.gnu.org/licenses/>.
21
22
23 set -eu
24
25 # tar can't exclude it automatically because we pipe it through gpg.
26 target="`pwd`/`hostname`.tar.gpg"
27
28 tar cf - \
29     --exclude /root/apt \
30     --exclude /var/cache \
31     --exclude /var/www \
32     --exclude "$target" \
33     --exclude "$target.tmp" \
34     /etc /root /var \
35     | gpg --encrypt --sign --recipient 0x95AC608FB0863F79 \
36     >"$target.tmp"
37 mv "$target.tmp" "$target"