Skip to content
  • Categorieën
  • Recent
  • Tags
  • Populair
  • Gebruikers
  • Groepen
  • Zoeken
Collapse
Brand Logo

Kennisbank

  1. Home
  2. TFH Tech
  3. Documentatie
  4. Systeem & Infra
  5. TFH Server Backup & Cron Dashboard Documentatie

TFH Server Backup & Cron Dashboard Documentatie

Scheduled Pinned Gesloten Verplaatst Systeem & Infra
1 Berichten 1 Plaatsers 10 Weergaven
  • Oudste berichten bovenaan
  • Meest recente berichten bovenaan
  • Meeste stemmen
Aanmelden om te reageren
Dit onderwerp is verwijderd. Alleen gebruikers met beheerrechten op onderwerpniveau kunnen dit inzien.
  • nikitaskliarovN Offline
    nikitaskliarovN Offline
    nikitaskliarov administrators
    wrote on voor het laatst aangepast door
    #1

    TFH Server Backup & Cron Dashboard Documentatie

    Laatst bijgewerkt: 4 februari 2026
    Auteur: Nikita Skliarov


    1. Database Backup naar Amazon S3

    Overzicht

    De database (freighther_nl, ~16 GB) wordt gedumpt met mysqldump, gecomprimeerd met gzip -9 en geüpload naar Amazon S3. Gecomprimeerde backups zijn ongeveer 1,4 GB per stuk.

    Configuratie

    Instelling Waarde
    Script locatie /home/freighther/tfh-backup-database.sh
    S3 bucket tfh-backup-2
    S3 regio eu-north-1 (Stockholm)
    AWS IAM gebruiker tfh-backup-user
    AWS credentials Opgeslagen via aws configure (root)
    Logbestand /home/freighther/backup.log
    Foutenlog /home/freighther/backup_errors.log

    AWS IAM Beleid

    De tfh-backup-user heeft een minimaal inline beleid (tfh-backup-s3-access) met alleen deze rechten op de tfh-backup-2 bucket:

    • s3:PutObject
    • s3:GetObject
    • s3:ListBucket

    Cron Schema

    Schema Omschrijving
    0 9-17/2 * * * Elke 2 uur, 9:00 – 17:00
    0 18,22,2,6 * * * Elke 4 uur, 18:00 – 8:00

    Handmatige Commando's

    # Backup handmatig uitvoeren
    /home/freighther/tfh-backup-database.sh
    
    # Backup log bekijken
    tail -f /home/freighther/backup.log
    
    # Backups in S3 bekijken
    aws s3 ls s3://tfh-backup-2/thefreighthero.nl/
    
    # Backup downloaden vanuit S3
    aws s3 cp s3://tfh-backup-2/thefreighthero.nl/BESTANDSNAAM.tar.gz /tmp/
    
    # Database herstellen vanuit backup
    gunzip < /tmp/BESTANDSNAAM.tar.gz | mysql -u freighther_nl -p freighther_nl
    

    AWS CLI Opnieuw Configureren

    Als de credentials geroteerd moeten worden:

    aws configure
    # Voer nieuwe Access Key ID, Secret Access Key in, regio: eu-north-1, output: json
    

    Nieuwe access key aanmaken: AWS Console → IAM → Users → tfh-backup-user → Security credentials → Create access key


    2. Crontab Guru Dashboard

    Overzicht

    Een zelf-gehost webdashboard voor het monitoren en beheren van cron jobs. Geïnstalleerd via Cronitor CLI. De webinterface op cronitor.io toont logs en jobstatus, maar kan geen jobs verwijderen of bewerken — alleen crontab -e op de server kan jobs aanpassen.

    Service

    Instelling Waarde
    Service naam crontab-guru
    Service bestand /etc/systemd/system/crontab-guru.service
    Poort 9000 (alleen localhost)
    Binary /usr/bin/cronitor
    Telemetrie Uitgeschakeld

    Service Beheren

    # Status controleren
    systemctl status crontab-guru
    
    # Herstarten
    systemctl restart crontab-guru
    
    # Stoppen
    systemctl stop crontab-guru
    
    # Logs bekijken
    journalctl -u crontab-guru -f
    

    Dashboard Openen

    Het dashboard is alleen bereikbaar via SSH tunnel — het is niet toegankelijk via het internet.

    Vanaf je lokale machine (laptop):

    ssh -L 9000:localhost:9000 root@thefreighthero.com
    

    Open daarna in je browser: http://localhost:9000

    Log in met het dashboard gebruikersnaam en wachtwoord.

    Dashboard Wachtwoord Wijzigen

    cronitor configure --dash-username NIEUWE_GEBRUIKERSNAAM --dash-password NIEUW_WACHTWOORD
    systemctl restart crontab-guru
    

    Cronitor.io Cloud Interface

    Het dashboard is ook gekoppeld aan cronitor.io — een online interface waar je logs en jobstatus kunt bekijken. Dit is alleen-lezen: je kunt geen jobs verwijderen of bewerken via de website.

    Voordelen:

    • Meldingen ontvangen als een backup of cron job mislukt
    • Overzicht van alle jobs zonder SSH tunnel nodig

    Wat Cronitor ziet:

    • Job namen, schema's, uitvoertijden, succes/faal status

    Wat Cronitor NIET ziet:

    • Geen database inhoud, geen bestanden, geen wachtwoorden
    • Geen SSH toegang, geen inkomend verkeer (server stuurt alleen data naar Cronitor, niet andersom)

    Inloggen: cronitor.io met je Cronitor account
    Meldingen instellen: Cronitor.io → Alerts → configureer e-mail of Slack

    Beveiliging

    • Dashboard luistert alleen op localhost:9000 — niet bereikbaar vanaf het internet
    • Toegang vereist een SSH tunnel (= SSH inloggegevens nodig)
    • Dashboard login vereist een apart gebruikersnaam/wachtwoord
    • De online Cronitor webinterface is alleen-lezen (logs bekijken, geen jobs bewerken)
    • Cronitor account beveiligen met een sterk wachtwoord en bij voorkeur 2FA

    3. S3 Kosten & Retentiebeleid

    Retentiebeleid

    Er is een S3 lifecycle rule ingesteld die backups automatisch verwijdert na 2 dagen. Hierdoor zijn altijd de backups van vandaag en gisteren beschikbaar, en alles ouder wordt automatisch opgeruimd.

    Lifecycle rule configuratie:

    • Naam: delete-old-backups
    • Scope: Alle objecten in de bucket
    • Actie: Expire current versions of objects
    • Na: 2 dagen

    Kostenberekening (S3 Standard, eu-north-1 Stockholm)

    Onderdeel Prijs
    Opslag $0,023 per GB per maand
    PUT verzoeken (uploads) $0,005 per 1.000 verzoeken
    DELETE verzoeken (verwijdering) Gratis
    Lifecycle expiratie acties Gratis

    Geschatte maandelijkse kosten:

    Onderdeel Berekening Kosten/maand
    Opslag ~9 backups/dag × 2 dagen × 1,5 GB = ~27 GB ~$0,62
    PUT verzoeken ~270 uploads/maand ~$0,001
    Totaal ~$0,62/maand

    De kosten stijgen evenredig als de database groeit. Bij een verdubbeling naar 3 GB per backup worden de kosten ~$1,10/maand.


    4. Overzicht Alle Cron Jobs

    # Database backup: elke 2 uur tijdens kantooruren
    0 9-17/2 * * *    /home/freighther/tfh-backup-database.sh >> /home/freighther/backup.log 2>&1
    
    # Database backup: elke 4 uur buiten kantooruren
    0 18,22,2,6 * * * /home/freighther/tfh-backup-database.sh >> /home/freighther/backup.log 2>&1
    
    # Server health check: dagelijks om 6:00
    0 6 * * *         /usr/local/bin/server-health-check.sh
    
    # Redis herstarten: elk uur
    0 * * * *         systemctl restart redis.service
    

    Cron Jobs Bewerken

    crontab -e          # Cron jobs bewerken
    crontab -l          # Huidige cron jobs bekijken
    

    1 Antwoord Laatste antwoord
    0
    • nikitaskliarovN nikitaskliarov moved this topic from Documentatie on

    • Login

    • Login or register to search.
    • First post
      Last post
    0
    • Categorieën
    • Recent
    • Tags
    • Populair
    • Gebruikers
    • Groepen
    • Zoeken