26 lines
879 B
Bash
Executable File
26 lines
879 B
Bash
Executable File
#!/bin/bash
|
|
# Backup /mnt/misc/alvis and /mnt/misc/liza to /mnt/backups/users/
|
|
# Runs every 3 days via root crontab.
|
|
# Notifies Zabbix (item users.backup.ts, id 70379 on AgapHost) after success.
|
|
|
|
set -euo pipefail
|
|
|
|
DEST=/mnt/backups/users
|
|
|
|
mkdir -p "$DEST/alvis" "$DEST/liza"
|
|
|
|
rsync -a --delete /mnt/misc/alvis/ "$DEST/alvis/"
|
|
rsync -a --delete /mnt/misc/liza/ "$DEST/liza/"
|
|
|
|
echo "$(date): Backup complete."
|
|
|
|
# Notify Zabbix (token stored in /root/.zabbix_token)
|
|
if [[ -f /root/.zabbix_token ]]; then
|
|
ZABBIX_TOKEN=$(cat /root/.zabbix_token)
|
|
curl -s -X POST http://localhost:81/api_jsonrpc.php \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer $ZABBIX_TOKEN" \
|
|
-d "{\"jsonrpc\":\"2.0\",\"method\":\"history.push\",\"id\":1,\"params\":{\"itemid\":\"70379\",\"value\":\"$(date '+%Y-%m-%d %H:%M')\"}}" > /dev/null \
|
|
&& echo "Zabbix notified."
|
|
fi
|