blob: 22af5a5c8b2bdcb3c36a4ceadacb47681abaa807 (
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/sh
RBU_CONF=/etc/lbu/rbu.conf
if [ -f "$RBU_CONF" ]; then
. "$RBU_CONF"
else
echo "Cannot read $RBU_CONF"
exit 1
fi
# set the suffix of backup files when ecryptions is enabled
[ -n "$ENCRYPTION" ] && export SUFFIX=".$ENCRYPTION"
# convert hostname to intra FQDN
HOSTNAME=$(hostname)
if [ -n $HOST ]; then
export FQDN="${HOSTNAME}.${HOST}.intra.alpinelinux.org"
else
export FQDN="${HOSTNAME}.intra.alpinelinux.org"
fi
START_TS=$(date +%s)
LOGFILE="$BACKUP_CACHE/$FQDN-$(date -u "+%Y%m%d%H%M%S").log"
lbu_commit >>"$LOGFILE" 2>&1
ret=$?
DURATION=$(($(date +%s)-$START_TS))
SIZE=0
STATUS=failed
if [ $ret = 0 ]; then
[ -n "$ENCRYPTION" ] && SUFFIX=".$ENCRYPTION"
BACKUP="$BACKUP_LOCATION/$(hostname).apkovl.tar.gz${SUFFIX}"
SIZE=$(stat -c %s $BACKUP)
STATUS=success
fi
ssh "$BACKUP_SERVER" mkdir -p $FQDN/logs
scp -q $LOGFILE "$BACKUP_SERVER:$FQDN/logs"
PAYLOAD=$(printf '{ "status": "%s", "size": %u, "duration": %u }' "$STATUS" "$SIZE" "$DURATION")
JSON=$(printf '{ "host": "%s", "key": "backup", "payload": %s }' "$FQDN" "$PAYLOAD")
mosquitto_pub -h msg.alpinelinux.org -t "monitoring/updates" -m "$JSON"
|