Keresés

Hirdetés

Aktív témák

  • harry

    veterán

    válasz body007 #23010 üzenetére

    Igazából kissé primitív script, még kicsit pofozgatom, de ha kész, szólok :)

    Theoretically, this damn thing oughta work now.

  • harry

    veterán

    válasz body007 #23010 üzenetére

    No, végül is megvan, íme:

    #!/bin/bash

    shut=false
    while [ $shut != true ]
    do
    # echo "Uj kor"
    # sleep 2
    hosts=`sudo nmap 192.168.5.11-254 -sP | awk '$1 ~ /Host/ {++c} END {print c}'`
    conn=`netstat -tn | awk '$6 ~ /ESTABLISHED/ {++c} END {print c}'`

    if [ $conn -lt 1 ] && [ $hosts -lt 1 ]
    then
    shut=true
    fi
    done

    if [ $# -eq 0 ]
    then
    exec $0 shut
    else
    sudo halt
    # echo halt
    fi

    Működésről:
    - sleep: késleltethető, a ciklus miatt van értelme természetesen, másodpercben értendő (most csak 2sec a példában).

    - Megnézi nmap-pel, hogy van-e gép az alhálón, ehhez az sP kapcsoló, ám 'sudo' nélkül a Win-es gépeket nem látta... A kimenet több sor (nmap verzió, host címe, mac cím, stb) és oszlop (host, ip, up, stb). Az 'awk' annyit csinál, hogy megnézi mely sorok kezdődnek 'host' szóval, és megszámolja, hány ilyen van. Vagyis hány gép válaszolt a kérésre.
    Alhálót persze át kell írni.

    - Megnézi van-e 'ESTABLISHED' kapcsolat (pl. ssh, ftp, torrent), a fenti módszerhez hasonlóan.

    - Ha egyik sincs (eredmények száma <1, avagy 0), akkor mehetne is a halt (kikapcs), ellenben én úgy csináltam (nem tudom, van-e értelme), hogy ilyenkor meghívja magát a program egy paraméterrel, melyet lát ha ismét ide jut, és ekkor már kikapcsol.
    Ezt azért terveztem, hogy ha pl. pont akkor ellenőriz a rendszer, amikor újraindítom a gépet (nincs ping válasz), akkor ne kapcsoljon még ki, hanem 1-2 perc múlva nézze meg ismét.

    - Az egész mehet minden napra crontab-ba, adott órában indulással (pl hajnal 00:30, hogy este ne menjen a gép, ha nem kell)

    A scriptet alapvetően magamnak írtam, egyszeri házi felhasználásra, gondolom lehetne szebben is, biztos nem profi, de nekem megteszi, persze ötleteket szívesen veszem :)

    Theoretically, this damn thing oughta work now.

Aktív témák