#!/bin/sh # # system-full.sh v1.6a # TiChou BACKUPDIR="/data/backup" WEEK="`date +%U`" OLDWEEK="`date -d '4 week ago' +%U`" umask 037 # / ARCHIVE="$BACKUPDIR/archives/root-full-week-$WEEK.tar.gz" star -cz artype=exustar -acl -xattr -sparse -link-dirs -xdev -fifo \ -no-statistics -silent errctl="$BACKUPDIR/conf/errctl" \ level=0 tardumps="$BACKUPDIR/conf/tardumps" -wtardumps \ C=/ . > "$ARCHIVE" md5sum "$ARCHIVE" > "$ARCHIVE.md5" chattr +i "$ARCHIVE"{,.md5} OLDARCHIVE="$BACKUPDIR/archives/root-full-week-$OLDWEEK.tar.gz" chattr -i "$OLDARCHIVE"{,.md5} rm -f "$OLDARCHIVE"{,.md5} # /usr ARCHIVE="$BACKUPDIR/archives/usr-full-week-$WEEK.tar.gz" star -cz artype=exustar -acl -xattr -sparse -link-dirs -xdev -fifo \ -no-statistics -silent errctl="$BACKUPDIR/conf/errctl" \ level=0 tardumps="$BACKUPDIR/conf/tardumps" -wtardumps \ -not pat='portage/*' \ pat='{%!local/}src/*' \ C=/usr . > "$ARCHIVE" md5sum "$ARCHIVE" > "$ARCHIVE.md5" chattr +i "$ARCHIVE"{,.md5} OLDARCHIVE="$BACKUPDIR/archives/usr-full-week-$OLDWEEK.tar.gz" chattr -i "$OLDARCHIVE"{,.md5} rm -f "$OLDARCHIVE"{,.md5} # /var ARCHIVE="$BACKUPDIR/archives/var-full-week-$WEEK.tar.gz" star -cz artype=exustar -acl -xattr -sparse -link-dirs -xdev -fifo \ -no-statistics -silent errctl="$BACKUPDIR/conf/errctl" \ level=0 tardumps="$BACKUPDIR/conf/tardumps" -wtardumps \ -not pat='cache/{apache{%!-mm}!samba!edb/dep}/*' \ pat='qmail/{queue!alias}/*/*/*' \ pat='run/*.*' \ pat='spool/qmailscan/{{quarantine/*!working}/*!tmp}/*' \ pat='tmp/*' \ pat='vpopmail/domains/*/*/.maildir/*/*' \ pat='lib/mysql/*' \ C=/var . > "$ARCHIVE" md5sum "$ARCHIVE" > "$ARCHIVE.md5" chattr +i "$ARCHIVE"{,.md5} OLDARCHIVE="$BACKUPDIR/archives/var-full-week-$OLDWEEK.tar.gz" chattr -i "$OLDARCHIVE"{,.md5} rm -f "$OLDARCHIVE"{,.md5} # /opt ARCHIVE="$BACKUPDIR/archives/opt-full-week-$WEEK.tar.gz" star -cz artype=exustar -acl -xattr -sparse -link-dirs -xdev -fifo \ -no-statistics -silent errctl="$BACKUPDIR/conf/errctl" \ level=0 tardumps="$BACKUPDIR/conf/tardumps" -wtardumps \ C=/opt . > "$ARCHIVE" md5sum "$ARCHIVE" > "$ARCHIVE.md5" chattr +i "$ARCHIVE"{,.md5} OLDARCHIVE="$BACKUPDIR/archives/opt-full-week-$OLDWEEK.tar.gz" chattr -i "$OLDARCHIVE"{,.md5} rm -f "$OLDARCHIVE"{,.md5} # /srv ARCHIVE="$BACKUPDIR/archives/srv-full-week-$WEEK.tar.gz" star -cz artype=exustar -acl -xattr -sparse -link-dirs -xdev -fifo \ -no-statistics -silent errctl="$BACKUPDIR/conf/errctl" \ level=0 tardumps="$BACKUPDIR/conf/tardumps" -wtardumps \ -not pat='games{%!/*}' \ pat='named/var/bind/sec/*' \ pat='*/var/run/*.*' \ pat='tmp{%!/*}' \ C=/srv . > "$ARCHIVE" md5sum "$ARCHIVE" > "$ARCHIVE.md5" chattr +i "$ARCHIVE"{,.md5} OLDARCHIVE="$BACKUPDIR/archives/srv-full-week-$OLDWEEK.tar.gz" chattr -i "$OLDARCHIVE"{,.md5} rm -f "$OLDARCHIVE"{,.md5}