Newer
Older
tconfigfiles / tconfigfiles
@tundra tundra on 13 Feb 2013 1 KB Changed $CFBASE to $CFREPO.
#!/bin/sh
# tconfigfiles - Manage Configuration Files
# Copyright (c) 2007-2013 TundraWare Inc., Des Plaines, IL USA
# All Rights Reserved
# $Id: tconfigfiles,v 1.118 2013/02/13 15:33:42 tundra Exp $

# Where things live

CFREPO=${CFREPO:-$HOME/configfiles}  # The directory that holds everything below
                                     # Can be overridden with $CFREPO env var

ARCHIVES=archives                    # Where archives go
FILES=tree                           # Where tree of individual files lives

ARCHIVEDIR="$CFREPO/$ARCHIVES"
FILEDIR="$CFREPO/$FILES"

# Make sure the container directories exist

mkdir -p $ARCHIVEDIR
mkdir -p $FILEDIR

# The name used to invoke the program tells us what to do

CMD=`basename $0`
case $CMD
in


  "cfarchive")         # Make archival copy of current tree
    timestamp=`date  "+%Y-%m-%d-%H%M%S"`
    cd $CFREPO
    MACHNAME=`hostname -f`
    archdir=$MACHNAME-$FILES-$timestamp
    cp -pvR $FILES $archdir
    tar -czvf $ARCHIVES/$archdir.tar.gz $archdir
    rm -rf $archdir
  ;;


  "cfbku")             # Backup configuration files to tree
    for f in $*
    do
      abspath=`readlink -f $f`
      bkudir=$FILEDIR`dirname $abspath`/
      mkdir -p $bkudir
      cp -pvR $f $bkudir
    done
  ;;


  "cfinstall")         # Install configuration files from tree
    for f in $*
    do
      abspath=`readlink -f $f`
      targetdir=`echo $abspath | sed s?$FILEDIR??`
      cp -pvR $f $targetdir
    done
  ;;


  "tconfigfiles")
    INSTALLDIR=`dirname $0`
    ln -s $0 $INSTALLDIR/cfarchive    
    ln -s $0 $INSTALLDIR/cfbku
    ln -s $0 $INSTALLDIR/cfinstall
  ;;

  *)
    echo "Unknown Command ===>  $CMD"
    exit 1
  ;;


esac