mirror of
https://0xacab.org/liberate/backupninja.git
synced 2024-11-10 04:42:31 +01:00
78884142e7
The modelines added match the emacs lines already present and also set the filetype to sh (just like the emacs lines).
81 lines
1.9 KiB
Bash
81 lines
1.9 KiB
Bash
# -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*-
|
|
# vim: set filetype=sh sw=3 sts=3 expandtab autoindent:
|
|
#
|
|
# tar handler script for backupninja
|
|
|
|
getconf backupname `hostname --fqdn`
|
|
getconf backupdir /var/backups/`hostname --fqdn`
|
|
getconf compress bzip
|
|
getconf includes "/etc /home /usr/local"
|
|
getconf excludes "/tmp /proc /dev /sys /net /misc /media /srv /selinux"
|
|
|
|
getconf TAR `which tar`
|
|
getconf EXTENSION tar
|
|
getconf DATE `which date`
|
|
getconf DATEFORMAT "%Y.%m.%d-%H%M"
|
|
|
|
# See if vservers are configured
|
|
if [ "$vservers" = "yes" ]
|
|
then
|
|
warning "vservers enabled, but tar does not support it!"
|
|
fi
|
|
|
|
if [ ! -d "$backupdir" ]
|
|
then
|
|
mkdir -p "$backupdir" || fatal "Can not make directory $backupdir"
|
|
fi
|
|
|
|
if [ ! -w "$backupdir" ]
|
|
then
|
|
fatal "Directory $backupdir is not writable"
|
|
fi
|
|
|
|
## DO IT #################################################
|
|
#
|
|
# here we grab a list of the packages installed and removed.
|
|
#
|
|
|
|
case $compress in
|
|
"compress")
|
|
compress_option="-Z"
|
|
EXTENSION="tar.compress"
|
|
;;
|
|
"gzip")
|
|
compress_option="-z"
|
|
EXTENSION="tgz"
|
|
;;
|
|
"bzip")
|
|
compress_option="-j"
|
|
EXTENSION="tar.bz2"
|
|
;;
|
|
"none")
|
|
compress_option=""
|
|
;;
|
|
*)
|
|
warning "Unknown compress filter ($tar_compress)"
|
|
compress_option=""
|
|
EXTENSION="tgz"
|
|
;;
|
|
esac
|
|
|
|
exclude_options=""
|
|
for i in $excludes
|
|
do
|
|
exclude_options="$exclude_options --exclude $i"
|
|
done
|
|
|
|
debug "Running backup: " $TAR -c -p -v $compress_option $exclude_options \
|
|
-f "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`".$EXTENSION" \
|
|
$includes
|
|
|
|
$TAR -c -p -v $compress_option $exclude_options \
|
|
-f "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`".$EXTENSION" \
|
|
$includes \
|
|
> "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`.list \
|
|
2> "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`.err
|
|
|
|
[ $? -ne 0 ] && fatal "Tar backup failed"
|
|
|
|
|
|
|