tools.utils

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

4:c4bc2d77d4be Go to Latest

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

+ Утилита трансляции паролей

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