tools.utils

Yohn Y. 2025-05-04 Parent:8b31e171c1a0

5:a75ba21f4938 Go to Latest

tools.utils/kvm/proxmox-s3-push.sh

+ time/seconds

History
1 #!/bin/sh
2 # devel.a0fs.ru -- backup.ncc.vhost:/root/libexec/proxmox-s3-push.sh -- v0.r202312.2
4 export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
6 BACKET="Change-me-please" # Имя бакета на S3
7 STORE_CLASS="COLD" # Тип хранения (см документацию по сервису)
9 operation="$1"
10 # backup-end - Завершение РК, можно отправить файл в s3
11 # log-end - Завершение записи лога, можно отпарвить лог в S3
13 vmid="$3"
15 # Переменные окружения, принимаемые от СРК
16 # TARGET - Имя файла с РК
17 # LOGFILE - Имя файла журнала
20 log () {
21 logger -t proxmox-s3-pusher "$@"
23 }
26 push_s3 () {
27 local fd="$1"
28 local fd_bn="$(basename "$fd")"
30 log "Sending to s3: ${fd_bn} at '$fd'"
32 s3cmd put --storage-class "$STORE_CLASS" "$fd" "s3://${BACKET}/${vmid}/${fd_bn}" 2>&1 | tr -d "\r" | log
34 }
37 # DO
38 log "Got ${operation} on ${vmid}, with arguments: $*"
39 case "$operation" in
40 backup-end )
41 push_s3 "$TARGET"
42 ;;
44 log-end)
45 push_s3 "$LOGFILE"
46 ;;
48 manual-push)
49 vmid="$2"
50 log "Got manual push, vmid is $vmid"
51 push_s3 "$3"
52 ;;
54 * )
55 log "Ignoring it..."
56 ;;
58 esac