Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 15 Oct 2011 04:48:19 +0400
From:      Oleg Ginzburg <olevole@olevole.ru>
To:        freebsd-stable@freebsd.org
Subject:   backup for /var/db/ports
Message-ID:  <201110150448.19507.olevole@olevole.ru>

next in thread | raw e-mail | index | archive | help
Hi

With /etc/periodic/daily/220.backup-pkgdb I would also suggest backing up=20
/var/db/ports dir

Maybe it's better to combine into one script.

diff -ruN etc.bak/defaults/periodic.conf etc/defaults/periodic.conf
=2D-- etc.bak/defaults/periodic.conf      2011-10-15 04:37:28.879673119 +04=
00
+++ etc/defaults/periodic.conf  2011-10-15 04:30:48.599677268 +0400
@@ -78,6 +78,10 @@
 daily_backup_pkgdb_enable=3D"YES"                                # Backup=
=20
/var/db/pkg
 daily_backup_pkgdb_dir=3D"/var/backups"

+# 230.backup-portdb
+daily_backup_portdb_enable=3D"YES"                               # Backup=
=20
/var/db/ports
+daily_backup_portdb_dir=3D"/var/backups"
+
 # 300.calendar
 daily_calendar_enable=3D"NO"                             # Run calendar -a

diff -ruN etc.bak/periodic/daily/230.backup-portdb=20
etc/periodic/daily/230.backup-portdb
=2D-- etc.bak/periodic/daily/230.backup-portdb    1970-01-01 03:00:00.00000=
0000=20
+0300
+++ etc/periodic/daily/230.backup-portdb        2011-10-15 04:29:31.1496823=
66=20
+0400
@@ -0,0 +1,51 @@
+#!/bin/sh
+#
+# $FreeBSD: src/etc/periodic/daily/220.backup-portdb,v 1.2 2011/05/05=20
02:35:11 dougb Exp $
+#
+
+# If there is a global system configuration file, suck it in.
+#
+if [ -r /etc/defaults/periodic.conf ]
+then
+    . /etc/defaults/periodic.conf
+    source_periodic_confs
+fi
+
+rc=3D0
+
+case "$daily_backup_portdb_enable" in
+    [Yy][Ee][Ss])
+       bak=3D"${daily_backup_portdb_dir:-/var/backups}"
+       bak_file=3D"${bak}/portdb.bak.tbz"
+
+       port_dbdir=3D`make -f/usr/share/mk/bsd.port.mk -V PORT_DBDIR=20
2>/dev/null` ||
+         port_dbdir=3D/var/db/ports
+
+       if [ ! -d "$bak" ]
+       then
+           install -d -o root -g wheel -m 750 $bak || {
+               echo '$daily_backup_portdb_enable is enabled but' \
+                   "$daily_backup_portdb_dbdir doesn't exist" ;
+               exit 2 ; }
+       fi
+
+       echo ''
+       echo 'Backing up package db directory:'
+
+       new_bak_file=3D`mktemp ${bak_file}-XXXXX`
+
+       if tar -cjHf "${new_bak_file}" "$port_dbdir" 2>/dev/null; then
+           chmod 644 "${new_bak_file}"
+
+           if [ -e "${bak_file}.2" -a -e "${bak_file}" ]; then
+               unlink "${bak_file}.2"
+               mv "${bak_file}" "${bak_file}.2"
+           fi
+           [ -e "${bak_file}" ] && mv "${bak_file}" "${bak_file}.2"
+           mv "${new_bak_file}" "${bak_file}"
+       else
+           rc=3D3
+       fi ;;
+esac
+
+exit $rc


=2D-=20
=D0=A1 =D1=83=D0=B2=D0=B0=D0=B6=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC, With respect,
=D0=9E=D0=BB=D0=B5=D0=B3 =D0=93=D0=B8=D0=BD=D0=B7=D0=B1=D1=83=D1=80=D0=B3 O=
leg Ginzburg
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D
E-mail: mailto: olevole@olevole.ru
Skype: olegginzburg
XMPP/Jabber: olevole@jabber.ru




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201110150448.19507.olevole>