• Резервное копирование базы данных Redmine на Debian 8 Jessie/Ubuntu 14.04 Trusty Tahr

    Разберем как делать резервные копии базы данных Redmine, а так же прикрепленных файлов. Реализовывать резервное копирование будем с помощью bash-скрипта.

     

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

    #!/bin/bash
    # 06/01/2018 Jakonda (http://jakondo.ru)
    
    # Резервное копирование (Redmine)
    
    # Путь размещения резервных копий
    LOCAL_DIR="/srv/backups/redmine"
    
    EXPIRATION_DAYS=14
    DATE=$(date +"%y_%m_%d")
    
    # Создаем каталог для размещения резервных копий, если он не создан
    if ! [ -d $LOCAL_DIR ]; then
    mkdir $LOCAL_DIR
    fi
    
    # Создаем каталог с текущей датой
    mkdir -p $LOCAL_DIR/$DATE
    
    # Создание дампа базы данных (mysql)
    mysqldump -u root -p512356 redmine | gzip > $LOCAL_DIR/$DATE/redmine_db.sql.gz
    
    # Резервная копия прикрепленных файлов (redmine)
    cd /opt/redmine/files/
    tar -czvf $LOCAL_DIR/$DATE/redmine_files.tar.gz *
    cd
    
    # Удаление старых резервных копий
    find $LOCAL_DIR* -mtime +${EXPIRATION_DAYS} -exec rm {} \;
    # Удаление пустых каталогов
    find $LOCAL_DIR* -type d -empty -exec rmdir {} \;

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

    БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
    Загрузка...
  • Резервное копирование и восстановление 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 {} \;

     

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

    БесполезноСлабоватоПриемлемоОтличноПревосходно (Еще нет оценок)
    Загрузка...
  • Автоматизируем процесс создания резервной копии CRM vTiger 5.2.1

    Недавно появилась необходимость в написании bash скрипта, по автоматизации процесса создания резервной копии CRM vTiger системы.  CRM система развернута на CentOS 5.10 (Final) и соответственно скрипт будет писаться на этой же системе.  Написанный скрипт я для удобства расписал комментариями, поэтому если что по прошествии времени разобраться в нем не составит труда.

     

    Задачи скрипта:

    1. Делать резервную копию базы данных mysql. По-умолчанию база данных называется vtigercrm521.
    2. Делать резервную копию каталога html CRM системы.
    3. Размещение резервной копии в указанном хранилище.
    4. Логирование работы скрипта.

     

    Получившийся скрипт разделен на две части. Первая часть скрипта, это задание переменных, необходимых для работы. Вторая часть, это непосредственно выполнение поставленных задач.

     

    Скрипт предусматривает два варианта на выбор, в каком месте размещать резервную копию.

    • Локальное хранилище — размещать резервную копию на той же машине, где и развернута CRM система.
    • Сетевое хранилище — размещение резервной копии на сетевом ресурсе.

     

    Перед началом работы скрипта, пройдитесь по его настройкам и измените параметры под себя. Ниже представлен листинг скрипта.

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

    БесполезноСлабоватоПриемлемоОтличноПревосходно (2 голос(ов), в среднем: 5,00 из 5)
    Загрузка...
  • Резервное копирование списка учетных записей и списков рассылки в Zimbra Collaboration 8.6

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

     

    Итак мы имеем развернутый по этой статье почтовый сервер Zimbra Collaboration 8.6 на Ubuntu 14.04 Trusty Tahr. Для создания бекапа данных мы будем использовать bash скрипты.

     

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

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

    nano backup_accounts.sh
    sudo chmod +x backup_accounts.sh

     

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

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

    БесполезноСлабоватоПриемлемоОтличноПревосходно (3 голос(ов), в среднем: 5,00 из 5)
    Загрузка...
  • Резервное копирование и восстановление почтовых ящиков в 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.
Яндекс.Метрика