--- /dev/null
+#!/bin/sh
+
+# Backup all important system-relevant data of a Debian system.
+#
+# The list of installed packages can be extracted from /var/lib/dpkg/status.
+
+# Copyright (C) 2013 Simon Ruderich
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+
+set -eu
+
+# tar can't exclude it automatically because we pipe it through gpg.
+target="`pwd`/`hostname`.tar.gpg"
+
+tar cf - \
+ --exclude /root/apt \
+ --exclude /var/cache \
+ --exclude /var/www \
+ --exclude "$target" \
+ --exclude "$target.tmp" \
+ /etc /root /var \
+ | gpg --encrypt --sign --recipient 0x95AC608FB0863F79 \
+ >"$target.tmp"
+mv "$target.tmp" "$target"