Anomalie #3819 » backup2.sh
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 |
|