Commit initial: récupération et tri rapide
This commit is contained in:
commit
a52829f96c
104 changed files with 11892 additions and 0 deletions
73
ovh/soapi-ovh-bascule.php
Normal file
73
ovh/soapi-ovh-bascule.php
Normal file
|
@ -0,0 +1,73 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Script de bascule d'une IP failover entre 2 serveurs OVH
|
||||
*
|
||||
* S'appelle ainsi :
|
||||
* php script.php srv-old srv-cible
|
||||
*
|
||||
* Le fichier .auth-api-ovh.ini permet de stocker les identifiants de connexion
|
||||
* et ressemble à :
|
||||
* login = xxNNNNN-ovh
|
||||
* password = xxxxxxxxxxxxxxx
|
||||
*
|
||||
* FIXME: seul hostnameOvh est nécessaire : faire sauter la conf. et passer
|
||||
* les noms des serveurs en argument.
|
||||
*/
|
||||
|
||||
/* Config */
|
||||
$failoverIp = 'ip.fa.il.ov.er';
|
||||
$listeServeurs = array(
|
||||
'srv1' => array(
|
||||
'hostnameOvh' => 'ns111111.ovh.net',
|
||||
'ip' => '1.1.1.1',
|
||||
),
|
||||
'srv2' => array(
|
||||
'hostnameOvh' => 'ns222222.ovh.net',
|
||||
'ip' => '2.2.2.2',
|
||||
),
|
||||
);
|
||||
|
||||
|
||||
|
||||
if ( ! ($identifiants = parse_ini_file('.auth-api-ovh.ini'))) {
|
||||
echo "ERREUR : Impossible de récupérer les identifiants de connexion à l'API OVH.\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// Vérification des arguments
|
||||
if (empty($argv[1]) or ! in_array($argv[1], array_keys($listeServeurs))) {
|
||||
echo "ERREUR : veuillez spécifier le serveur sur lequel pointe actuellement l'IP failover : " . implode(', ', array_keys($listeServeurs)) . "\n";
|
||||
exit(1);
|
||||
}
|
||||
if (empty($argv[2]) or ! in_array($argv[2], array_keys($listeServeurs))) {
|
||||
echo "ERREUR : veuillez spécifier le serveur vers lequel rediriger l'IP failover : " . implode(', ', array_keys($listeServeurs)) . "\n";
|
||||
exit(1);
|
||||
}
|
||||
$serveurActuel = $argv[1];
|
||||
$serveurDestination = $argv[2];
|
||||
if ($serveurActuel == $serveurDestination) {
|
||||
echo "ERREUR : serveur actuel identique au serveur de destination.\n";
|
||||
exit(1);
|
||||
}
|
||||
|
||||
try {
|
||||
$soap = new SoapClient("https://www.ovh.com/soapi/soapi-re-1.59.wsdl");
|
||||
|
||||
//login
|
||||
$session = $soap->login($identifiants['login'], $identifiants['password'],"fr", false);
|
||||
|
||||
// Changement de pointage de l'IP failover
|
||||
// doc : http://www.ovh.com/soapi/fr/?method=dedicatedFailoverUpdate
|
||||
$soap->dedicatedFailoverUpdate($session, $listeServeurs[$serveurActuel]['hostnameOvh'], $failoverIp, $listeServeurs[$serveurDestination]['ip']);
|
||||
|
||||
//logout
|
||||
$soap->logout($session);
|
||||
|
||||
} catch(SoapFault $fault) {
|
||||
echo $fault;
|
||||
exit(1);
|
||||
}
|
||||
|
||||
// Code de retour Ok
|
||||
exit(0);
|
Loading…
Add table
Add a link
Reference in a new issue