Multi-Part Backup Scripts

backup.sh

#!/bin/bash
source=/usr/lib
dest=~/test
filespec=usr-lib-split.tar.xz.part.
filesize=1M
threads=2
cwd=$(pwd)

[ ! -d $dest ] && mkdir -p $dest
[ ! -d $dest ] && exit 1

cd $source

tar cv * | xz --stdout --threads=$threads | split -b $filesize - ${dest}/${filespec}

cd $cwd

restore.sh

#!/bin/bash
source=~/test
dest=~/restore
filespec=usr-lib-split.tar.xz.part.
cwd=$(pwd)

[ ! -d $dest ] && mkdir -p dest

cd $dest || exit 1

cat ${source}/${filespec}* | unxz | tar xv

cd $cwd