home *** CD-ROM | disk | FTP | other *** search
/ chilidog.highland.cc.ks.us / chilidog.highland.cc.ks.us.zip / chilidog.highland.cc.ks.us / backup / bradford.20110725.etc.tar.gz / bradford.20110725.etc.tar / etc / cron.daily / suse.de-backup-rc.config < prev    next >
Text File  |  2003-09-01  |  2KB  |  65 lines

  1. #!/bin/sh
  2. #
  3. #
  4. # backup_rc.config.
  5. #
  6. # Copyright (c) 1996-2002 SuSE Linux AG, Nuernberg, Germany.
  7. #
  8. # please send bugfixes or comments to http://www.suse.de/feedback.
  9. #
  10. # paranoia settings
  11. #
  12. umask 022
  13.  
  14. PATH=/sbin:/bin:/usr/sbin:/usr/bin
  15. export PATH
  16.  
  17. #
  18. # get information from /etc/sysconfig
  19. #
  20. if [ -f /etc/sysconfig/backup ] ; then
  21.     . /etc/sysconfig/backup
  22. fi
  23.  
  24. #
  25. # create backups archive of sysconfig files
  26. #
  27. if test -n "$RCCONFIG_BACKUP_DIR" -a -e /etc/sysconfig ; then
  28.     mkdir -p $RCCONFIG_BACKUP_DIR
  29.     OLD_MD5=""
  30.     ETC_RCCONFIG=""
  31.     test -f /etc/rc.config && ETC_RCCONFIG="/etc/rc.config"
  32.     test -e $RCCONFIG_BACKUP_DIR/sysconfig_recent_md5 && \
  33.         OLD_MD5="`cat $RCCONFIG_BACKUP_DIR/sysconfig_recent_md5`"
  34.     NEW_MD5="`find $ETC_RCCONFIG /etc/sysconfig -type f | xargs cat | md5sum`"
  35.     if test "$OLD_MD5" != "$NEW_MD5" ; then
  36.         DATESTRING=`date +"%Y%m%d"`
  37.  
  38.         NEWNAME=$RCCONFIG_BACKUP_DIR/sysconfig-$DATESTRING.tar.gz
  39.         NUMBER=2
  40.         while [ -e $NEWNAME ] ; do
  41.             NEWNAME=$RCCONFIG_BACKUP_DIR/sysconfig-$DATESTRING-$NUMBER.tar.gz
  42.             NUMBER=`expr $NUMBER + 1`
  43.         done
  44.  
  45.         if tar czfp $NEWNAME $ETC_RCCONFIG /etc/sysconfig 2>/dev/null ; then
  46.             echo "$NEW_MD5" > $RCCONFIG_BACKUP_DIR/sysconfig_recent_md5
  47.             test "$MAX_RCCONFIG_BACKUPS" -gt 0 2> /dev/null || MAX_RCCONFIG_BACKUPS=0
  48.             NUMBER=1
  49.             for BACKUPFILE in `ls -1 -t $RCCONFIG_BACKUP_DIR/sysconfig-*` ; do
  50.                 if test "$NUMBER" -gt "$MAX_RCCONFIG_BACKUPS" ; then
  51.                     rm -f $BACKUPFILE
  52.                 fi
  53.                 NUMBER=`expr $NUMBER + 1`
  54.             done
  55.         else
  56.             echo "ERROR!! can not backup sysconfig files"
  57.         echo "to $RCCONFIG_BACKUP_DIR."
  58.             echo "Maybe there is not enough disk space."
  59.             rm -f $NEWNAME
  60.         fi
  61.     fi
  62. fi
  63.  
  64. exit 0
  65.