211 lines
5.7 KiB
SQL
211 lines
5.7 KiB
SQL
-- Mise à jour zone DMZ pour les 51 serveurs majoritairement classés
|
|
-- "DMZ" dans le fichier Plan de Patching serveurs 2026.xlsx.
|
|
-- Source : extraction automatique (au moins 50% des feuilles classées DMZ).
|
|
-- Idempotent.
|
|
|
|
\echo '═══ ZONE DMZ ═══'
|
|
|
|
-- 1) Créer la zone DMZ si elle n'existe pas
|
|
INSERT INTO public.zones (name, description, is_dmz)
|
|
SELECT 'DMZ', 'Zone démilitarisée — serveurs en DMZ pour Satellite vpdsiasat1', true
|
|
WHERE NOT EXISTS (
|
|
SELECT 1 FROM public.zones
|
|
WHERE UPPER(name) = 'DMZ' OR is_dmz = true
|
|
);
|
|
|
|
-- Récupérer l'id de la zone DMZ (la 1ère trouvée par is_dmz=true ou name=DMZ)
|
|
\echo '═══ AVANT (zone actuelle des hôtes ciblés) ═══'
|
|
|
|
WITH dmz_zone AS (
|
|
SELECT id FROM public.zones
|
|
WHERE is_dmz = true OR UPPER(name) = 'DMZ'
|
|
ORDER BY id LIMIT 1
|
|
)
|
|
SELECT z.name AS zone_actuelle, COUNT(*) AS nb_hosts
|
|
FROM public.servers s
|
|
LEFT JOIN public.zones z ON s.zone_id = z.id
|
|
WHERE LOWER(s.hostname::text) IN (
|
|
'vipeahbst1',
|
|
'vpaiiaazu1',
|
|
'vpaiiacam2',
|
|
'vpaiiadns1',
|
|
'vpaiiadns2',
|
|
'vpaiiadns3',
|
|
'vpaiiadns4',
|
|
'vpaiiagml1',
|
|
'vpameased1',
|
|
'vpameatra1',
|
|
'vpbipamod1',
|
|
'vpburaaov1',
|
|
'vpburaaov2',
|
|
'vpburaexc1',
|
|
'vpburaexc2',
|
|
'vpburawap1',
|
|
'vpburawap2',
|
|
'vpdsiaclo1',
|
|
'vpdsiagrd1',
|
|
'vpdsiawsus1',
|
|
'vpdsismtp1',
|
|
'vpdsismtp2',
|
|
'vpexpbdech1',
|
|
'vpgeoagps2',
|
|
'vpgmoaprx1',
|
|
'vpintaprx2',
|
|
'vpintaweb2',
|
|
'vpintaweb3',
|
|
'vppataels1',
|
|
'vppatbsip1',
|
|
'vppeaabst1',
|
|
'vppeaabst2',
|
|
'vppeahbst1',
|
|
'vppintaprx1',
|
|
'vppintaweb1',
|
|
'vppintaweb2',
|
|
'vprauahtp2',
|
|
'vpsimaxsr1',
|
|
'vpssiandes1',
|
|
'vpssiapki3',
|
|
'vptrabkme1',
|
|
'vptrabpxp1',
|
|
'vrameased1',
|
|
'vrdsialab1',
|
|
'vrexpbtex1',
|
|
'vrosapsrv1',
|
|
'vrpeahbst1',
|
|
'vrsamaext1',
|
|
'vrtrabkme1',
|
|
'vrvpnaaov1',
|
|
'vrvpnaaov2'
|
|
)
|
|
GROUP BY z.name
|
|
ORDER BY z.name;
|
|
|
|
\echo '═══ UPDATE ═══'
|
|
|
|
UPDATE public.servers
|
|
SET zone_id = (SELECT id FROM public.zones WHERE is_dmz=true OR UPPER(name)='DMZ' ORDER BY id LIMIT 1),
|
|
satellite_url = 'vpdsiasat1.sanef.groupe',
|
|
updated_at = NOW()
|
|
WHERE LOWER(hostname::text) IN (
|
|
'vipeahbst1',
|
|
'vpaiiaazu1',
|
|
'vpaiiacam2',
|
|
'vpaiiadns1',
|
|
'vpaiiadns2',
|
|
'vpaiiadns3',
|
|
'vpaiiadns4',
|
|
'vpaiiagml1',
|
|
'vpameased1',
|
|
'vpameatra1',
|
|
'vpbipamod1',
|
|
'vpburaaov1',
|
|
'vpburaaov2',
|
|
'vpburaexc1',
|
|
'vpburaexc2',
|
|
'vpburawap1',
|
|
'vpburawap2',
|
|
'vpdsiaclo1',
|
|
'vpdsiagrd1',
|
|
'vpdsiawsus1',
|
|
'vpdsismtp1',
|
|
'vpdsismtp2',
|
|
'vpexpbdech1',
|
|
'vpgeoagps2',
|
|
'vpgmoaprx1',
|
|
'vpintaprx2',
|
|
'vpintaweb2',
|
|
'vpintaweb3',
|
|
'vppataels1',
|
|
'vppatbsip1',
|
|
'vppeaabst1',
|
|
'vppeaabst2',
|
|
'vppeahbst1',
|
|
'vppintaprx1',
|
|
'vppintaweb1',
|
|
'vppintaweb2',
|
|
'vprauahtp2',
|
|
'vpsimaxsr1',
|
|
'vpssiandes1',
|
|
'vpssiapki3',
|
|
'vptrabkme1',
|
|
'vptrabpxp1',
|
|
'vrameased1',
|
|
'vrdsialab1',
|
|
'vrexpbtex1',
|
|
'vrosapsrv1',
|
|
'vrpeahbst1',
|
|
'vrsamaext1',
|
|
'vrtrabkme1',
|
|
'vrvpnaaov1',
|
|
'vrvpnaaov2'
|
|
);
|
|
|
|
\echo '═══ APRÈS ═══'
|
|
|
|
SELECT z.name AS zone_apres, COUNT(*) AS nb_hosts
|
|
FROM public.servers s
|
|
LEFT JOIN public.zones z ON s.zone_id = z.id
|
|
WHERE LOWER(s.hostname::text) IN (
|
|
'vipeahbst1',
|
|
'vpaiiaazu1',
|
|
'vpaiiacam2',
|
|
'vpaiiadns1',
|
|
'vpaiiadns2',
|
|
'vpaiiadns3',
|
|
'vpaiiadns4',
|
|
'vpaiiagml1',
|
|
'vpameased1',
|
|
'vpameatra1',
|
|
'vpbipamod1',
|
|
'vpburaaov1',
|
|
'vpburaaov2',
|
|
'vpburaexc1',
|
|
'vpburaexc2',
|
|
'vpburawap1',
|
|
'vpburawap2',
|
|
'vpdsiaclo1',
|
|
'vpdsiagrd1',
|
|
'vpdsiawsus1',
|
|
'vpdsismtp1',
|
|
'vpdsismtp2',
|
|
'vpexpbdech1',
|
|
'vpgeoagps2',
|
|
'vpgmoaprx1',
|
|
'vpintaprx2',
|
|
'vpintaweb2',
|
|
'vpintaweb3',
|
|
'vppataels1',
|
|
'vppatbsip1',
|
|
'vppeaabst1',
|
|
'vppeaabst2',
|
|
'vppeahbst1',
|
|
'vppintaprx1',
|
|
'vppintaweb1',
|
|
'vppintaweb2',
|
|
'vprauahtp2',
|
|
'vpsimaxsr1',
|
|
'vpssiandes1',
|
|
'vpssiapki3',
|
|
'vptrabkme1',
|
|
'vptrabpxp1',
|
|
'vrameased1',
|
|
'vrdsialab1',
|
|
'vrexpbtex1',
|
|
'vrosapsrv1',
|
|
'vrpeahbst1',
|
|
'vrsamaext1',
|
|
'vrtrabkme1',
|
|
'vrvpnaaov1',
|
|
'vrvpnaaov2'
|
|
)
|
|
GROUP BY z.name
|
|
ORDER BY z.name;
|
|
|
|
SELECT 'satellite_url=vpdsiasat1' AS scope, COUNT(*) AS nb
|
|
FROM public.servers
|
|
WHERE satellite_url = 'vpdsiasat1.sanef.groupe'
|
|
UNION ALL
|
|
SELECT 'satellite_url=vpdsiasat2' AS scope, COUNT(*) AS nb
|
|
FROM public.servers
|
|
WHERE satellite_url = 'vpdsiasat2.sanef.groupe';
|