created ninjahelper
[matthijs/upstream/backupninja.git] / handlers / rdiff.helper
1
2 rdiff_wizard() {
3    require_packages rdiff-backup
4    startForm "rdiff action wizard"
5      formItem "keep" "60D"
6      formItem "dest_directory" "/backups/mybackup"
7      formItem "dest_host" "backuphost"
8      formItem "dest_user" "backupuser"
9    displayForm
10
11    [ $? = 1 ] && return;
12        
13    set -- $REPLY
14         keep=$1
15         directory=$2
16         host=$3
17         user=$4
18         
19    startForm "rdiff action wizard: includes"
20      formItem include /var/spool/cron/crontabs
21      formItem include /var/backups
22      formItem include /etc
23      formItem include /root
24      formItem include /home
25      formItem include /usr/local/__star__bin
26      formItem include /var/lib/dpkg/status__star__
27      formItem include 
28      formItem include 
29      formItem include 
30    displayForm
31
32    [ $? = 1 ] && return;
33
34    includes=   
35    for i in $REPLY; do
36       [ "$i" != "_empty_" ] && includes="$includes\ninclude = $i"
37    done
38    
39    startForm "rdiff action wizard: excludes" 
40      formItem exclude /home/__star__/.gnupg
41      formItem exclude 
42      formItem exclude 
43    displayForm
44
45    [ $? = 1 ] && return;
46
47    excludes=
48    for i in $REPLY; do
49       [ "$i" != "_empty_" ] && excludes="$excludes\nexclude = $i"
50    done
51    
52    get_next_filename $configdirectory/90.rdiff
53    cat > $next_filename <<EOF
54 [source]
55 type = local
56 keep = $keep
57 EOF
58    echo -e $includes >> $next_filename
59    echo -e $excludes >> $next_filename
60    cat >> $next_filename <<EOF
61
62 [dest]
63 type = remote
64 directory = $directory
65 host = $host
66 user = $user
67 EOF
68    chmod 000 $next_filename
69 }