SFTP server

From Hobbynet Admin Wiki
Revision as of 12:47, 31 July 2018 by Egbert (talk | contribs) (→‎Timing)
Jump to navigation Jump to search

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.