Warning

If it is not explicitly told in following recipe, setting up services are described for Ubuntu 20.04 server, but applications are described for Xubuntu 20.04 workstation. If you use different Ubuntu version or Linux distribution, settings as well as content, names and places of configuration files may be different!
Got it.

Munin rezerves kopēšanas spraudnis

Information

Šajā lapā ir aprakstīts, kā izveidot Munin rezerves kopiju veidošanas pārraudzības spraudni.

Ir serveris, kura mapē /home/backup ar rsync veido attālinātas kopijas katrai mītnei attiecīgā apakšmapē (piem., serveris1, serveris2, u.t.t.).

Kopijas tiek atjaunotas reizi diennaktī un Munin skripts pārbauda, kāds ir pēdējā laikā (piem., diennaktī) izmainīto failu apjoms visās mapēs.

Spraudņa sagatavošana uz Munin mezgla

  1. Uz Munin mezgla, kurā tiek veidotas rezerves kopijas, kā root lietotājs mapē /usr/share/munin/plugins izveido failu backup_ ar sekojošu saturu:

    #!/bin/bash
    bakdir="/home/backup"
    logdir="/tmp"
    prefix="backup_size"
    days="1"

    item=$(basename $0 | sed 's/^backup_//g')

    case $1 in
    config)
    echo "graph_title Last backup size for $item"
    echo "graph_info The size of the $item backup for the last $days day."
    echo "graph_args --base 1000 -l 0"
    echo "graph_scale yes"
    echo "graph_category other"
    echo "graph_vlabel size"
    echo "size.label backup size"
    echo "size.warning 1:"
    #   echo "size.critical 4:"
    echo "size.info Size of the last backup."
    exit 0;;
    esac

    cd $logdir
    echo "size.value $(cat ${prefix}_$item 2>/dev/null || echo 0)"

    logfile=$(find ${logdir} -maxdepth 1 -name ${prefix}_$item -type f -mtime -${days} 2>/dev/null)
    if ["$logfile" == ""]; then
    if [! -f ${prefix}_$item.tmp]; then
    touch ${prefix}_$item.tmp
    cmd="find $bakdir/$item -type f -mtime -1 | tr '\n' '\0' > ${prefix}_${item}_list0; \
    du -sck -b --files0-from ${prefix}_${item}_list0 |tail -n1| cut -f1 > ${prefix}_$item.tmp; \
    rm ${prefix}_${item}_list0; \
    mv ${prefix}_$item.tmp ${prefix}_$item;"
    # run backup size asynhronously
    eval "${cmd}" &>/dev/null &disown;
    fi
    fi
    Information

    Ja attiecīgajā mapē nav mainītu failu (vai tā nav atrasta), rezultāts ir 0, un pēc noklusēšanas šī vērtība tiek parādīta kā brīdinājums, bet kritiska kļūda vispār netiek rādīta (rinda ir nokomentēta).

  2. Uzliek failam izpildes tiesības:

    chmod +x backup_
  3. Mapē /etc/munin/plugins izveido simboliskās saites, kuru nosaukuma beigās iekļauj pārbaudāmo apakšmapju saturu, piem.:

    ln -s /usr/share/munin/plugins/backup_ /etc/munin/plugins/backup_server1
    ln -s /usr/share/munin/plugins/backup_ /etc/munin/plugins/backup_server2
    ...
  4. Pārliecinās, ka palaižot skriptu no simboliskās saites, tas atgriež aptuveni sekojošu rindu:

    size.value 1234
  5. Failā /etc/munin/plugin-conf.d/munin-node pievieno rindas:

    [backup_*]
    user root
    timeout 240
  6. Pārstartē Munin mezglu:

    /etc/init.d/munin-node restart

Pārraudzības konfigurēšana uz Munin servera

  1. Failā /etc/munin/munin.conf pievieno rindas:

    ...
    [backup_node]
    backup_server1.size.critical  100000:
    backup_server1.size.critical  0:
    backup_server1.size.warning   0:
    ...
    kur
    • backup_node ir pārraugāmais rezerves kopiju serveris,
    • backup_server1.size.critical  100000: ir izmainīto baitu skaits, zem kura kopija tiks uzskatīta par neizdevušos (iestata vadoties no faktiskā rezerves kopiju apjoma),
    • backup_server1.size.critical  0: trauksmes ziņojums ir atslēgts (jo atgrieztā vērtība nekad nav mazāka par 0)
    • Ja nepieciešams, līdzīgi katrai mapei var izmainīt arī ...warning  vērtību.
  2. Uzgaida 5-10 minūtes, lai pārliecinātos, ka ar jaunizveidotajiem spraudņiem tiek savāktas vērtības.

Kļūdu novēršana

  1. Ja netiek atjaunotas mērījumu vērtības, pārliecinās, ka munin ir rakstīšanas tiesības pagaidu failos. Kā root lietotājs izpilda komanda:

    cd /tmp
    chmod 664 backup*
    chown root:munin backup*

Saites


 
 
Tags Pārraudzība Kopēšana
Created by Valdis Vītoliņš on 2012-07-11 06:39
Last modified by Valdis Vītoliņš on 2025-05-10 17:45
XWiki Powered
Creative Commons Attribution 3.0 Unported License