=================================================================== RCS file: /cvs/openbsd/backup_config/backup_config,v retrieving revision 1.2 retrieving revision 1.10 diff -u -r1.2 -r1.10 --- openbsd/backup_config/backup_config 2009/05/21 22:54:34 1.2 +++ openbsd/backup_config/backup_config 2009/11/05 23:26:34 1.10 @@ -1,14 +1,33 @@ #!/bin/sh -# $RedRiver: backup_config,v 1.1 2007/05/04 20:56:34 andrew Exp $ +# $RedRiver: backup_config,v 1.9 2009/10/26 19:40:33 andrew Exp $ -FILE=`hostname -s`-`date +%Y-%m-%d` +if [ `id -u` -ne 0 ]; then + echo You should run this as root! >&2 + exit 255 +fi -local _mcfile=`grep '^### .*\.mc' /etc/mail/sendmail.cf | cut -d ' ' -f 2` +FILE=/tmp/`hostname -s`-`date +%Y-%m-%d`.tar.gz +local _maxhomesize=`dc -e '50 1024 * p'` -# /home \ -tar czvf /tmp/${FILE}.tar.gz \ - /root \ +local _list="/root \ /etc \ - /usr/share/sendmail/cf/$_mcfile \ /var/backups \ - /var/www/conf + /var/cron \ + /var/www/conf" + +local _mcfile=`grep '^### .*\.mc' /etc/mail/sendmail.cf | cut -d ' ' -f 2` +if [ X"${_mcfile}" != X"" ]; then + _list="${_list} /usr/share/sendmail/cf/${_mcfile}" +fi + +local _homesize=`du -ks /home/ | awk '{print $1}'` +if [ $_homesize -lt $_maxhomesize ]; then + _list="${_list} /home/" +else + echo Not backing up /home, too large! +fi + +tar czf ${FILE} $_list + +echo backed up $_list to +echo "\t$FILE"