Projet

Général

Profil

Anomalie #3819 » backup2.sh

Christian P. Momon, 17/07/2019 18:28

 
1
#! /bin/bash
2

    
3
#sleep $[$RANDOM % 30]m
4

    
5
logger="/var/log/backup.log"
6
borg_bin="/usr/bin/borg"
7
backup_name=`date +%Y-%m-%d`-test
8
backup_dest="backup@backup.chapril.org:/srv/backups/`hostname --fqdn`"
9

    
10
export BORG_RSH="ssh -p 2242 -A"
11

    
12
echo ========================================================================
13
echo "                              New backup"
14
echo ========================================================================
15
date
16
echo ""
17

    
18
echo "== Executing package selection: "
19
date
20
echo ""
21
dpkg --get-selections > /root/package-selections
22

    
23
echo "== Backup pre-hook"
24
date
25
echo ""
26

    
27
for file in /etc/borg/scripts/pre-hooks/*; do
28
	echo "Executing $file...			"
29
	$file
30
done
31

    
32
echo "== Backup launch"
33
date
34
echo ""
35

    
36
$borg_bin create --info --stats $backup_dest::$backup_name / \
37
	--exclude /proc \
38
	--exclude /dev  \
39
	--exclude /sys  \
40
	--exclude /var/lib/libvirt/coon \
41
	--exclude /var/lib/libvirt/maine \
42
	--exclude /var/lib/libvirt/images/  \
43
        --exclude '/srv/backups/*.chapril.org' \
44
					   2>&1
45

    
46
rc=$?
47
if [[ $rc != 0 ]]; then
48
    echo "Error in borg create action. Stopping backup."
49
else
50
    echo "== Backup info"
51
    date
52
    echo ""
53

    
54
    $borg_bin info $backup_dest::$backup_name 2>&1
55

    
56
    echo "== Backup pruning"
57
    date
58
    echo ""
59

    
60
    $borg_bin prune -v --keep-daily=7 --keep-weekly=5 $backup_dest 2>&1
61

    
62
    echo "== Backup post-hook"
63
    date
64
    echo ""
65

    
66
    for file in /etc/borg/scripts/post-hooks/*; do
67
	[[ -f "$file" ]] || continue
68
	    echo "Executing $file...			"
69
	    $file
70
    done
71

    
72
    echo ""
73
    date
74
fi
75
	
76
echo Returned $rc
77
echo ========================================================================
78

    
79
exit $rc
80

    
    (1-1/1)