- May 24, 2022
-
-
Dr Adam Thorn authored
c714a331 introduced an annoying bug here. If the filenames piped to xargs include an apostrophe, xargs will complain and stop. We have thus, in practice, been including all files that appear in the list after /usr/share/sounds/ubuntu/ringtones/Sam's Song.ogg !! Also, we've not been properly handling filenames with spaces in, and perhaps other filenames too. We thus null-terminate the filenames for ourself. Because I want to get to the point where we can have a sensible return code from the prepare script, this commit also adds some set -e commands to try to ensure errors bubble up. This is a little tedious to achieve due to all the subshells in this script. For the same reason, we split off the "diff" command into a "set +e" block because diff returns non-zero if differences are found. We do not consider that to be an error!
-
Dr Adam Thorn authored
We think the intention of the old version of this block is "if mysql is running, dump the databases". The check has been buggy for a long long time: it reads the contents of my.cnf ... which nowadays just has some !includedir directives. This lead to setting SOCKET="" and, it turns out, [ -S "" ] returns true. The main intention of this part of the prepare script is to backup vaguely normal machines running a simple mysql database, such as small group webservers. We thus don't need to consider every eventuality.
-
Dr Adam Thorn authored
-
Dr Adam Thorn authored
On servers we configure this via ansible. On workstations it is not having the desired effect because the stock logrotate.conf includes the line ... and so the simple grep thinks it's already configured! I'll add an ansible task in due course to actually configure this.
-
- Apr 25, 2022
-
-
Dr Adam Thorn authored
Now that we use pygrub, these dirs are populated by quite a lot of files that we don't want to back up but are dynamically built by the kernel/related packages so do not make it into the the prepared "excludes" file
-
- Jan 06, 2021
-
-
Dr Adam Thorn authored
As of focal a bunch of top-level dirs are symlinks (eg /lib -> /usr/lib) but the deb packages still deploy files to the symlink rather than the real dir. Thus if we just take the contents of all the *.list files we end up not excluding lots of files that are in fact provided by debs
-
- Nov 09, 2020
-
-
Dr Catherine Pitt authored
The default prepare script now uses appropriate options if it detects Postgres 12 or higher. The error handling still needs work though. Update prepare script for newer Postgres
-
- Nov 07, 2018
-
-
Dr Adam Thorn authored
Our backup logs are generally full of + ssh -p 22 -o ConnectTimeout=10 root@openvpn2020.ch.cam.ac.uk ' umask 077 FILELIST=`tempfile` CONFLIST=`tempfile` mkdir -p /var/adm/backup # Make logrotate use datestamps if ! grep -q dateext /etc/logrotate.conf ; then sed -i '\''s/^include/dateext\ninclude/'\'' /etc/logrotate.conf ; fi # Which packages are installed? dpkg --get-selections | awk '\'' { print $1 ; } '\'' >/var/adm/backup/packages cat /var/lib/dpkg/info/*.list | while read F ; do [ -f "$F" ] && echo "$F" ; done | sort > $FILELIST awk '\''/Description:/ { flag = 0 } ; flag == 1 { print $1 ; } ; /Conffiles:/ { flag = 1 } ; '\'' </var/lib/dpkg/status | sort >$CONFLIST diff -u $FILELIST $CONFLIST | grep ^-/ | sed s/^-// >/var/adm/backup/package-files rm ' rm: missing operand because we're not escaping the args to that final rm command! This means we gradually fill up /tmp, especially on machines that are infrequently rebooted (e.g. calculon)
-
- Jan 14, 2016
-
-
Dr Catherine Pitt authored
-
- Jul 02, 2015
-
-
Dr. Frank Lee authored
-