fixed handling of * in easydialog.
[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/*bin'
26      formItem include '/var/lib/dpkg/status*'
27      formItem include 
28      formItem include 
29      formItem include 
30    displayForm
31
32    [ $? = 1 ] && return;
33    includes=   
34    set -o noglob
35    for i in $REPLY; do
36       [ "$i" != "_empty_" ] && includes="$includes\ninclude = $i"
37    done
38    set +o noglob
39    
40    startForm "rdiff action wizard: excludes" 
41      formItem exclude '/home/*/.gnupg'
42      formItem exclude 
43      formItem exclude 
44    displayForm
45
46    [ $? = 1 ] && return;
47
48    excludes=
49    set -o noglob
50    for i in $REPLY; do
51       [ "$i" != "_empty_" ] && excludes="$excludes\nexclude = $i"
52    done
53    set +o noglob
54       
55    get_next_filename $configdirectory/90.rdiff
56    cat > $next_filename <<EOF
57 [source]
58 type = local
59 keep = $keep
60 EOF
61    echo -e "$includes" >> $next_filename
62    echo -e "$excludes" >> $next_filename
63    cat >> $next_filename <<EOF
64
65 [dest]
66 type = remote
67 directory = $directory
68 host = $host
69 user = $user
70 EOF
71    chmod 000 $next_filename
72 }