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>