- pekka
- Medlem ●
- Haparanda
Som bekant är det döden för ex.vis mejlservern i Server 10.3 att få fulla diskar. Det raserar mejldatabasen som måste återskapas.
Finns det något program som kan sms:a mig när serverns lediga diskutrymme understiger ett inställt värde?
Frågan gäller både serverns interna diskar samt Xraid.
Inte riktigt rätt men ja har ett script som skickar ett email när de börjar bli fullt..
#!/bin/bash ADMIN="[email protected]" # set alert level 80% is default ALERT=80 df -H | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' | while read output; do #echo $output usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 ) partition=$(echo $output | awk '{ print $2 }' ) if [ $usep -ge $ALERT ]; then echo "Running out of space \"$partition ($usep%)\" on $(hostname) as on $(date)" | mail -s "Alert: Almost out of disk space $usep" $ADMIN fi done
Jag har använt skriptet, tyvärr var det ett tag sedan och gratis-sms-tjänsten jag använde finns inte kvar. Det kanske går att snoka reda på någon där man får skicka några sms gratis för att "prova på" så att säga, varningen lär väl inte skickas ut så vansinnigt ofta?
Edit: Enligt nördarna på swec så ska http://1rstwap.com/ fungera.
Ja du, det var en bra fråga. I deras "online help" står:
------------------------
1. How do I sign up?
If you have not registered yet, click on the "Sign Up Now For Free!" link below the Login button on the left side of the Main Page.
------------------------
Men inte f-n ser jag någon "sign up now"-knapp.
Ja du, det var en bra fråga. I deras "online help" står:
------------------------
1. How do I sign up?
If you have not registered yet, click on the "Sign Up Now For Free!" link below the Login button on the left side of the Main Page.
------------------------
Men inte f-n ser jag någon "sign up now"-knapp.
Det står på login sidan dock att de inte accepterar nya registreringar sedan 11 september 2006
https://www.1rstwap.com/app/front.php?c=wapworldwide&LangID=en
Kanske vore något för Klickbacks SMS service att stödja... Sheriffen, lyssnar du?
Aha, det borde väl gå att fixa? Kolla med Belak här på forumet - vi kan säkert fixa något.
Nå, det viktigaste är inte att allt är absolut gratis, utan att det funkar. Vi riskerar att bli stående i några timmar om detta krånkar, det kan vara värt någon krona att slippa.
Mejl kan vara en nog så viktig funktion då jag kan lägga in fler flera mejladresser från "beredskapslistan": Tack därmed Johan S. Jag ska be mina kamrater som är mer på djupet kommando-kunniga att lägga in detta i våra servrar och raid:er. Funkar det så kommer det att göra mycket nytta eftersom det synes gå att ställa en "alert level" i procent.
Vi lär inte fylla ex.vis 20 procent av diskytan under tider då vår beredskap/produktion är i lågläge. Däremot kan det gå fort under tider vi har högberedskap, alltså i praktiken produktions/kontorstid.
När jag endå skriver, har det för att det var www.smsteknik.se som vi använde i ett tidigare arbete, 149/månad för bland annat SMTP -> SMS gateway, användes till inte bara varningar om maskiner som var viktiga gick ner det varnades om en del annat med, för att inte tala om en del mindre arbetsrelaterade uppgifter
hur som helst, det var mycket smigt för det låter en arbeta i ro utan att behöva ha ett öga på en övervakningsconsol eller så, utan det kommer en varning om det händer ngt
Som bekant är det döden för ex.vis mejlservern i Server 10.3 att få fulla diskar. Det raserar mejldatabasen som måste återskapas.
Jag kan lova dig att det inte är någon höjdare för 10.4 Server heller, oavsett vilka tjänster du kör på den. Jag har fått skadade partition maps t.ex.
Vore fint med lite inbyggda snygga larmfunktioner. Men jag ska nog testa skriptet ovan...
En ledig dag, lite rastlöshet och surfande på sweclockers resulterade i detta
(entity@thor ~): cat /usr/scripts/sms #!/bin/sh MESSAGE=$1 NUM=$2 PASSW="somerandompassword" CELLN="070123456" TEMPFILE=`mktemp /tmp/tmp.XXXXXXXXXX` MESSAGE2=`echo $MESSAGE | sed -e 's/%/%25/g' -e 's/å/%E5/g' -e 's/ä/%E4/g' -e 's/ö/%F6/g' -e 's/Å/%C5/g' -e 's/Ä/%C4/g' -e 's/Ö/%D6/g' -e 's/+/%2B/g' -e 's/&/%26/g'` wget -O - "http://www.sms.se/action.php?action=login" --post-data "cellphone=${CELLN}&password=${PASSW}&buttonName=x" --keep-session-cookies --save-cookies $TEMPFILE >/dev/null 2>&1 if [ $? -eq 0 ]; then echo "sms: login OK." else echo "sms: login FAILED" rm $TEMPFILE exit fi wget -O - "http://www.sms.se/action.php?action=sendsms&g..." --post-data "tocellphone=${NUM}&text=${MESSAGE2}&remaining=160&thesubmit=x" --load-cookies $TEMPFILE >/dev/null 2>&1 if [ $? -eq 0 ]; then echo "sms: send OK." else echo "sms: send FAILED" rm $TEMPFILE exit fi wget -O - "http://www.sms.se/action.php?action=logout" --load-cookies $TEMPFILE >/dev/null 2>&1 if [ $? -eq 0 ]; then echo "sms: logout OK." else echo "sms: logout FAILED" fi rm $TEMPFILE
uppsnyggat med lite felhantering av denna tråden, http://www.sweclockers.com/forum/showthread.php?s=&threadid=717809 första gången som jag hittat något vettigt på sweclockers Unix forum
Sen för att hålla koll på diskarna la jag till saker som jag ville ha i Johan S's tidigare postade script.
(entity@thor ~): cat /usr/scripts/diskspace #!/bin/sh # set alert level 80% is default if [ "x$1" = "xprint" ]; then PRINT=1 fi ALERT=85 df -h | grep -vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $6 " " $4 }' | while read output; do usep=$(echo $output | awk '{ print $1}' | cut -d'%' -f1 ) partition=$(echo $output | awk '{ print $2 }' ) remaining=$(echo $output | awk '{ print $3 }' ) if [ $usep -ge $ALERT ]; then if [ $PRINT ]; then echo "$(hostname) is low on space, $remaining remaining on $partition" else exit 255 fi fi done
Resulterar i att man kan köra detta kommando med crontab
(entity@thor ~): /usr/scripts/diskspace || /usr/scripts/sms "$(/usr/scripts/diskspace print )" 070123456
för att få en varning, tänkte nu bara bygga till en liten räknare så inte sms tjänsten skickar samma medelande mer än en gång även om kommandot körs varje timme eller så
Så, nu kan man kontrollera om den skall skicka endast gratis SMS, kanske för mindre viktiga varningar, eller om den skall ta och använda de krediter som man kan handla för medelanden som kanske _MÅSTE_ komma fram.
(entity@thor ~): /usr/scripts/sms "test message, with controll" 07012345 sms: max free sms exceeded (entity@thor ~): /usr/scripts/sms "test message, controll disabled" 07012345 nonfree sms: WARNING, free sms control disabled sms: login OK. sms: send (4/2) OK. sms: logout OK.
Och här kommer scriptet i uppdaterad version
(entity@thor ~): cat /usr/scripts/sms #!/bin/sh if [ "x$3" = "xnonfree" ]; then OVERRIDE=1 fi touch ~/.sms-queue || exit MESSAGE=$1 NUM=$2 PASSW="randompass" CELLN="07012345" TEMPFILE=`mktemp /tmp/tmp.XXXXXXXXXX` SMSSENT=`grep $(date "+%Y%m%d") ~/.sms-queue | wc -l | bc` SMSMAX=2 if [ $OVERRIDE ]; then echo "sms: WARNING, free sms control disabled" else if [ $SMSSENT -ge $SMSMAX ]; then echo "sms: max free sms exceeded ($SMSSENT/$SMSMAX)" exit 255 fi fi tail -15 ~/.sms-queue > $TEMPFILE cat $TEMPFILE > ~/.sms-queue echo > $TEMPFILE MESSAGE2=`echo $MESSAGE | sed -e 's/%/%25/g' -e 's/å/%E5/g' -e 's/ä/%E4/g' -e 's/ö/%F6/g' -e 's/Å/%C5/g' -e 's/Ä/%C4/g' -e 's/Ö/%D6/g' -e 's/+/%2B/g' -e 's/&/%26/g'` wget -O - "http://www.sms.se/action.php?action=login" --post-data "cellphone=${CELLN}&password=${PASSW}&buttonName=x" --keep-session-cookies --save-cookies $TEMPFILE >/dev/null 2>&1 if [ $? -eq 0 ]; then echo "sms: login OK." else echo "sms: login FAILED!" rm $TEMPFILE exit fi wget -O - "http://www.sms.se/action.php?action=sendsms&g..." --post-data "tocellphone=${NUM}&text=${MESSAGE2}&remaining=160&thesubmit=x" --load-cookies $TEMPFILE >/dev/null 2>&1 if [ $? -eq 0 ]; then date "+%Y%m%d" >> ~/.sms-queue SMSSENT=`echo "$SMSSENT+1" | bc` echo "sms: send ($SMSSENT/$SMSMAX) OK." else echo "sms: send FAILED!" rm $TEMPFILE exit fi wget -O - "http://www.sms.se/action.php?action=logout" --load-cookies $TEMPFILE >/dev/null 2>&1 if [ $? -eq 0 ]; then echo "sms: logout OK." else echo "sms: logout FAILED!" fi rm $TEMPFILE
Klockren tråd, det här kommer hjälpa många.
ny och uppdaterad version med lite mer funktioner och annat skoj finns att hämta här
Funktioner:
- Funkar för flera användare samtidigt utan att ändra i scriptet, det laddar dynamiskt en conf fil för varje användare
- varnar om man överskrider gratis sms gränsen
- med "nonfree" växeln använder man de markeringar som man kan köpa på sms.se
- kontrollerar att returkoderna från sms.se är ok, för grov felhantering.
- "check" funktion visar hur mycket som man skickat idag.
- varning om medelandet är för långt, då det kan klippas av..
- temp filen är korrekt hanterad, inga statiska filer med racecondition problem..
- säkert något som jag glömt men vad fan..