blob: cb40c7788d8284262faaf3f83761d9fe73b8b580 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#!/bin/bash
#
# sync a removable volume with system backups.
#
NODE="$1"
MEDIA="/media/usb"
BWLIMIT="2500"
IMAGES="/var/data/crypt/"
RSYNC="nice -n 19 rsync -avH --delete --bwlimit=$BWLIMIT"
if [ ! -z "$NODE" ]; then
# Get full node hostname.
NODE_HOSTNAME="`cat /var/vservers/$NODE/etc/hostname`"
if [ -z "$NODE_HOSTNAME" ]; then
NODE_HOSTNAME="$NODE"
fi
# Sync local encrypted backup.
mkdir -p /$MEDIA/$NODE_HOSTNAME/duplicity
$RSYNC /var/vservers/$NODE/var/backups/duplicity/ /$MEDIA/$NODE_HOSTNAME/duplicity/
# Sync remote backups.
for node in `ls /var/vservers/$NODE/var/backups/remote/`; do
mkdir -p /$MEDIA/$NODE_HOSTNAME/remote/$node
$RSYNC /var/vservers/$NODE/var/backups/remote/$node/ /$MEDIA/$NODE_HOSTNAME/remote/$node/
done
else
# Sync local encrypted backup.
mkdir -p /$MEDIA/$HOSTNAME/duplicity
$RSYNC /var/backups/duplicity/ /$MEDIA/$HOSTNAME/duplicity/
# Sync remote backups.
for node in `ls /var/backups/remote/`; do
mkdir -p /$MEDIA/$HOSTNAME/remote/$node/
$RSYNC /var/backups/remote/$node/ /$MEDIA/$HOSTNAME/remote/$node/
done
# Copy encrypted images.
if [ -d "$IMAGES" ]; then
for image in `find $IMAGES -type f`; do
mkdir -p /$MEDIA/$HOSTNAME/images/`dirname $image`
echo "Copying image to /$MEDIA/$HOSTNAME/images/`dirname $image`"
cp $image /$MEDIA/$HOSTNAME/images/`dirname $image`
done
fi
fi
|