Samba Backup

Aus xinux.net
Zur Navigation springen Zur Suche springen

Ads Backup

  • /usr/local/sbin/samba-backup
#!/bin/bash
TIME=$(date +%Y-%m-%d-%H-%M)
ETC=/etc/samba
PRIVATE=/var/lib/samba/private
SYSVOL=/var/lib/samba/sysvol
BACKUP=/backup/samba
test -d $BACKUP || mkdir -p $BACKUP
PROG=$(basename $0)
CO="$(ls -rt $BACKUP | tail -1 | cut -f 2 -d -)"
CO=$(($CO+1))
case $1 in
save)
echo "$0 save"
service samba-ad-dc stop
sleep 2
test -d $BACKUP || mkdir -p $BACKUP
tar --acl -czf $BACKUP/samba-$CO-etc-$TIME.tgz $ETC
tar --acl -czf $BACKUP/samba-$CO-private-$TIME.tgz $PRIVATE
tar --acl -czf $BACKUP/samba-$CO-sysvol-$TIME.tgz $SYSVOL
service samba-ad-dc start
;;
restore)
echo "$0 restore" 
service samba-ad-dc stop
sleep 2
CO=$2
test -f $BACKUP/samba-$CO-etc-*.tgz       ||  { echo "$BACKUP/samba-$CO-etc.tgz not available" ; exit 1 ; }
test -f $BACKUP/samba-$CO-private-*.tgz   ||  { echo "$BACKUP/samba-$CO-private.tgz not available" ; exit 1  ;}
test -f $BACKUP/samba-$CO-sysvol-*.tgz    ||  { echo "$BACKUP/samba-$CO-sysvol.tgz not available" ; exit 1  ; }
rm -r $ETC $PRIVATE $SYSVOL 2> /dev/null
tar --acl -C / -xzf $BACKUP/samba-$CO-etc-*.tgz
tar --acl -C / -xzf $BACKUP/samba-$CO-private-*.tgz
tar --acl -C / -xzf $BACKUP/samba-$CO-sysvol-*.tgz
service samba-ad-dc start
;;
list)
echo "$0 list"
ls  /backup/samba/samba-?-etc* | cut -d  - -f 2,4-8 | cut -c 1-18
;;
*)
echo "USAGE $0 save|list|restore NUM"
;;
esac


Ads Backup simple

  • /usr/local/sbin/samba-backup
TIME=$(date +%Y-%m-%d-%H-%M)
ETC=/etc/samba
SAMBADAT=/var/lib/samba
BACKUP=/backup/samba
test -d $BACKUP || mkdir -p $BACKUP
PROG=$(basename $0)
CO="$(ls -rt $BACKUP | tail -1 | cut -f 2 -d -)"
CO=$(($CO+1))
case $1 in
save)
echo "$0 save"
service samba-ad-dc stop
sleep 2
tar --acl -czf $BACKUP/samba-$CO-etc-$TIME.tgz $ETC
tar --acl -czf $BACKUP/samba-$CO-dat-$TIME.tgz $SAMBADAT
service samba-ad-dc start
;;
restore)
echo "$0 restore" 
service samba-ad-dc stop
sleep 2
CO=$2
test -f $BACKUP/samba-$CO-etc-*.tgz       ||  { echo "$BACKUP/samba-$CO-etc.tgz not available" ; exit 1 ; }
test -f $BACKUP/samba-$CO-dat-*.tgz   ||  { echo "$BACKUP/samba-$CO-dat.tgz not available" ; exit 1  ;}
rm -r $ETC $SAMBADAT 2> /dev/null
tar --acl -C / -xzf $BACKUP/samba-$CO-etc-*.tgz
tar --acl -C / -xzf $BACKUP/samba-$CO-dat-*.tgz
service samba-ad-dc start
;;
list)
echo "$0 list"
ls  /backup/samba/samba-?-etc* | cut -d  - -f 2,4-8 | cut -c 1-18
;;
*)
echo "USAGE $0 save|list|restore NUM"
;;
esac

Links