The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Bacula - покажите свои конфиги."
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Резервное копирование / Linux)
Изначальное сообщение [ Отслеживать ]

"Bacula - покажите свои конфиги."  +/
Сообщение от alterpub email(??) on 10-Дек-10, 16:13 
Хотелось бы попросить сообщество показать конфиги своих Bacul, очень интересно глянуть у кого и как настроено + на основании ваших конфигов хочется состряпать свой.

Не поленитесь cat'нуть bacula-dir.conf, вам дело пары секунд.

Заранее хочу выразить огромную благодарность всем откликнувшивмся.

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Bacula - покажите свои конфиги."  +/
Сообщение от McLeod095 (ok) on 10-Дек-10, 16:20 
> Хотелось бы попросить сообщество показать конфиги своих Bacul, очень интересно глянуть
> у кого и как настроено + на основании ваших конфигов хочется
> состряпать свой.
> Не поленитесь cat'нуть bacula-dir.conf, вам дело пары секунд.
> Заранее хочу выразить огромную благодарность всем откликнувшивмся.

И что Вы например хотите увидеть или понять в моем bacula-dir.conf. У меня в этом файле кроме как основных вещей ничего нет. А все остальное описано в таком количестве файлов, что самому становится страшно.

Если решили просто тему поднять от нечего делать, то наверное лучше сразу ее удалить. Если лень читать мануал, а по бакуле он написан так что и ребенок разберется, то конфиги Вам мало чем помогут. Если есть конкретный вопрос то может стоит именно его и задать?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Bacula - покажите свои конфиги."  +/
Сообщение от serdgik8 (ok) on 10-Дек-10, 22:53 
>[оверквотинг удален]
>> состряпать свой.
>> Не поленитесь cat'нуть bacula-dir.conf, вам дело пары секунд.
>> Заранее хочу выразить огромную благодарность всем откликнувшивмся.
> И что Вы например хотите увидеть или понять в моем bacula-dir.conf. У
> меня в этом файле кроме как основных вещей ничего нет. А
> все остальное описано в таком количестве файлов, что самому становится страшно.
> Если решили просто тему поднять от нечего делать, то наверное лучше сразу
> ее удалить. Если лень читать мануал, а по бакуле он написан
> так что и ребенок разберется, то конфиги Вам мало чем помогут.
> Если есть конкретный вопрос то может стоит именно его и задать?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

2. "Bacula - покажите свои конфиги."  +/
Сообщение от Aquarius (ok) on 10-Дек-10, 17:00 
> Хотелось бы попросить сообщество показать конфиги своих Bacul, очень интересно глянуть
> у кого и как настроено + на основании ваших конфигов хочется
> состряпать свой.
> Не поленитесь cat'нуть bacula-dir.conf, вам дело пары секунд.
> Заранее хочу выразить огромную благодарность всем откликнувшивмся.

вот здесь
http://www.bacula.org/en/?page=documentation
здесь
http://wiki.bacula.org/doku.php
и здесь
http://www.bacula.org/en/?page=articles
а так же здесь
http://bacula.git.sourceforge.net/git/gitweb.cgi?p=bacula/ba...
(то, что по последней ссылке, по сути - содержимое examples из тарбола с исходниками)
ну очень много примеров. дерзайте!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Bacula - покажите свои конфиги."  +/
Сообщение от alterpub email(??) on 10-Дек-10, 19:00 
Забавляют некоторые троли ;)
Людей просишь выложить конфиги, не жалко - выложи, жалко - пройди дальше, нет же надо насрать.
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Bacula - покажите свои конфиги."  +/
Сообщение от alterpub email(??) on 10-Дек-10, 19:01 
А где документацию найти я прекрасно знаю.
Своя бакула крутится и вертится прекрасно, просто хочется так сказать устроить обмен опытом.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Bacula - покажите свои конфиги."  +/
Сообщение от Square (ok) on 10-Дек-10, 19:36 
> А где документацию найти я прекрасно знаю.
> Своя бакула крутится и вертится прекрасно, просто хочется так сказать устроить обмен
> опытом.

Ну так и начните с себя. Расскажите какие проблемы вы решили и как. Особенно хорошо было бы если бы вы это делали способом не описанным в документации. Или например у вас есть данные о расхождении поведения системы с описанным в документации. Или например для повышения производительности вы использовали <бла-бла-бла> что дало <бла-бла-бла> прирост по сравнению со стандартным решением этого вопроса описанным в документации..

Хватит троллить.... давай, делись уже опытом раз хотел...

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Bacula - покажите свои конфиги."  +/
Сообщение от Aquarius (ok) on 11-Дек-10, 03:50 
> Забавляют некоторые троли ;)
> Людей просишь выложить конфиги, не жалко - выложи, жалко - пройди дальше,
> нет же надо насрать.

Забавляют некоторые умники ;)
Воспитываешь их, воспитываешь, нет же, жалуются, что в душу(?) им срешь.

Полазайте по форуму; он, в основном, посвящен помощи в решении проблем, а такие топики, как ваш, или остаются без ответа совсем, или обрастают именно такой мишурой, как ваш
Думаете, это случайность?
Думаете, эту мишуру вывешивают тролли?
Почитайте другие посты участников и попробуйте для себя ответить на эти вопросы

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Bacula - покажите свои конфиги."  +/
Сообщение от anonymous (??) on 10-Дек-10, 20:52 
> Хотелось бы попросить сообщество показать конфиги своих Bacul, очень интересно глянуть
> у кого и как настроено + на основании ваших конфигов хочется
> состряпать свой.

тюнингованный, с обвесами и подачей закиси азота?

нет уж, дорогой.  Балет уехал на гастроли, е~ите хор.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

9. "Bacula - покажите свои конфиги."  +/
Сообщение от McLeod095 (ok) on 13-Дек-10, 15:46 
Не конфиг.
Скрипт высылает на почту отчет за последний месяц.
Написан немного криво, но вроде как работает.


#!/bin/sh

write_f() {
    echo "$*" >> ${WORKFILE}
}

printHelp() {
    echo -e "Bacula Audit script\n"
    echo -e "Help"
    echo -e "\t-j\t-\tJob(s) to audit (for every job)"
    echo -e "\t-y\t-\tYear for audit (default current)"
    echo -e "\t-m\t-\tMonth for audit (default last month)"
    echo -e "\t-d\t-\tDay for audit (default all days)"
    echo -e "\t-t\t-\tSend email to (default $MAILTO)"
    echo -e "\t-h\t-\tHelp"
}

year=$(date +%Y)
month=$(date --date='1 month ago' '+%m')
d1_grep=`date --date='1 month ago' '+%Y-%m'`
day="[0-9][0-9]?"

MAILTO="root"

while getopts "j:y:t:m:d:h" Option
do
    case $Option in
    j)
        ARRAY="$ARRAY $OPTARG"
    ;;
    y)
        year=$OPTARG
    ;;
    m)
        month=$OPTARG
    ;;
    d)
        day=$OPTARG
    ;;
    t)
        MAILTO=$OPTARG
    ;;
    h)
        printHelp
        exit 0
    ;;
    esac
done

d1_grep="$year-$month-$day"

if [ "$ARRAY" == "" ]
then
    ARRAY=$(echo "show jobs" | /usr/sbin/bconsole -c /etc/bacula/bconsole.conf | awk '/Job:/ && /Enabled=1/ {gsub(/^[A-Za-z]*=/,"",$2);print $2}')
fi

WORKDIR="/home/audit/bin"
WORKFILE="${WORKDIR}/audit.html"

if [ -f ${WORKFILE} ]
then
    >${WORKFILE}

fi

tempfile="${WORKDIR}/temp.jobs"
trap "rm -f $tempfile" 0 1 2

echo "list jobs" | /usr/sbin/bconsole -c /etc/bacula/bconsole.conf| egrep $d1_grep > $tempfile

if [ "$day" == "[0-9][0-9]?" ]
then
    day=""
fi

write_f "<html><head><meta http-equiv=\"Content-Type\" content=\"text/html;charset=utf-8\"><title>Statistics for Jobs on $day $month $year</title>"
write_f "<style type=\"text/css\">"
write_f "p {text-align: justify;}"
write_f "p.error {color: red; }"
write_f "p.ok {color: green; }"
write_f "p.incr {color: teal; }"
write_f "p.diff {color: green; }"
write_f "tr.back:hover {background: #fc0;}"
write_f "td {vertical-align: top;}"
write_f "table.show_table {width: 100%; margin-top: 20px; border-collapse: collapse; border: 2px solid #000;}"
write_f "table.show_table th {border:3px solid; text-align:center; vertical-align:middle; font-style:italic; font-size:large; background:silver;}"
write_f "table.show_table td {padding-left: 5px; padding-right: 5px;}"
write_f "table.show_table td.num {text-align: right; vertical-align:middle;}"
write_f "table.show_table td.num_error {text-align: right; vertical-align:middle; background-color: lightpink;}"
write_f "table.show_table td.char {text-align: left; vertical-align:middle;}"
write_f "table.show_table tr.sum {border:2px solid;}"
write_f "li {color: teal; text-decoration: underline; cursor: pointer;}"
write_f "</style>"
write_f "<script type=\"text/javascript\">"
write_f "if(document.getElementsByClassName) {
    getElementsByClass = function(classList, node) {  
        return (node || document).getElementsByClassName(classList)
    }
} else {
    getElementsByClass = function(classList, node) {          
        var node = node || document,
        list = node.getElementsByTagName('*'),
           length = list.length,
        classArray = classList.split(/\s+/),
        classes = classArray.length,
        result = [], i,j
        for(i = 0; i < length; i++) {
            for(j = 0; j < classes; j++)  {
                if(list[i].className.search('\\\\b' + classArray[j] + '\\\\b') != -1) {
                    result.push(list[i])
                    break
                }
            }
        }
        return result
    }
}"
write_f "function HideAndShow (classtable, classmenu, tegId) {
    var obj = document.getElementById(tegId);
    var menuid = document.getElementById(tegId + '_m');
    var table = getElementsByClass(classtable) || document.getElementsByClassName(classtable);
    var menu = getElementsByClass(classmenu) || document.getElementsByClassName(classmenu);
    for (i = 0; i < table.length; i++) {
        menu[i].style.color = 'teal';
        table[i].style.display = 'none';
    }
    menu[i].style.color = 'teal';
    menuid.style.color = '#fc0';
    obj.style.display = '';
}"
write_f "function ShowAll(classtable, classmenu, tegId) {
    var table = getElementsByClass(classtable) || document.getElementsByClassName(classtable);
    var menu = getElementsByClass(classmenu) || document.getElementsByClassName(classmenu);
    for (i = 0; i < table.length; i++) {
        menu[i].style.color = 'teal';
        table[i].style.display = '';
    }
    menu[i].style.color = 'teal';
    document.getElementById(tegId).style.color = '#fc0';
}"
write_f "function mLoad() {
    var table = getElementsByClass('show_table') || document.getElementsByClassName('show_table');;
    var menu = getElementsByClass('table_menu') || document.getElementsByClassName('table_menu');
    for (i=0;i<table.length;i++){
        if(document.getElementById(table[i].id).rows['Errors'].cells[1].innerHTML>0){
            document.getElementById(table[i].id+'_m').style.background='lightpink';
        }
    }
}"
write_f "</script>"
write_f "</head><body onLoad=mLoad()>"
write_f "<table widht=\"100%\"><tr><td colspan=2><h1>Статистика заданий за $day $month $year</h1></td></tr>"
write_f "<tr><td>"
write_f "<h2>Задания</h2>"
write_f "<ul>"
write_f "<li class=\"table_menu\" id=\"all\" onclick=\"ShowAll('show_table','table_menu','all')\"><p>all</li>"

for line in $ARRAY
do
    write_f "<li class=\"table_menu\" id=\"${line}_m\" onclick=\"HideAndShow('show_table','table_menu','$line')\"><p>$line</li>"
done

write_f "</ul></td><td>"

for line in $ARRAY
do  
    awk 'BEGIN{
        errors=0;
        l_number=1
        print "<table id=\"'$line'\" class=\"show_table\" border widht=100% style=\"display:block;\"><tr><th colspan=9>Статистика задания: '$line'</th></tr>";
        print "<tr><th>№</th><th>Идентификатор</th><th>Имя</th><th>Время выполнения</th><th>Тип</th><th>Уровень</th><th>Количество файлов</th><th>Размер</th><th>Статус</th></tr>";
        }
    / \<'$line'\> /{
        if($17!="T"){
            errors=errors+1
            };
        do {
            if($9=="B") {type="<p>Backup";break}
            if($9=="R") {type="<p>Restore";break}
        } while (0)
        do{
            if($11=="F") {level="<p class=\"ok\">Full";break}
            if($11=="I") {level="<p class=\"incr\">Incremental";break}
            if($11=="D") {level="<p class=\"diff\">Differential";break}
        }while(0)
        do{
            if($17=="C") {status="<p style=\"color:gray;\">Created, not yes running";break}
            if($17=="R") {status="<p style=\"color:lime;\">Running</p>";break}
            if($17=="B") {status="<p class=\"error\">Blocked";break}
            if($17=="T") {status="<p class=\"ok\">Completed successfully</p>";break}
            if($17=="E") {status="<p class=\"error\">Terminated with errors";break}
            if($17=="e") {status="<p class=\"error\">Non-fatal error";break}
            if($17=="f") {status="<p class=\"error\">Fatal error";break}
            if($17=="D") {status="<p class=\"error\">Verify found differences";break}
            if($17=="A") {status="<p class=\"error\">Canceled by user";break}
            if($17=="F") {status="<p class=\"error\">Waiting for Client";break}
            if($17=="S") {status="<p class=\"error\">Waiting for Storage daemon";break}
            if($17=="m") {status="<p class=\"error\">Waiting for new media";break}
            if($17=="M") {status="<p class=\"error\">Waiting for media mount";break}
            if($17=="s") {status="<p class=\"error\">Waiting for storage resource";break}
            if($17=="j") {status="<p class=\"error\">Waiting for job resource";break}
            if($17=="c") {status="<p class=\"error\">Waiting for client resource";break}
            if($17=="d") {status="<p class=\"error\">Waiting on maximum jobs";break}
            if($17=="t") {status="<p class=\"error\">Waiting on start time";break}
            if($17=="p") {status="<p class=\"error\">Waiting on higher priority jobs";break}
        }while(0)
        gsub(/,/,"",$15)
        gsub(/,/,"`",$13)
        size=0
        if($15>1024 && $15!=0){
            if($15>1048576){
                if($15>1073741824){
                    size=$15/1073741824
                    bytes="GB"
                }
                else{
                    size=$15/1048576
                    bytes="MB"
                }
            }
            else {
                size=$15/1024
                bytes="KB"
            }
        }
        else {
            bytes="B"
        }
#        print "<tr class=\"back\"><td class=\"num\">"l_number"</td><td class=\"char\">"$2"</td><td class=\"char\">"$4"</td><td class=\"char\">"$6" " $7"</td><td class=\"char\">"type"</td><td class=\"char\">"level"</td><td class=\"num\">"$13"</td><td class=\"num\">"size" "bytes"</td><td class=\"char\">"status"</td></tr>"
        printf "<tr class=\"back\"><td class=\"num\">%d</td>",l_number
        printf "<td class=\"char\">%s</td>",$2
        printf "<td class=\"char\">%s</td>",$4
        printf "<td class=\"char\">%s %s</td>",$6,$7
        printf "<td class=\"char\">%s</td>",type
        printf "<td class=\"char\">%s</td>",level
        printf "<td class=\"num\">%s</td>",$13
        if(size>0){
            printf "<td class=\"num\">%.2f %.2s</td>",size,bytes
        }
        else {
            printf "<td class=\"num\">%d %.2s</td>",size,bytes
        }
        printf "<td class=\"char\">%s</td></tr>\n",status
        l_number++
        }
    END{
    if(errors>0){
        print "<tr id=\"Errors\" class=\"sum\"><td colspan=8 class=\"num\">Errors</td><td class=\"num_error\">"errors"</td></tr></table>"
    }
    else{
        print "<tr id=\"Errors\" class=\"sum\"><td colspan=8 class=\"num\">Errors</td><td class=\"num\">"errors"</td></tr></table>"
    }
    }' $tempfile>> ${WORKFILE}
done

write_f "</td></tr></table></body>"

mutt -a ${WORKFILE} -s "Backups audit from $HOSTNAME $day $month $year" $MAILTO </dev/null
                
rm -f $WORKFILE

Не люблю выкладывать на всякие файлообменные сети, если интересно дайте ссылку куда кинуть, скину.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру