CLI/Test remote

pmk

Member
Jul 9, 2020
2
0
21
Hallo,

ist es möglich, über die Shell zu prüfen, ob eine bestehende Remote-Verbindung noch funktioniert?
Ich automatisere gerade mein gesamtes Setup mittels Ansible und hätte sehr gerne einen Test, ob ein konfigurierter Remote-Host mit dem hinterelgten Token/Passwort noch erreichbar ist.

Da ich aktuell die Hosts wild verwerfe und neu baue, ändern sich diese permanent.

Falls es kein Kommando a la
proxmox-backup-server remote test <remotename>
gibt: könnte ich die notwendigen Daten aus einer Config extrahieren und mittels URI die Verbindung testen? Der Token steht findet sich als base64-codierter String in der Datei /etc/proxmox-backup/remote.cfg. Ist es möglich, diesen via API zu prüfen?



Edit: Ist es auch möglich, einen Token einfach zu erneuern, d.h. statt
Code:
proxmox-backup-manager user delete-token <user> <token>
proxmox-backup-manager user generate-token <user> <token>
eher ein Update:
Code:
proxmox-backup-manager user update-token <user> <token> --output-format json

Am besten auch gleich mit einem Parameter --output-format (oder einfach ohne das Result: am Anfang)?
 
Last edited:
Hey,

um zu prüfen ob die Verbindung zu einem Server funktioniert kannst du proxmox-backup-client status --repository <url> verwenden. Der Befehl returned mit nicht 0 sollte keine Verbundung aufgebaut werden können.

Das token update musst du mit den zwei von dir genannten Befehlen durchführen, es gibt keinen update Befehl. Zu JSON, Ansible kann mit JSON umgehen, vielleich schaust du dir mal [1] an.

[1] https://docs.ansible.com/ansible/la...filters.html#selecting-json-data-json-queries
 
Danke, das werde ich heute gleich mal prüfen. Ich hab jetzt zwar auch schon in die API eingelesen und hätte mittels PBSAPIToken die Version geprüft (die liefert entsprechend 200 bzw. 401 zurück), aber die Lösung ist einfacher.

Zum Thema JSON: das Parsen der entsprechenden Daten funktioniert anstandslos, mir geht es eher darum, dass das im stdout ein "Result: " vor den eigentlich Nutzdaten vorangestellt ist. Dass lässt sich einfach ignorieren/übergehen, aber mir wäre ein reines JSON ohne irgendwelche "unnützen Hinweise" lieber.