backup2Archiv2
changeset 1 cd277b242dca
parent 0 71a3a2a6663d
child 4 d23b56d19488
equal deleted inserted replaced
0:71a3a2a6663d 1:cd277b242dca
     2 
     2 
     3 # Author: Heike Yvonne Pesch <pesch@schlittermann.de>
     3 # Author: Heike Yvonne Pesch <pesch@schlittermann.de>
     4 # Company: schlittermann internet & unix support <http://schlittermann.de>
     4 # Company: schlittermann internet & unix support <http://schlittermann.de>
     5 # License: GPLv3 <http://www.gnu.org/licenses/gpl-3.0.html>
     5 # License: GPLv3 <http://www.gnu.org/licenses/gpl-3.0.html>
     6 
     6 
     7 BACKUPDIR="/home/samba/Archiv2"
     7 set -e
     8 LOGFILE="/var/log/backup2Archiv-$(date -I)"
     8 LC_ALL=POSIX
     9 LOGTAG="B2Archiv2"
       
    10 GROUP="Domain Users"
       
    11 
     9 
    12 if [ "$#" == "0" ]; then
    10 BACKUPDIR=/home/samba/Archiv2
    13   echo "USAGE: $0 /path/to/backup"
    11 LOGFILE=/var/log/backup2Archiv-$(date -I)
    14   echo;echo;
    12 LOGTAG=B2Archiv2
    15   echo "NOTICE: It is best to do the backup from the parent dir of path"
    13 GROUP='Domain Users'
    16   echo "        to backup"
    14 
       
    15 if [ $# == 0 ]; then
       
    16   cat <<_
       
    17 Usage: $0 /path/to/backup...
       
    18 _
    17   exit 1
    19   exit 1
    18 fi
    20 fi
    19 
    21 
    20 if [ ! -e $LOGFILE ];then
    22 echo "BACKUP $(date)" >> "$LOGFILE"
    21   touch $LOGFILE
    23 
       
    24 logger -t "$LOGTAG" "STARTING $0 $@"
       
    25 
       
    26 # vielleicht lieber die Variable testen
       
    27 if [ -z "$BACKUPDIR" ]; then
       
    28     logger "$BACKUPDIR variable is empty!"
       
    29     exit 1
    22 fi
    30 fi
    23 echo "BACKUP $(date)" >> $LOGFILE
       
    24 
    31 
    25 logger -t $LOGTAG "STARTING $0 $@"
    32 # FIXME: Quoten!
    26 
    33 
    27 if [ ! -d $BACKUPDIR ]; then
    34 if [ ! -d $BACKUPDIR ]; then
    28   logger "$BACKUPDIR does not exist"
    35   logger "$BACKUPDIR does not exist"
    29   exit 1
    36   exit 1
    30 fi
    37 fi
    31 if [ ! -w $BACKUPDIR ]; then
    38 if [ ! -w $BACKUPDIR ]; then
    32   logger -t $LOGTAG "$BACKUPDIR is not writeable"
    39   logger -t $LOGTAG "$BACKUPDIR is not writeable"
    33   exit 1
    40   exit 1
    34 fi
    41 fi
    35 
    42 
       
    43 umask 077
       
    44 
    36 while (( "$#" )); do
    45 while (( "$#" )); do
    37   if [ ! -e "$1" ]; then
       
    38     logger "$1 does not exist"
       
    39     exit 1
       
    40   fi
       
    41 
    46 
    42   PATH2BACKUP="$1"
    47   PATH2BACKUP="$1"
    43   SUBSTR=`expr match "$PATH2BACKUP" '\/*.*\/'`
    48   # tar wird doch auch feststellen, dass was fehlt
    44   NAME=${PATH2BACKUP:SUBSTR}
    49   #if [ ! -e "$PATH2BACKUP" ]; then
       
    50   #  logger "$1 does not exist"
       
    51   #  exit 1
       
    52   #fi
       
    53 
       
    54   NAME=$(basename "$PATH2BACKUP")
    45   ARCHIV="$BACKUPDIR/$NAME.tar.xz"
    55   ARCHIV="$BACKUPDIR/$NAME.tar.xz"
    46   ACLFILE="$PATH2BACKUP/$NAME.acls.txt"
    56   ACLFILE="$PATH2BACKUP/$NAME.acls"
    47   ATTRFILE="$PATH2BACKUP/$NAME.attr.txt"
    57   ATTRFILE="$PATH2BACKUP/$NAME.attr"
    48 
       
    49   touch $ACLFILE && chmod go-rwx $ACLFILE
       
    50   touch $ATTRFILE && chmod go-rwx $ATTRFILE
       
    51   
       
    52 
    58 
    53   getfacl --recursive \
    59   getfacl --recursive \
    54           --logical \
    60           --logical \
    55           --all-effective \
    61           --all-effective \
    56           $PATH2BACKUP >> $ACLFILE 2>$LOGFILE
    62           $PATH2BACKUP >> $ACLFILE 2>$LOGFILE