slogan3

description

Met deze prompt kan ik een op maat gemaakt script krijgen dat mijn specifieke serverbeheer taken automatiseert, wat tijd bespaart en fouten vermindert. De duidelijke uitleg helpt me het script beter te begrijpen en aan te passen, wat beter is dan standaard scripts die niet op mijn situatie zijn afgestemd.

prompt

Help me een Bash- of PowerShell-script te schrijven om de volgende serverbeheer taak te automatiseren: <beschrijf de taak die je wilt automatiseren>. Geef ...

try_prompt

generate_helper
disclaimerOnPageApi

ai_answers

provider: openai
model: gpt-4.1-nano
Natuurlijk! Hier is een eenvoudig Bash-script dat de schijfruimte controleert en een e-mail stuurt als de beschikbare ruimte onder een bepaald drempelniveau zakt. Ik zal elke stap uitleggen en aangeven hoe je het kunt aanpassen. --- ### Bash-script: Controleer schijfruimte en stuur waarschuwing ```bash #!/bin/bash # Instellingen # Pas deze variabelen aan naar je wensen THRESHOLD=10 # Minimum vrije ruimte in procenten (bijvoorbeeld 10%) EMAIL="jouw@voorbeeld.com" # Ontvanger van de waarschuwing HOSTNAME=$(hostname) # Naam van de server # Stap 1: Controleer de schijfruimte # Gebruik 'df' om de informatie over schijfruimte te krijgen. # '-h' voor menselijke leesbaarheid, '--output' om kolommen te specificeren. # We filteren alleen de hoofdpartitie (bijvoorbeeld /) DISK_USAGE=$(df --output=pcent / | tail -1 | tr -dc '0-9') # Stap 2: Vergelijk de vrije ruimte met de drempel if [ "$DISK_USAGE" -ge $((100 - THRESHOLD)) ]; then # Stap 3: Stel de waarschuwing samen MESSAGE="Waarschuwing: De schijfruimte op $HOSTNAME is laag. Gebruik $DISK_USAGE% van de schijf." # Stap 4: Verstuur de e-mail echo "$MESSAGE" | mail -s "Schijfruimte waarschuwing op $HOSTNAME" "$EMAIL" fi ``` --- ### Uitleg van elke stap: 1. **Instellingen aanpassen:** - `THRESHOLD` is het percentage vrije ruimte dat je als kritische grens beschouwt. Bijvoorbeeld, 10 betekent dat er nog 10% vrije ruimte over moet zijn. - `EMAIL` is het adres waar je de waarschuwing naartoe wilt sturen. - `HOSTNAME` haalt de naam van de server op voor de berichtgeving. 2. **Controleer de schijfruimte:** - `df --output=pcent /` toont het percentage gebruikte ruimte van de root-partitie. - `tail -1` pakt de laatste regel (de numerieke waarde). - `tr -dc '0-9'` verwijdert alle niet-numerieke tekens, zodat je alleen een getal overhoudt. 3. **Vergelijking:** - Het script controleert of de gebruikte ruimte gelijk of groter is dan `100 - THRESHOLD`. - Bijvoorbeeld, als `THRESHOLD=10`, dan wordt er een waarschuwing gestuurd wanneer de gebruikte ruimte 90% of meer is. 4. **E-mail sturen:** - `echo "$MESSAGE"` creëert het bericht. - `mail -s` verstuurt een e-mail met het onderwerp en bericht. - Zorg dat `mailutils` geïnstalleerd is (`sudo apt install mailutils` op Debian/Ubuntu). --- ### Hoe je het script kunt aanpassen: - **Drempel aanpassen:** Verander de waarde van `THRESHOLD`. Bijvoorbeeld, voor 5% vrije ruimte: `THRESHOLD=5`. - **Andere partities controleren:** Vervang `/` door bijvoorbeeld `/home` of een andere mount point. - **E-mail instellingen:** Zorg dat je e-mailconfiguratie correct is ingesteld op je Linux-systeem. - **Automatisering:** Maak het script uitvoerbaar (`chmod +x scriptnaam.sh`) en voeg het toe aan `cron` voor automatische periodieke controle. --- ### Cron voorbeeld: Maak een cron-job die elk uur draait: ```bash 0 * * * * /pad/naar/je/script.sh ``` Voeg dit toe via `crontab -e`. --- Heeft u nog verdere vragen of hulp nodig bij het aanpassen?
provider: deepseek
model: deepseek-chat
Zeker! Hier is een Bash-script voor Linux dat schijfruimte controleert en waarschuwingen verstuurt via e-mail. ```bash #!/bin/bash # Schijfruimte Monitor Script # Aangepast voor Linux servers met mailutils en cron # Configuratie variabelen - PAS DIT AAN VOOR JOUW OMGEVING WARNING_THRESHOLD=80 # Waarschuwing bij 80% gebruik CRITICAL_THRESHOLD=90 # Kritiek bij 90% gebruik EMAIL_RECIPIENT="beheerder@jouwdomein.nl" # Ontvanger van waarschuwingen MOUNT_POINTS="/ /home /var" # Te controleren mount points # E-mail onderwerp instellen HOSTNAME=$(hostname) SUBJECT="Schijfruimte Waarschuwing - $HOSTNAME" # Schijfruimte controleren check_disk_space() { local message="" local alert_triggered=false # Loop door alle mount points for mount in $MOUNT_POINTS; do # Schijfgebruik percentage ophalen usage=$(df -h "$mount" 2>/dev/null | awk 'NR==2 {print $5}' | sed 's/%//') # Controleren of mount point bestaat if [ -z "$usage" ]; then continue fi # Waarschuwingen genereren if [ "$usage" -ge "$CRITICAL_THRESHOLD" ]; then message+="❌ KRITIEK: $mount is ${usage}% vol\n" alert_triggered=true elif [ "$usage" -ge "$WARNING_THRESHOLD" ]; then message+="⚠️ WAARSCHUWING: $mount is ${usage}% vol\n" alert_triggered=true fi done # E-mail versturen als er waarschuwingen zijn if [ "$alert_triggered" = true ]; then echo -e "$message" | mail -s "$SUBJECT" "$EMAIL_RECIPIENT" echo "Waarschuwing verstuurd: $(date)" else echo "Schijfruimte OK: $(date)" fi } # Uitvoeren van de controle check_disk_space ``` ## 📋 Stap-voor-stap uitleg: ### 1. **Script header** ```bash #!/bin/bash ``` - Zorgt dat het script wordt uitgevoerd met Bash ### 2. **Configuratie variabelen** ```bash WARNING_THRESHOLD=80 CRITICAL_THRESHOLD=90 EMAIL_RECIPIENT="beheerder@jouwdomein.nl" MOUNT_POINTS="/ /home /var" ``` - **Aanpassen voor jouw omgeving**: Pas de waarden aan naar jouw voorkeuren ### 3. **Schijfruimte controle functie** ```bash usage=$(df -h "$mount" | awk 'NR==2 {print $5}' | sed 's/%//') ``` - `df -h` toont schijfruimte in leesbaar formaat - `awk` filtert het gebruik percentage - `sed` verwijdert het %-teken ### 4. **Waarschuwingslogica** ```bash if [ "$usage" -ge "$CRITICAL_THRESHOLD" ]; then ``` - Vergelijkt huidig gebruik met drempelwaarden ### 5. **E-mail notificatie** ```bash echo -e "$message" | mail -s "$SUBJECT" "$EMAIL_RECIPIENT" ``` - Verstuurt e-mail via `mailutils` ## 🔧 Installatie en configuratie: ### 1. **Mailutils installeren** ```bash sudo apt update sudo apt install mailutils ``` ### 2. **Script opslaan** ```bash sudo nano /usr/local/bin/disk_monitor.sh sudo chmod +x /usr/local/bin/disk_monitor.sh ``` ### 3. **Cron job toevoegen** ```bash sudo crontab -e ``` Voeg deze regel toe (controleert elk uur): ```bash 0 * * * * /usr/local/bin/disk_monitor.sh ``` ### 4. **Test het script** ```bash /usr/local/bin/disk_monitor.sh ``` ## 🛠️ Aanpassingen voor jouw omgeving: 1. **E-mail ontvanger**: Wijzig `EMAIL_RECIPIENT` 2. **Drempelwaarden**: Pas `WARNING_THRESHOLD` en `CRITICAL_THRESHOLD` aan 3. **Te controleren schijven**: Voeg mount points toe aan `MOUNT_POINTS` 4. **Mailconfiguratie**: Configureer `/etc/postfix/main.cf` voor e-mail ## 📧 E-mail configuratie (optioneel): Als e-mail niet werkt, configureer dan Postfix: ```bash sudo dpkg-reconfigure postfix ``` Kies "Internet Site" en vul je domeinnaam in. Het script werkt volledig autonoom en verstuurt alleen e-mails wanneer schijfruimte onder de kritieke of waarschuwingsniveaus komt!