1 # -*- mode: sh; sh-basic-offset: 3; indent-tabs-mode: nil; -*-
2 # vim: set filetype=sh sw=3 sts=3 expandtab autoindent:
4 # tar handler script for backupninja
7 getconf includes "/etc /home /usr/local"
8 getconf excludes "/tmp /proc /dev /sys /net /misc /media /srv /selinux"
10 getconf TAR `which tar`
12 getconf DATE `which date`
13 getconf DATEFORMAT "%Y.%m.%d-%H%M"
15 # See if vservers are configured
16 if [ "$vservers" = "yes" ]
18 warning "vservers enabled, but tar does not support it!"
21 function make_backup () {
22 getconf backupdir /var/backups/`hostname --fqdn`
23 backupdir=`interpolate "$backupdir"`
24 getconf backupname `hostname --fqdn`
25 backupname=`interpolate "$backupname"`
27 if [ ! -d "$backupdir" ]
29 mkdir -p "$backupdir" || fatal "Can not make directory $backupdir"
32 if [ ! -w "$backupdir" ]
34 fatal "Directory $backupdir is not writable"
37 ## DO IT #################################################
39 # here we grab a list of the packages installed and removed.
45 EXTENSION="tar.compress"
59 warning "Unknown compress filter ($tar_compress)"
68 exclude_options="$exclude_options --exclude $root$i"
74 include_options="$include_options $root$i"
77 debug "Running backup: " $TAR -c -p -v $compress_option $exclude_options \
78 -f "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`".$EXTENSION" \
81 $TAR -c -p -v $compress_option $exclude_options \
82 -f "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`".$EXTENSION" \
84 > "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`.list \
85 2> "$backupdir/$backupname-"`$DATE "+$DATEFORMAT"`.err
87 [ $? -ne 0 ] && fatal "Tar backup failed"
92 run_for_source_hosts make_backup