SFTP server
Doel
De sftp server is bedacht om gegevens in flat file format (CSV) naar kantoor en van/naar Tripolis te brengen.
Opbouw
Dit is een standaard server met als extra de MySecureShell erop voor sftp. Er hoeven geen andere (s)ftp servers geïnstalleerd te worden. Deze server is zoveel mogelijk stand alone; authenticatie gaat tegen ldap en er is een mogelijkheid tot scp/ssh vanaf de ldap servers.
Gebruikers
Er is een beperkt aantal lokale accounts: de 3 beheerders (auth. tegen passwd), hcc-kantoor en tripolis (auth. tegen ldap). Er gaan alleen bestanden naar hcc-kantoor. Tripolis haalt en brengt bestanden.
Timing
Er zijn geen cronjobs op sftp. Alle transfers worden door de ldap (ldap-lb1-int) geïnitieerd. Hierbij is de timing met tripolis van belang. de volgende CRON jobs op ldap-lb1-int zijn van belang voor Tripolis:
# Haal de opt-outs op van Tripolis 15 3 * * * /usr/local/hobbynet/bin/run_tripolis_import.sh >/var/log/run_tripolis_import.log # Maak overzicht van alle opt-ins voor Tripolis 50 3 * * * /usr/local/hobbynet/bin/run_tripolis_export.sh >/var/log/run_tripolis_export.log
De tripolis import haalt het unsubscribers bestand op dat om deze tijd zeker geplaatst is door een Tripolis job. Dit bestand bevan de bulletin uitschrijvingen die alleen bij Tripolis bekend zijn. Dit zijn de optouts via de link onder aan het bulletin. Deze optouts worden direct verwerkt zodat de tripolis export job deze mutaties reeds bevat. Dit bestand wordt op een zodanig tijdstip opggehaald dat ervan uitgegaan kan worden dat het (grote) bestand klaar staat. Er worden ook een aantal bestanden geplaatst voor kantoor. De timing is niet van belang (behalve dat ze pas na de tripolis import lopen zodat alle mutaties verwerkt zijn); Ze worden in kantoortijd opgehaald.
# Maak en plaats de ledenlijst voor Kantoor 35 3 * * * /usr/local/hobbynet/bin/upload_leden_csv.sh >/dev/null # Maak en plaats de kaderlijst voor Kantoor 40 3 * * * /usr/local/hobbynet/bin/upload_kader_csv.sh >/dev/null # Haal de aantallen bezoekers, en zet die over naar de beschermde kantoor omgeving 47 3 * * * /usr/local/hobbynet/bin/upload_bezoekersstatistiek.sh >/dev/null
Layout en Bestanden
hcc-kantoor heeft slechts een homedir waar de dagelijkse bestanden geplaatst worden. Snapshot:
root@sftp:/home/hcc-kantoor# ls -l total 7756 -rw-r----- 1 hcc-kantoor hcc-kantoor 194943 Jul 31 03:40 kaderlijst.csv -rw-r----- 1 hcc-kantoor hcc-kantoor 7682 Jul 31 03:50 ldap_cor_export.csv -rw-r----- 1 hcc-kantoor hcc-kantoor 7737094 Jul 31 03:35 ledenlijst.csv
Tripolis heeft twee subdirectories:
root@sftp:/home/tripolis# ls -lR .: total 8 drwxr-xr-x 2 tripolis tripolis 4096 Jul 31 03:15 exports drwxr-xr-x 2 tripolis tripolis 4096 Jul 31 03:50 optouts ./exports: total 44448 -rw-r----- 1 tripolis tripolis 41968758 Jul 30 03:50 ldap_bul_export.csv -rw-r----- 1 tripolis tripolis 120350 Jul 30 03:50 ldap_kader_export.csv -rw-r----- 1 tripolis tripolis 879 Jul 30 03:50 ldap_ledenraad_export.csv -rw-r----- 1 tripolis tripolis 3405387 Jul 30 03:50 ldap_niet_leden_export.csv -rw-r----- 1 tripolis tripolis 3153 Jul 31 00:50 unsubscribers_hcc.csv ./optouts: total 44436 -rw-r----- 1 tripolis tripolis 61 Jul 19 12:34 ftptestfile.txt -rw-r----- 1 tripolis tripolis 41963425 Jul 31 03:50 ldap_bul_export.csv -rw-r----- 1 tripolis tripolis 120340 Jul 31 03:50 ldap_kader_export.csv -rw-r----- 1 tripolis tripolis 879 Jul 31 03:50 ldap_ledenraad_export.csv -rw-r----- 1 tripolis tripolis 3405387 Jul 31 03:50 ldap_niet_leden_export.csv
De bestanden in de optouts subdirectory zijn de actuele bestanden; die van de vorige dag worden nog in exports gezet voor als zich een Tripolis storing zou voordoen. In de exports directory staat ook het actuele unsubscribers bestand. Dit bestand wordt al om 00:50 geplaatst.
Firewall
In de firewall zal toegang voor Tripolis geregeld moeten worden. Het ons bekende adres vanwaar contact gezocht wordt is 80.69.72.91. Toegang vanuit Kantoor is niet geregeld in de FW.
Zie ook:
De wiki pagina's over de LDAP scripting.