proxmox-backup-manager task list | grep running | wc -l
#!/bin/bash
count=$(proxmox-backup-manager task list | grep running | wc -l);
if [ $count -gt 0 ]; then
echo "tasks running"
else
echo "shutdown possible"
poweroff
fi
Danke, werd ich testen! ...Hi fpausp,
ich habe dazu ein Bash-Skript geschrieben, was alle 10 Sekunden prüft ob keine Tasks mehr im PBS laufen.
Mit folgendem Befehl kannst du die Anzahl an laufenden Tasks abrufen:
Code:proxmox-backup-manager task list | grep running | wc -l
Kleines Beispiel des Skriptes:
Code:#!/bin/bash count=$(proxmox-backup-manager task list | grep running | wc -l); if [ $count -gt 0 ]; then echo "tasks running" else echo "shutdown possible" poweroff fi
Dieses könntest du dann per cron-job alle x Minuten ausführen.
Ebenso kannst du den PBS per WOL und cron-job von PVE aus starten.
Hilft dir das weiter?
#!/bin/bash
if [ "$1" == "backup-start" ]; then
fi
if [ "$1" == "backup-end" ]; then
fi
if [ "$1" == "job-end" ]; then
shutdown pbsserver
fi
exit 0
Hallo und danke für den Input. Über die GUI geht das nicht oder? Welches file meinst du damit?geht auch einfacher per hook sript einfach ans Ende reinschreiben das er den Server runter fahren soll
vzdump: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:1
schedule mon..sat 04:00
enabled 1
mailnotification failure
mailto meine@email.weg
mode stop
quiet 1
script /usr/local/bin/vzdump-hook-script
storage pbs
vmid 100
#!/bin/bash
if [ "$1" == "backup-start" ]; then
etherwake xx:xx:xx:xx:xx #(mac Adresse vom pbs Server)
ping pbsserver -c 60
fi
if [ "$1" == "backup-end" ]; then
fi
if [ "$1" == "job-end" ]; then
ssh root@pbsserver "poweroff < /dev/null &"
fi
exit 0
OK, cool. Werd ich am WoE testen... Danke!Bei mir sieht das so aus in der /etc/pve/jobs.cfg
Code:vzdump: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx:1 schedule mon..sat 04:00 enabled 1 mailnotification failure mailto meine@email.weg mode stop quiet 1 script /usr/local/bin/vzdump-hook-script storage pbs vmid 100
Der Inhalt vom hook script "vzdump-hook-script" ist dann das Script von oben von mir
wenn der PBS nen extra Server ist dann muss das so aussehen z.B.
Code:#!/bin/bash if [ "$1" == "backup-start" ]; then etherwake xx:xx:xx:xx:xx #(mac Adresse vom pbs Server) ping pbsserver -c 60 fi if [ "$1" == "backup-end" ]; then fi if [ "$1" == "job-end" ]; then ssh root@pbsserver "poweroff < /dev/null &" fi exit 0
#!/bin/bash
if [ "$1" == "backup-start" ]; then
fi
if [ "$1" == "backup-end" ]; then
fi
if [ "$1" == "job-end" ]; then
ssh root@192.168.0.10 "poweroff < /dev/null &"
fi
exit 0
GNU nano 5.4 /etc/pve/jobs.cfg
vzdump: backup-11111111-1111
comment regular full backup
schedule 22:15
all 1
enabled 1
mailnotification failure
mailto ich@protonmail.ch
mode stop
node PVE
storage PBS
script /usr/local/bin/vzdump-hook-script
if [ "$1" == "backup-start" ]; then
fi
if [ "$1" == "backup-end" ]; then
fi
quiet 1
backup-start und backup-end sind für einzelne VMs falls du da jeweils vorher oder nachher noch Befehle ausführen lassen möchtestOk, mal sehen ob ich das begriffen habe..
Auf dem PVE Server habe ich ein vzdump-hook-script file erstellt:
nano /usr/local/bin/vzdump-hook-script
Der inhalt des files:
Code:#!/bin/bash if [ "$1" == "backup-start" ]; then fi if [ "$1" == "backup-end" ]; then fi if [ "$1" == "job-end" ]; then ssh root@192.168.0.10 "poweroff < /dev/null &" fi exit 0
Danach habe ich jobs.cfg aangepasst:
nano /etc/pve/jobs.cfg
Inhalt:
Code:GNU nano 5.4 /etc/pve/jobs.cfg vzdump: backup-11111111-1111 comment regular full backup schedule 22:15 all 1 enabled 1 mailnotification failure mailto ich@protonmail.ch mode stop node PVE storage PBS script /usr/local/bin/vzdump-hook-script
Wird das funktionieren?
und noch etwas fürs verständniss:
Was ist der nutzen dieser Einträge im Skript:
Code:if [ "$1" == "backup-start" ]; then fi if [ "$1" == "backup-end" ]; then fi
Wenn ich das richtig verstehe gibt es da gar keine argumente/Aufträge.
if [ "$vmid" == "500" ]; then
echo "rtorrent service will be stopped";
if ssh -qn root@squid sudo service squid status ; then
ssh root@ru -p 22 "systemctl stop squid.service"
else
echo "squid is not running";
fi
ssh root@192.168.x.x -p 22 "umount /home/Daten"
fi
hm sollte eigentlich gehen,
was kommt denn wenn Du es manuell ausführst
also in der Konsole /usr/local/bin/vzdump-hook-script eingibst
root@PVE:~# /usr/local/bin/vzdump-hook-script
-bash: /usr/local/bin/vzdump-hook-script: Permission denied
root@PVE:~# ls -lh /usr/local/bin/vzdump-hook-script
-rw-r--r-- 1 root root 181 Feb 22 09:29 /usr/local/bin/vzdump-hook-script
wie dumm von mir haha..ah xD ja klar du musst ja auch
chmod +x /usr/local/bin/vzdump-hook-script
oder chmod 755 /usr/local/bin/vzdump-hook-script
dann ist es ausführbar
-x macht es nicht mehr ausführbar
INFO: starting new backup job: vzdump --script /usr/local/bin/vzdump-hook-script --storage PBS --all 1 --mailnotification failure --mailto ich@protonmail.ch --node PVE --mode stop
INFO: /usr/local/bin/vzdump-hook-script: line 4: syntax error near unexpected token `fi'
INFO: /usr/local/bin/vzdump-hook-script: line 4: `fi'
INFO: /usr/local/bin/vzdump-hook-script: line 4: syntax error near unexpected token `fi'
INFO: /usr/local/bin/vzdump-hook-script: line 4: `fi'
TASK ERROR: command '/usr/local/bin/vzdump-hook-script job-abort' failed: exit code 2
if
ein argument braucht. Sonst gibt's einen fehler und es bricht ab. Darum muss/usr/local/bin/vzdump-hook-script
so aussehen:#!/bin/bash
if [ "$1" == "job-end" ]; then
ssh root@192.168.0.10 "poweroff < /dev/null &"
fi
exit 0
ssh root@192.168.0.10 "poweroff < /dev/null &"
< /dev/null &"
nano /usr/local/bin/vzdump-hook-script
#!/bin/bash
if [ "$1" == "job-end" ]; then
ssh root@IP-ADRESSE-DES-PBS "poweroff < /dev/null &"
fi
exit 0
if [ "$1" == "backup-start" ]; then
etherwake xx:xx:xx:xx:xx #(mac Adresse vom pbs Server)
ping pbsserver -c 60
fi
if [ "$1" == "backup-end" ]; then
fi
chmod +x /usr/local/bin/vzdump-hook-script
jobs.cfg
Datei angepasst werden.nano /etc/pve/jobs.cfg
script /usr/local/bin/vzdump-hook-script
vzdump
hat volgende grundsätzliche Voraussetzungen (vor dem "job-start" Hook):TASK ERROR: could not activate storage 'pbs-test': storage 'pbs-test' is disabled
"TASK ERROR: could not activate storage 'pbs-test': pbs-test: error fetching datastores - 500 Can't connect to pbs-test.lan:8007 (No route to host)
"vzdump 100 --mailnotification always --mode snapshot --prune-backups 'keep-last=7' --storage pbs-test --all 0 --script /root/bin/backup/vzdump-hook-script --node pve
#!/bin/bash
if [ "$1" == "job-start" ]; then
etherwake XX:YY:ZZ:XX:YY:ZZ
ping -W 20 -c 1 pbs-test.lan
/usr/sbin/pvesm set pbs-test -disable false
fi
exit 0