Добро пожаловать на сайт <БагБД>, где вы можете задавать вопросы о программировании и разработке на Битрикс и Битрикс24, и получать быстрые и квалифицированные ответы от профессионалов!

Резервоное копирование по расписанию

00 голосов
1
Собственно, вопрос по этой статье
http://dev.1c-bitrix.ru/community/blogs/howto/945.php
и конкретно о скрипте резервного копирования под линукс.

при автоматической свертке дамп БД падает по пути /home/bitrix/www/bitrix/backup/
ну и при восстановлении такого архива через restore.php, извлекаются только файлы, автоматического развертывания БД не получается.
В сворачиваемом вручную архиве дамп лежит в /bitrix/backup/ и restore отрабатывает как надо

в скрипте автоматической свертки для дампа прописано следующее
Код
mysqldump -h$host -u$username -p$password --default-character-set=$charset $database > $backup_dir/$name.sql && 
tar -cf $backup_dir/$name.tar $backup_dir/$name.sql &&  
rm $backup_dir/$name.sql && 
где 
Код
backup_dir=$doc_root/bitrix/backup
как можно создавать файлик *.sql в указанном месте, а в архив его засовывать по нужному адресу (/bitrix/backup/ )?
спросил 24 Апр, 13 от MaestroO (300 баллов)

1 Ответ

00 голосов
Снова пардон. не дочитываю до конца
Цитата
Lyalenko Deniel
09.04.2011 22:44:23
Все, у кого проблемы со скриптом Дениса. Попробуйте этот ревижн. 

Код

#!/bin/bash
doc_root=$1
name=$2
if [ -z $doc_root ]; then
   echo Usage: $0 /path/to/document/root [backup_name]
   exit
fi

if [ -z $name ]; then
   name=backup-`date +\%H-\%d\%m\%Y`
fi

dbconn=$doc_root/bitrix/php_interface/dbconn.php

readcfg() {
   grep $1 $dbconn | sed 's/.*"\(.*\)".*/\1/'
}

host=`readcfg DBHost`
username=`readcfg DBLogin`
password=`readcfg DBPassword`
database=`readcfg DBName`

utf=`grep 'BX_UTF' $dbconn | grep true`

if [ -z "$utf" ]; then
   charset=cp1251
else
   charset=utf8
fi

backup_dir=bitrix/backup

if [ ! -e $doc_root/$backup_dir ]; then
   mkdir $doc_root/$backup_dir
fi

cd $doc_root &&
mysqldump -h$host -u$username -p$password --default-character-set=$charset $database >
$backup_dir/$name.sql &&
tar -cf $backup_dir/$name.tar --exclude='*bitrix/backup/*.tar' --exclude='*bitrix/tmp/*'
--exclude='*bitrix/updates/*' --exclude='*bitrix/*cache/*' . &&
gzip -f -9 $backup_dir/$name.tar &&
rm $backup_dir/$name.sql &&
echo OK && exit
echo Error



Файл дампа базы должен быть в архиве, в директории /bitrix/backup.
однако, этот вариант жестче жрет ресурс.
ответил 24 Апр, 13 от MaestroO (300 баллов)

Похожие вопросы

0 голосов
2 ответов
спросил 16 Апр, 14 от Exumer (360 баллов)
0 голосов
5 ответов
спросил 02 Июль, 13 от Ymca (880 баллов)
0 голосов
9 ответов
спросил 09 Май, 13 от LazY (160 баллов)