• Резервное копирование и восстановление Subversion (SVN) репозиториев на Linux.

    Разберем как делать резервные копии имеющихся Subversion (SVN) репозиториев в Linux среде. Все ниже описанное производилось на Debian 8 Jessie.

     

    Резервное копирование репозитория

    Создаем резервную копию указанного репозитория:

    sudo svnadmin dump /path/to/repository > svnexport.dump

     

    Создаем резервную копию указанного репозитория и сжимаем его:

    sudo svnadmin dump /path/to/repository | gzip > svnexport.dump.gz

     

    Резервное копирование все репозиториев (bash скриптом)

    Для того чтобы автоматизировать процесс резервирования всех имеющихся репозиториев, создадим скрипт, который будет выполнять эту задачу. Скрипт с коментариями, разобратся в нем не составит труда:

    #!/bin/bash
    # 06/01/2018 Jakonda (http://jakondo.ru)
    
    # Резервное копирование репозиториев (SVN)
    
    PATH_REPO="/var/svn/"
    LOCAL_DIR="/srv/backups/svn"
    
    EXPIRATION_DAYS=28
    DATE=$(date +"%y_%m_%d")
    
    # Создаем каталог для размещения бекапов, если он не создан
    if ! [ -d $LOCAL_DIR ]; then
    mkdir $LOCAL_DIR
    fi
    
    # Создаем каталог с текущей датой
    mkdir -p $LOCAL_DIR/$DATE
    
    # Создание дампа всех репозиториев
    cd $PATH_REPO
    for REPO in *; do
     test -d "$REPO" && /usr/bin/svnadmin dump $REPO | gzip > $LOCAL_DIR/$DATE/$REPO.dump.gz
    done
    
    # Удаление старых резервных копий
    find $LOCAL_DIR* -mtime +${EXPIRATION_DAYS} -exec rm {} \;
    # Удаление пустых каталогов
    find $LOCAL_DIR* -type d -empty -exec rmdir {} \;

     

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
    Загрузка...
  • Резервное копирование и восстановление почтовых ящиков в Zimbra Collaboration 8.6

    В этой статье мы разбирали как развернуть Zimbra Collaboration 8.6 на Ubuntu 14.04 Trusty Tahr. В бесплатной версии почтового сервера нет удобного функционала по бекапу и восстановлению почтовых ящиков. А создание бекапов, есть неотъемлемая часть работы любого системного администратора. Да и наличие бекапа всегда нас спасет в трудную минуту.

     

    Создавать бекапы и восстанавливать их же будем посредством bash-скриптов. Создавать и восстанавливать почтовые ящики мы будем на горячую так сказать, без остановки почтового сервера.

     

     

    Резервное копирование всех почтовых ящиков

    Создаем текстовый файл и делаем его исполняемым:

    nano backup_all_mailbox.sh
    sudo chmod +x backup_all_mailbox.sh

     

    В созданный скрипт вписываем следующее (в параметрах настроек скрипта указываем данные свои):

    #!/bin/bash
    
    #####################
    # Настройки скрипта #
    #####################
    # Путь к месту бекапа
    Path_backup="/home/jakonda/bkzm"
    # Временный файл для работы
    Source_list="/home/jakonda/temp"
    # Название домена
    Domain="jakondo.ru"
    # Значение текущей даты
    Current_date=$(date +%d-%m-%Y)
    # Лог-файл
    Log=$Path_backup"/"$Current_date"/log"
    echo "#####################################################"
    echo "# Резервное копирование всех почтовых ящиков Zimbra #"
    echo "#####################################################"
    echo ""
    echo "Время начала бекапа всех почтовых ящиков - $(date +%T)"
    echo "Начало бекапа - $(date +%T)" > $Log
    # Запоминаем время начала бекапа
    Begin_time=$(date +%s)
    echo ""
    # Определяем список всех имеющихся почтовых ящиков
    echo "Формируем список всех почтовых ящиков для бекапа..."
    /opt/zimbra/bin/zmprov -l gaa $Domain > $Source_list
    if [ $? -eq 0 ]; then
    echo -n "$(tput hpa $(tput cols))$(tput cub 6)[OK]"
    echo "Формирование списка почтовых ящиков успешно выполнено." >> $Log
    echo
    else
    echo -n "$(tput hpa $(tput cols))$(tput cub 6)[FAIL]"
    echo "Формирование списка почтовых ящиков не удалось выполнить. Завершение работы (Неудача)." >> $Log
    exit
    echo
    fi
    # Проходимся по всем ящикам в полученном списке и делаем бекап каждого
    echo "Выполняем резервное копирование всех почтовых ящиков"
    echo "----------------------------------------------------"
    mkdir -p $Path_backup/$Current_date/
    echo "Создание каталога $Current_date для размешения бекапа." >> $Log
    for mailbox in $( cat $Source_list); do
    echo "Резервирование почтового ящика - $mailbox"
    /opt/zimbra/bin/zmmailbox -z -m $mailbox getRestUrl "//?fmt=tgz" > $Path_backup/$Current_date/$mailbox.tgz
    if [ $? -eq 0 ]; then
    echo -n "$(tput hpa $(tput cols))$(tput cub 6)[OK]"
    echo "Бекап почтового ящика $mailbox успешен" >> $Log
    echo
    else
    echo -n "$(tput hpa $(tput cols))$(tput cub 6)[FAIL]"
    echo "Бекап почтового ящика $mailbox не удачно" >> $Log
    echo
    fi
    done
    # Вычисление времени работы бекапа почтовых ящиков
    End_time=$(date +%s)
    Elapsed_time=$(expr $End_time - $Begin_time)
    Hours=$(($Elapsed_time / 3600))
    Elapsed_time=$(($Elapsed_time - $Hours * 3600))
    Minutes=$(($Elapsed_time / 60))
    Seconds=$(($Elapsed_time - $Minutes * 60))
    echo "Затрачено времени на резервное копирование : $Hours час $Minutes минут $Seconds секунд"
    echo "Затрачено времени на резервное копирование : $Hours час $Minutes минут $Seconds секунд" >> $Log

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (5 голос(ов), в среднем: 5,00 из 5)
    Загрузка...
  • Автоматизация процесса массового создания почтовых ящиков в Яндекс почта для домена

    Появилась необходимость воспользоваться таким сервисом как «Почта для домена» от Яндекса, а именно нужно было как то с минимизацией затраты жизненных ресурсов проработать скрипт по массовому созданию почтовых ящиков и заполнения их профилей.

     

    Для управления почтой Яндекс предоставляет API Почты для домена (подробней про API можно почитать тут), вот им мы как раз и воспользуемся для реализации нашей задачи. Писать скрипт будем на bash из под Ubuntu 14.04 Trusty Tahr .

     

    Итак в моем распоряжение есть список с адресами которые необходимо создать в Яндекс Почта для домена, адреса в текстовом файле выглядят так:

    test@test.ru
    test@test.ru
    test@test.ru
    test@test.ru
    ... и т.д.

     

    Если же у вас такого списка нет, то создаем его

    nano emailuserlist

    Читать далее…

    БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
    Загрузка...
© IT-блог Жаконды All Rights Reserved.
Яндекс.Метрика