LDAP scripting

From Hobbynet Admin Wiki
Jump to navigation Jump to search

Inleiding

Omdat de ldap server in sneltreinvaart de bron voor allerlei services aan het worden is, ontstaat er ook een migratie van (veelal perl) scripts op scripting-int naar php scripts op hcc-ldap-lb1-int. Hcc-ldap-lb1-int is net als scripting-int een server met verhoogde security. Er mag dus wel van deze server naar andere servers geconnect worden maar niet andersom. Dit is vergelijkbaar met de situatie op scripting-int. Deze mogelijkheid is essentieel voor de goed werking van sommige scripts.

Type scripts

Er zijn globaal een aantal soorten scripts te onderscheiden:

  • De eigenlijke scripts die een bepaalde taak uitvoeren en vaak naar stdout schrijven. (.php soms geen extensie)
  • De cronjob scripts. Gewoonlijk herkenbaar aan de .sh extensie. Deze scripts bundelen vaak meerdere php scripts tot complet oplossingen.
  • Scripts voor initialiseren en backuppen van de ldap directory nodig zijn (init_ldap, dump_ldap en restore_ldap). Behalve dump_ldap mogen deze script nooit zomaar gedraaid worden; de ldap directory zou vernield worden.

Toepassingen

Soms zijn er een aantal scripts die bij elkaar horen en er voor een bepaalde toepassing zijn, zoals om de mailserver te updaten, dagelijkse bestanden voor Kantoor te maken, dagelijkse bestanden voor het Tripolis mail systeem en niet geheel onbelangrijk, scripts die ldap dagelijks bijwerken met de master data die bij DBF wordt bijgehouden.

Mailserver

De mailserver kreeg tot voorkort 2 bestanden van scripting-int, husers en b3a.txt. De inhoud van beide bestanden kan ook uit ldap gehaald worden. Hiervoor zijn de volgende scripts in gebruik:

  • gen_hobbyabon.php. Dit script maakt een equivalent aan van husers en bevat alleen de betalende Hobbynet abonnees (enige tientallen regels).
  • gen_kaderfunc.php. Dit script is de vervanger van b3a.txt, de lijst van alle kaderfuncties (ongeveer 1200).
  • gen_kaderlist.php. Een hulp bestand met alleen de 7 cijferige lidnummers van alle kaderleden (ruim 700). Deze lijst wordt op de mailserver gebruikt om incidenteel kadermailboxen op te ruimen.
  • gen_mail_exclude_txt.php. Nog een hulp bestand waar in de interessegroepen staan die geen functionele mailadressen nodig hebben. Dit zijn vooral de ig's die geen echte ig zijn zoals de HCC zelf en de RvA en RvT maar wel als zodanig in ldap staan. Ook de cursus presentatoren vallen hieronder.

Deze scripts worden door het script upd_mailserver.sh gebundeld tot een cornjob die elke nacht loopt. Dit script draait de 4 php scripts, doet wat na bewerking, kopieert de output naar mail-dev-int en start upd_all op mail-dev-int. Tenslotte worden nog de relay-domains opgehaald van mail-dev-int (dat bestand is pas up-to-date nadat upd_all op mail-dev-int heeft gelopen) on vervolgens dit gestand naar mai2 te kopiëren.