Waarschijnlijk wil je ook weten wanneer uw server is running out van de schijfruimte. Een eenvoudige oplossing is om het configureren van een cron job om dagelijks te worden uitgevoerd en u te informeren over Olierijke als er problemen zijn.
Krijg Schijfruimte Met Het df Commando
De opdracht voor het bekijken van schijfruimte op Linux is df -h (voor uitgang in een leesbare indeling):
Deze lijsten elke gemount bestandssysteem, hoe groot de fysieke schijf is, en hoe veel wordt gebruikt.
Om de output te beperken tot een specifiek bestandssysteem (in dit geval, root uitvoeren van df /. Echter, dit geeft de header rij, zodat u kunt filteren die af met grep:
Selecteer vervolgens de vijfde kolom (het percentage) met awk, en verwijder het procent teken met sed. Dit geeft u een opdracht die resulteert in een getal dat aangeeft hoeveel van uw schijf is vol:
df / | grep / | awk ‘{ print $5}’ | sed ‘s/%//g’
In dit geval, zou terugkeren “39”. Als u wilt wijzigen van de schijf met deze opdracht controleert u nodig hebt voor het bewerken van de eerste df verklaring.
Opdracht Configureren Lijn Slap Meldingen
De eenvoudigste manier om Slack meldingen werken met webhooks. Webhooks kunt u een melding verzenden als POST-aanvragen naar een URL zonder te beheren bot gebruikers of OAuth. Kunt u de opmaak van berichten als JSON en POST ze met krullen.
Van Slack ‘ s API portal, het maken van een nieuwe app, selecteer uw werkruimte toe te voegen aan, en geef het een naam. Dit is wat er zal komen wanneer het je berichten, dus kies iets interessant.
Zodra u uw app, het vinden van de “Inkomende Webhooks” tabblad onder “onderdelen Toevoegen en functionaliteit.”
Dit zal u laten maken van een nieuwe webhook, en je hebt om te kiezen via welk kanaal moet plaatsen. U kunt een nieuw kanaal voor bot-meldingen, of voeg het toe aan uw eigen DMs.
Zodra u de URL, kopieer de steekproef verzoek om te controleren of het werkt. Ziet u “Hello World!” in het geselecteerde kanaal. Als dat zo is, Slap is goed om te gaan.
Putting het Allemaal Samen
Om uw server daadwerkelijk melden, kunt u een script maken dat u kunt uitvoeren met een dagelijkse cron-taak. Hier is de shell van het script, minus de kennisgeving de opdracht:
#!/bin/bash
CURRENT=$(df / | grep / | awk ‘{ print $5}’ | sed ‘s/%//g’)
THRESHOLD=90
if [ “$CURRENT” -gt “$DREMPEL” ] ; then
fi
Dit script zet twee variabelen, de HUIDIGE (aan de uitgang van het df commando van boven) en DREMPEL (aan een waarde die u kunt instellen). Vervolgens controleert of de actuele waarde is hoger dan de drempel, en voert een opdracht uit als het is.
U kunt de melding te worden wat je wilt, maar hier is een voorbeeld—niet met inbegrip van de webhook URL, die je moet plakken op het einde (geen extra vlag verplicht):
curl -X POST -H ‘Content-type: application/json’ –gegevens “{“text”:”Uw server `$(hostnaam)` is op dit moment op ${CURRENT}% schijf.”}”
Dit zal een mooi opgemaakt kennisgeving aan uw webhook aangewezen kanaal, inclusief de hostnaam van de server en de huidige schijf capaciteit.
U kunt het plakken van deze opdracht in de instructie van het bovenstaande script, het maken van de hele zaak samen te komen, zoals:
#!/bin/bash
CURRENT=$(df / | grep / | awk ‘{ print $5}’ | sed ‘s/%//g’)
THRESHOLD=90
if [ “$CURRENT” -gt “$DREMPEL” ] ; then
curl -X POST -H ‘Content-type: application/json’ –gegevens “{“text”:”Uw server `$(hostnaam)` is op dit moment op ${CURRENT}% schijf.”}”
fi
Opslaan als diskspace.sh in uw home directory, en zorg ervoor dat het uitvoeren van machtigingen met chmod +x diskpace.sh. Open uw crontab met crontab -e, en voeg de volgende regel toe aan het einde:
0 * * * * ~/diskspace.sh
Dit zal je script ieder uur te controleren of uw schijf is vol. Maar je krijgt alleen een melding als het vol is, zodat je kan testen of het script werkt door het instellen van de DREMPEL onder de huidige schijf gebruik en handmatig.
Voor meer gedetailleerde meldingen, kunt u het script stuurt u de resultaten van het df -h, mooi opgemaakt in een vak code, gewoon door het bijwerken van de krul verklaring:
curl -X POST -H ‘Content-type: application/json’ –gegevens “{“text”:”Uw server `$(hostnaam)` is op dit moment op ${CURRENT}% schijf.n “`$(df -h)“` “}”
Die verschijnen in Slappe als:
Aangezien de opdracht wordt het script uitgevoerd kan worden wat je wilt worden, dan kunt u ook configureren van meldingen via e-mail met een e-mailprogramma zoals Postfix, of elke andere feed ondersteunt webhooks.