From: Matt Birkholz Date: Sat, 15 Mar 2025 21:04:59 +0000 (-0500) Subject: Prune old Nextcloud database dumps, and fix "safely disconnect". X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=1bbf35ff0723a20431e8d908a419f4c6c2eb777c;p=Institute Prune old Nextcloud database dumps, and fix "safely disconnect". Use mountpoint to check that the backup is un-mounted regardless, and suggest it can be safely disconnected only when there were no errors. --- diff --git a/README.org b/README.org index 9777739..09ad048 100644 --- a/README.org +++ b/README.org @@ -641,10 +641,8 @@ function start () { echo "Mounting /backup/." cryptsetup luksOpen /dev/disk/by-partlabel/Backup backup mount /dev/mapper/backup /backup - mounted=indeed else echo "Found /backup/ already mounted." - mounted= fi if [ ! -d /backup/home ] @@ -663,10 +661,13 @@ function start () { echo "Dumping nextcloud database." ( cd /Nextcloud/ umask 07 - BAK=`date +"%Y%m%d"`-dbbackup.bak.gz + BAK=`date +"%Y%m%d%H%M"`-dbbackup.bak.gz CNF=/Nextcloud/dbbackup.cnf mysqldump --defaults-file=$CNF nextcloud | gzip > $BAK - chmod 440 $BAK ) + chmod 440 $BAK + ls -t1 *-dbbackup.bak.gz | tail -n +4 \ + | while read; do rm "$REPLY"; done + ) fi } @@ -680,16 +681,14 @@ function finish () { sudo -u www-data php occ maintenance:mode --off &>/dev/null ) fi - if [ $mounted ] + if mountpoint -q /backup/ then echo "Unmounting /backup/." umount /backup cryptsetup luksClose backup - mounted= + echo "Done." + echo "The backup device can be safely disconnected." fi - echo "Done." - echo "The backup device can be safely disconnected." - } start diff --git a/private/backup b/private/backup index 041c33b..d9ebb8d 100644 --- a/private/backup +++ b/private/backup @@ -36,10 +36,8 @@ function start () { echo "Mounting /backup/." cryptsetup luksOpen /dev/disk/by-partlabel/Backup backup mount /dev/mapper/backup /backup - mounted=indeed else echo "Found /backup/ already mounted." - mounted= fi if [ ! -d /backup/home ] @@ -58,10 +56,13 @@ function start () { echo "Dumping nextcloud database." ( cd /Nextcloud/ umask 07 - BAK=`date +"%Y%m%d"`-dbbackup.bak.gz + BAK=`date +"%Y%m%d%H%M"`-dbbackup.bak.gz CNF=/Nextcloud/dbbackup.cnf mysqldump --defaults-file=$CNF nextcloud | gzip > $BAK - chmod 440 $BAK ) + chmod 440 $BAK + ls -t1 *-dbbackup.bak.gz | tail -n +4 \ + | while read; do rm "$REPLY"; done + ) fi } @@ -75,16 +76,14 @@ function finish () { sudo -u www-data php occ maintenance:mode --off &>/dev/null ) fi - if [ $mounted ] + if mountpoint -q /backup/ then echo "Unmounting /backup/." umount /backup cryptsetup luksClose backup - mounted= + echo "Done." + echo "The backup device can be safely disconnected." fi - echo "Done." - echo "The backup device can be safely disconnected." - } start