Redmine: бэкапирование и восстановление
Redmine: backup, restore
Бэкапирование Redmine
Создаем файл с параметрами подключения к базе, для того что бы в дальнейшем создавать дамп PostgreSQL без ввода пароля
Делаем бэкап директории, где установлен Redmine
Эти действия можно оформить скриптом и добавить скрипт в crontab
Восстановление Redmine
Рассмотрим вариант, когда надо восстановить Redmine на чистый сервер.
Вначале нам надо установить Redmine в соответствии с одной из предыдущих статей, но п.7 «Устанавливаем Redmine. Продолжение» немного изменится:
Переходим в каталог и прописываем настройки для PostgreSQL
Устанавливаем необходимые gems (в данном случае локально)
Создаем файл с параметрами подключения к базе, для того что бы в дальнейшем создавать дамп PostgreSQL без ввода пароля
Остановим web-сервер Nginx, что бы не было подключений к базе
Если в PostgreSQL есть база redmine к примеру с тестовыми данными, удаляем ее и создаем чистую
Восстанавливаем базу из дампа и запускаем Nginx:
Восстанавливаем файлы Redmine из архива, сохранив их в каталог /opt/nginx-4.0.5
Redmine
Latest releases¶
Resources¶
Backing up and restoring Redmine¶
Backup¶
Backing up database¶
MySQL¶
The mysqldump command can be used to backup the contents of your MySQL database to a text file. For example:
, , and in the file config/database.yml . may not be required depending on your installation of the database.
PostgreSQL¶
The pg_dump command can be used to backup the contents of a PostgreSQL database to a text file. Here is an example:
You can find , , and in the file config/database.yml . may not be required depending on your installation of the database. The pg_dump command will prompt you to enter the password when necessary.
SQLite¶
SQLite databases are all contained in a single file, so you can back them up by copying the file to another location.
You can determine the file name of SQLite database by looking at config/database.yml .
Backing up attachments¶
All file uploads are stored in attachments_storage_path (defaults to the files/ directory). You can copy the contents of this directory to another location to easily back it up.
WARNING: attachments_storage_path may point to a different directory other than files/ . Be sure to check the setting in config/configuration.yml to avoid making a useless backup.
Sample backup script¶
Here is a simple shell script that can be used for daily backups (assuming you’re using a MySQL database):
Restore¶
Restoring a database¶
MySQL¶
For example if you have a gziped dump file with the name 2018-07-30.gz , then the database can be restored with the following command:
PostgreSQL¶
When the option -Fc of the command pg_dump is used like it is at the above example then you need to use the command pg_restore :
otherwise a text file can be restored with psql :
SQLite¶
Copy the database file from the backup location.
tjoker28
Записки из Владивостока
Собсно заголовок для меня и про меня.
Переносил и одновременно обновлял с win версии Redmine 1.3.1.stable на Redmine 3.1.1.stable на CentOS. Опишу как переносить на другую машину, если на ту же, то сначала все бэкапим.
Самое главное. На линухе сначала запустить
$ cd /каталог_куда_установили/
$ ./use_redmine
1) Бэкапим старую базу MySql. Если винда, то можно пользоваться GUI или консолью(запускаем все тот же скрипт use_redmine и только потом пишем все остальное):
mysqldump -u root -p bitnami_redmine > redmine_backup.sql
Пароль от root это пароль от того пользователя, который был создан при установке bitnami redmine и имеет права админа.( я использовал доменные логин пароль/для себя не забыть)
2) Ставим новую версию на новую машину
3)Лезем в /каталог_куда_установили/apps/redmine/ht docs/config/ Тут лежат все файлы с конфигами( расширение .yml). Нам нужна database.yml
Там прописан пользователь и пароль под которым redmine подключается к mysql. Запоминаем или меняем на те, что нам нужны.
Далее делаем все по инструкции с оффсайта:
4) копируем redmine_backup.sql на новый сервер
5) тормозим весь bitnami redmine и запускаем только mysql(если сделали алиасы и добавили bitnami redmine в качестве службы, то используем их) :
$ sudo /каталог_куда_установили/ctlscript.sh stop
$ sudo /каталог_куда_установили/ctlscript.sh start mysql
6)Запускаем ./use_redmine и дальше все делаем уже в консоле bitnami
7)Убиваем базу данных новой установки, создаем новую с таким же именем, но полностью пустую:
$ mysql -u root -p
Password: ****
mysql> drop database bitnami_redmine;
mysql> create database bitnami_redmine;
mysql> grant all privileges on bitnami_redmine.* to ‘пользователь_bitnami’@’localhost’ identified by ‘пароль_от_базы’;
Записки Web-разработчика
Красивый перенос Redmine
Как-то столкнулся на работе с задачей перейти со старой версии Redmine (1.2.1) на последнюю версию (2.1.2) (операционная система Windows XP) с сохранением существующей базы, всех настроек и конфигурации. Поиск решения занял достаточно продолжительное время: в Интернете много разрозненной информации, а чтобы конкретной инструкции по установке без танцев с бубнами — кот наплакал. Но кто ищет, тот всегда найдет.
Вот и мне повезло: на одном из англоязычных сайтов (http://bitnami.org/forums/forums/redmine/topics/fresh-install-of-rs-redmine-how-to-bring-old-db-across) я нашел достаточно качественную инструкцию, с помощью которой данная задача была осуществима.
Что необходимо будет выполнить:
- Создать дамп старой базы
- Скопировать важные директории из старого редмайна
- Создать базу данных в новом редмайне (при условии, что вы уже установили новую версию редмайна себе на компьютер)
- Восстановить бэкап старого редмайна на новую версию
- Произвести миграцию базы на новую версию редмайна
- Скопировать сохраненные ранее директории и файлы на новую версию редмайна.
ВАЖНО: дочитайте все до конца, чтобы потом не возникло по ходу установки ненужных вопросов!
Ниже я даю вольный перевод со своими комментариями.
Инструкция по переходу на новую версию Rermine:
1. Создаем дамп старой базы. Открываем консоль (installdir\use_redmine.bat) и пишем следующее:
Запросит password на базу. Ввести. Ждать, пока создастся бэкап.
Бэкап лежит в корне установки нашего редмайна (в моем примере D:\BitNami Redmine Stack 2011). Копируем полученный файл в безопасное место.
2. Копируем папку installdir\apps\redmine\files и .yml файлы (database.yml, configuration.yml, email.yml) из директории config также в безопасное место.
3. Теперь в новом редмайне открываем консоль («C:\Program Files\BitNami Redmine Stack\use_redmine.bat») и пишем следующее:
Вводим пароль. Добро пожаловать в SQL монитор. Пишем:
Примечание: ’bitnami’@’localhost’ — это имя пользователя, «BITNAMI_USER_PASSWORD» – это пароль, все можно найти в /Apps/Redmine/Config /database.yml.
пароль должен быть такой же, как на старой системе у администратора.
4. Используя файл, сохраненный ранее, восстанавливаем наш бэкап на новый редмайн (бэкап положить в корень нового редмайна):
5. Теперь из консоли перейдите в папку Redmine и выполните команду:
6. Скопируйте папку files на новое место, а также сохраненные . YML файлы. Перезагрузите систему и все должно заработать!!
ОЧЕНЬ ВАЖНО: не заменять файл config/settings.yml старой версией!
18 Comments
Здравствуйте! Для себя ценное, что узнал, это про пакет Bitnami. За что говорю спасибо!
Но вот проблема, на 5ом пункте встал 🙁 Командная строка говорит, что «rake не является внутренней или внешней командой…» Я так понимаю, не может найти это приложение. Скажите, может директиву сменить?
Вы перешли в командной строке в директорию htdocs ? (пример cd С:\redmine-2.5.0\apps\redmine\htdocs)
Да, данная ошибка показывает, что Вы пытаетесь запустить rake там, где его нет. )
Николай, да, нахожусь в этой директории (C:\Bitnami\redmine-2.5.2-1\apps\redmine\htdocs).
Может подскажите, какую-нибудь альтерантиву:
rake db:migrate RAILS_ENV=“production”
rake tmp:cache:clear
rake tmp:sessions:clear
как нибудь ручками?
Попробуйте “production” прописать без кавычек. Директория правильная.
Я просто запускаю REDMINEINI.BAT который находится C:\Bitnami\redmine-2.6.1-1\apps\redmine\scripts\
Хочу с одного Winows перенести на Redmine на другой.
Установлена версия redmine-2.5.2-2.
Шаг 1 и 2 — все ок.
На Шаге 3 — ошибка: при выполнении mysql -u root –p
ERROR 1045:Access denied for user ‘root’@’localhost’
И ошибка на шаге 5: при выполнении rake db:migrate RAILS_ENV=production
rake aborted!
You have already activated rake 10.1.0. but your Gemfile requires rake 10.1.1. Prepending bundle exec to your command may solve this.
Помогите разобраться с ошибками
По поводу третьего шага: данная ошибка говорит, что неправильно указано имя пользователя. Значит юзер у вас не root? похоже.
По поводу шага 5: запустите bundle exec. Затем снова попробуйте rake db:migrate RAILS_ENV=production
А какой пользователь нужен? Redmine установлен по умолчанию, ничего не менял, т.е. у mysql должен быть пользователь root, а вход в Redmine — имя пользователя другое, не root
И вот еще что странно: на шаге 4 выполняю команду
mysql -u root -p bitnami_redmine
Вспомнил. У меня тоже была такая проблема, когда я просто вставлял в командную строку mysql -u root –p. Попробуйте ручками написать эту команду. Все должно пойти. Удачи!
Спасибо большое! Это действительно помогло.
Осталась проблема с шагом 5, с тремя командами. Выполнил их все с добавлением:
bundle exec rake db:migrate RAILS_ENV=production
Ответ: DL is deprecated, please use Fiddle
Если просто запустить bundle exec, то
Ответ : DL is deprecated, please use Fiddle
exec needs a command to run
Нахожусь в директории: C:\Bitnami\redmine-2.5.2-2\apps\redmine\htdocs
Пробовал вместо выполнения этих 3х команд запустить REDMINEINI.BAT, который находится C:\Bitnami\redmine-2.6.1-2\apps\redmine\scripts\
Но все равно Redmine не заработал
Действительно, в последних версиях Bitnami Redmine в пятом шаге нужно использовать команды:
bundle exec rake db:migrate RAILS_ENV=production
bundle exec rake tmp:cache:clear
bundle exec rake tmp:sessions:clear
Да, напишет DL is deprecated, please use Fiddle, но это сообщение, а не ошибка. Она возникает только на компьютере ОС Windows с ruby 2.0.0 версии.
Как вариант можно установить Руби 1.9.3 наряду с 2.0. А можно вообще не обращать на это внимание.
Все должно работать, проверено.
Сделал все шаги, все прошло без ошибок, но Redmine не запустился. В Manage Servers:
Thin_redmine Stopped
Thin_redmine2 Stopped
Остальные службы запущены.
Есть еще вопрос: какое имя нужно указать вместо ’bitnami’@’localhost’?
Имя администратора в виде ‘slava’@’localhost’ или просто ‘slava’
И еще я не перенес папку files, но не из-за этого он не работает?
Возможно ошибка Thin_redmine Stopped связана с плагинами, которые вы просто скопировали в папку из старой версии.
Попробуйте сначала без плагинов запустить Redmine. Потом добавляйте по одному плагину.
Также имейте в виду, что некоторые плагины требуют установки.
Необходимо в командной строке перейти на директорию с плагинами
cd your_path\redmine\htdocs\plugins\
и выполнить установку плагина
bundle exec rake redmine:plugins NAME=redmine_contacts RAILS_ENV=production
(пример установки плагина redmineCRM)
Если у вас система покажет, что что-то не установлено (или другие версии), то выполните
bundle install
а затем снова
bundle exec rake redmine:plugins NAME=redmine_contacts RAILS_ENV=production
если все ок, то перезапустите сервисы.
После этого все должно работать.
По поводу имени — обязательно писать ‘имя_администратора’@’localhost’
По поводу папки files — в этой папке находятся все ваши сохраненные в Redmine файлы. На работу сервисов они не влияют, их просто копируешь и все.
Удачи!
Возникла проблема при переносе Redmine на 3ем шаге
У меня всего 2 плагина, не требующих установки. Пробовал с ними и без них. Пока не удалось побороть Thin_redmine — Stopped.
У меня задача перенести работающую систему Redmine(windows 8 server) на другой компьютер на нем windows 8. Может быть из-за разных систем проблемы?
И может быть есть log, в котором можно посмотреть что мешает работе?
На windows 8 bitnami redmine не ставил, так что трудно что сказать.
лог смотрите \apps\redmine\htdocs\log\production.log
Как вариант могу предложить попробовать установить redmine с путем C:\redmine (или D:\redmine), вроде была у меня похожая ситуация и такой вариант помог. Давно это было ).
Также возможно, что на машине запущены другие службы (другой Apache, MySQL …), что может приводить к конфликту.
Проблема на шаге 1.Создать дамп старой базы.
Какой нужно вводить пароль?
Непонятно какой должен быть пароль у пользователя root
Добавить комментарий Отменить ответ
Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.