1220020Sdougb#!/bin/sh 2220020Sdougb# 3220020Sdougb# $FreeBSD$ 4220020Sdougb# 5220020Sdougb 6220020Sdougb# If there is a global system configuration file, suck it in. 7220020Sdougb# 8220020Sdougbif [ -r /etc/defaults/periodic.conf ] 9220020Sdougbthen 10220020Sdougb . /etc/defaults/periodic.conf 11220020Sdougb source_periodic_confs 12220020Sdougbfi 13220020Sdougb 14220020Sdougbrc=0 15220020Sdougb 16220020Sdougbcase "$daily_backup_pkgdb_enable" in 17220020Sdougb [Yy][Ee][Ss]) 18220020Sdougb bak="${daily_backup_pkgdb_dir:-/var/backups}" 19220020Sdougb bak_file="${bak}/pkgdb.bak.tbz" 20220020Sdougb 21221475Sdougb pkg_dbdir=`make -f/usr/share/mk/bsd.port.mk -V PKG_DBDIR 2>/dev/null` || 22221475Sdougb pkg_dbdir=/var/db/pkg 23220020Sdougb 24220020Sdougb if [ ! -d "$bak" ] 25220020Sdougb then 26220020Sdougb install -d -o root -g wheel -m 750 $bak || { 27220020Sdougb echo '$daily_backup_pkgdb_enable is enabled but' \ 28226470Sse "$daily_backup_pkgdb_dir doesn't exist" ; 29220020Sdougb exit 2 ; } 30220020Sdougb fi 31220020Sdougb 32220020Sdougb echo '' 33220020Sdougb echo 'Backing up package db directory:' 34220020Sdougb 35220020Sdougb new_bak_file=`mktemp ${bak_file}-XXXXX` 36220020Sdougb 37221475Sdougb if tar -cjHf "${new_bak_file}" "$pkg_dbdir" 2>/dev/null; then 38220020Sdougb chmod 644 "${new_bak_file}" 39220020Sdougb 40220020Sdougb if [ -e "${bak_file}.2" -a -e "${bak_file}" ]; then 41220020Sdougb unlink "${bak_file}.2" 42220020Sdougb mv "${bak_file}" "${bak_file}.2" 43220020Sdougb fi 44220020Sdougb [ -e "${bak_file}" ] && mv "${bak_file}" "${bak_file}.2" 45220020Sdougb mv "${new_bak_file}" "${bak_file}" 46220020Sdougb else 47220020Sdougb rc=3 48220020Sdougb fi ;; 49220020Sdougbesac 50220020Sdougb 51220020Sdougbexit $rc 52