Samba Backup
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