c5a8163000
cannot be created ($daily_backup_pkgdb_dbdir -> $daily_backup_pkgdb_dir). MFC after: 1 week
52 lines
1.1 KiB
Bash
Executable File
52 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
# 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=0
|
|
|
|
case "$daily_backup_pkgdb_enable" in
|
|
[Yy][Ee][Ss])
|
|
bak="${daily_backup_pkgdb_dir:-/var/backups}"
|
|
bak_file="${bak}/pkgdb.bak.tbz"
|
|
|
|
pkg_dbdir=`make -f/usr/share/mk/bsd.port.mk -V PKG_DBDIR 2>/dev/null` ||
|
|
pkg_dbdir=/var/db/pkg
|
|
|
|
if [ ! -d "$bak" ]
|
|
then
|
|
install -d -o root -g wheel -m 750 $bak || {
|
|
echo '$daily_backup_pkgdb_enable is enabled but' \
|
|
"$daily_backup_pkgdb_dir doesn't exist" ;
|
|
exit 2 ; }
|
|
fi
|
|
|
|
echo ''
|
|
echo 'Backing up package db directory:'
|
|
|
|
new_bak_file=`mktemp ${bak_file}-XXXXX`
|
|
|
|
if tar -cjHf "${new_bak_file}" "$pkg_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=3
|
|
fi ;;
|
|
esac
|
|
|
|
exit $rc
|