Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
Вам приходилось сталкиваться с ситуацией, когда сайт или портал Битрикс24 недоступен, потому что на диске неожиданно закончилось место? Да, последний бэкап съел все место на диске в самый неподходящий момент.Это обычная история, особенно для Bitrix24 в коробке, когда корпоративный портал начинают активно использовать сотрудники компании.
Здесь есть и еще один риск: если слетит диск, можно потерять и сам сайт/портал, и его бекапы. Поэтому сетевое хранилище бекапов — отличное решение.
О том, как корректно настроить бекап вашего сайта на сетевое хранилище Windows вы узнаете в этой статье. Задавайте вопросы, делитесь записью в соцсетях.
Многие сайты и корпоративные порталы Bitrix24 работают на Виртуальной машине Битрикс. Это удобно и надежно: не надо долго и нудно настраивать окружение сервера, сразу все ПО настроено "из коробки". Как правило, хостится это богатство на VPS или VDS тарифах или в каком-нибудь корпоративном облаке/сервере без бекапов.
Дано:
- Сайт или портал на Виртуальной машине Битрикс (версия 5.0 и выше).
- Сетевое хранилище с постоянным ip-адресом 10.10.10.30 (локальная сеть) на ОС WIndows.
- Папка Backup на сетевом хранилище, куда мы будем складывать бекапы Битрикс24-портала или сайта на Битрикс.
- Настроить регулярное резервное копирование файлов и БД сайта/Битрикс24.
- Хранить резервные копии на сетевом хранилище.
1. Для начала вспомним, что Виртуальная машина Битрикс работает на основе CentOS. Поэтому первым делом необходимо убедится, что сетевое хранилище доступно по ip–адресу.
ping -c3 10.10.10.30 PING 10.10.10.30 (10.10.10.30): 56 data bytes 64 bytes from 10.10.10.30: icmp_seq=0 ttl=64 time=6.000 ms 64 bytes from 10.10.10.30: icmp_seq=1 ttl=64 time=3.593 ms 64 bytes from 10.10.10.30: icmp_seq=2 ttl=64 time=5.785 ms |
Пинг проходит, хранилище доступно.
2. Теперь надо вспомнить, что изначально в CentOS нет возможности подключиться к Windows-системам. Для подключения этой функции необходимо под root установить пакет samba:
[root@server1 ~]# yum install samba |
3. Теперь нам надо примонтировать внешнее хранилище как диск в Виртуальной машине Битрикс.
3.1 Создадим точку монитирования windows в папке mnt, эта папка будет соответствовать сетевому хранилищу
[root@server1 ~]# mkdir /mnt/windows |
3.2 Запишем код подключения сетевого хранилища в настройки файловой системы CentOS, чтобы диск подключался автоматически при каждой загрузке ВМ Битрикс. Для этого редактируем под root файл /etc/fstab и добавляем вниз следующую строку:
//10.10.10.30/Backup /mnt/windows cifs defaults,uid=600,rw,suid,username=windowsuser,password=windowspassword 0 0 |
где:
- //10.10.10.30/Backup - папка для хранения бекапов на сетевом хранилище с айпи-адресом 10.10.10.30, два слеша обязательные;
- /mnt/windows - точка монитрования диска
- uid - id пользователя CentOS, который должен стать владельцем примонитированного хранилища. Для виртуальных машин Битрикс это обычно id пользователя bitrix; узнать id вашего пользователя можно командой id -u bitrix
- username,password - логин и пароль пользователя Active Directory, имеющего права записи на сетевое хранилище.
[root@server1 ~]# mount -a |
Внимание! Эта операция перемонитирует все диски файловой системе. Эту операцию не стоит делать в загруженное время.
После этого выполняем команду df -h и видим наш диск среди других дисков системы:
[root@server1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sda4 886G 430G 412G 52% /home/bitrix/www //10.10.10.30/Backup 1,0T 0,2T 0,8T 80% /mnt/windows |
Диск успешно примонтирован, осталось 2 простых шага: включить резервное копирование в настройках виртуальной машины Битрикс и сделать скрипт перемещения файлов бекапа на сетевое хранилище.
4. Включить резервное копирование файлов и БД вашего сайта или портала Битрикс24 в Виртуальной машине Битрикс просто, это описано в учебном курсе.
Заметим только, что бекап запускается по крону, поэтому необходимо запускать перемещение файлов бекапа на сетевое хранилище через 2-3 часа после запуска бекапа. Точный срок запуска скрипта перемещения файлов на хранилище Вам необходимо вычислить самостоятельно, он будет зависеть от размера вашего сайта.
5. Создадим bash-скрипт перемещения файлов бекапа на сетевое хранилище.
Обычно Виртуальная машина Битрикс складывает готовый архив сайта в директорию /home/bitrix/backup/archive. Поэтому мы заходим в директорию /home/bitrix и создаем файл archive.sh следующего содержания:
#!/bin/bash sDirectory="/home/bitrix/backup/archive" snew="/mnt/windows" find $sDirectory -type f -maxdepth 1 -exec mv {} $snew \; |
где в sDirectory указывется путь к папке, в которую ВМ Битрикс складывает сделанные архивы, snew - точка монитрования сетевого хранилищца в ВМ Битрикс.
Файл перемещения архива готов, нам осталось добавить его запуск на крон. Добавляем в файл /etc/crontab следующую строку:
10 2 * * * bitrix /home/bitrix/archive.sh |
и сохраняем изменения. Теперь скрипт перемещения архива будет запускаться каждую ночь в 2 часа 10 минут.