Як зробити резервну копію або відновити ваші існуючі дані Redmine.

8/31/2020
8 minutes
Лукаш Беньа

Успіх кожного рішення з управління проектами базується на одній простій речі - даних. Ви вже знаєте, як створити резервну копію або відновити ваші існуючі дані з Redmine? Якщо ні, ось як ви можете це зробити для кожної бази даних.

Резервні копії Redmine повинні містити:

  • Базу даних
  • Вкладення (зберігаються в директорії файлів під директорією встановлення за замовчуванням)


Резервне копіювання бази даних


MySQL

MySQL, найпопулярніша система баз даних SQL з відкритим кодом, є унікальною, розподіленою та підтримується корпорацією Oracle. Веб-сайт MySQL пропонує найновіші факти про програмне забезпечення MySQL. MySQL є засобом управління.

База даних - це структурована серія статистичних даних. Це може бути щось від простого списку покупок до галереї зображень або значних кількостей даних в мережі компанії. Щоб додавати, отримувати доступ та обробляти дані, збережені в базі даних комп'ютера, потрібен засіб управління базами даних разом з сервером MySQL. Оскільки комп'ютери чудово справляються з великими обсягами даних, системи управління відіграють центральну роль в обчисленнях, як самостійні утиліти або як компоненти інших програм. Бази даних MySQL є реляційними.

Електронна база даних зберігає статистичні дані в окремих таблицях замість того, щоб помістити всі дані в один великий сховище. Структури баз даних організовані в фізичні файли, оптимізовані для швидкості. Логічна модель з об'єктами, такими як бази даних, таблиці, види, рядки та стовпці, надає гнучке середовище програмування. Ви встановлюєте правила, що регулюють взаємини між різними полями даних, такими як один до одного, один до багатьох, унікальні, обов'язкові або необов'язкові, та "вказівники" між різними таблицями.

База даних підтримує ці правила, і з дуже добре розробленою базою даних ваша програма ніколи не буде містити непослідовні, дубльовані, сиротинські, застарілі або відсутні дані. Компонент SQL "MySQL" означає "Structured Query Language". SQL є найбільш поширеною стандартизованою мовою, яка потребує доступу до баз даних. Залежно від вашого середовища програмування, ви можете вводити SQL безпосередньо (наприклад, для отримання звітів), вбудовувати SQL-запити в код, написаний на іншій мові, або використовувати API, специфічний для мови, який приховує синтаксис SQL. SQL описується стандартом ANSI/ISO SQL.

Програмне забезпечення MySQL є відкритим кодом. Відкритий код означає, що кожен може використовувати та змінювати програмне забезпечення. Будь-хто може завантажити програмне забезпечення MySQL з Інтернету та використовувати його безкоштовно. Якщо ви хочете, ви можете переглянути вихідний код та змінити його під свої потреби.

Програмне забезпечення MySQL використовує GPL (GNU General Public License), щоб визначити, що ви можете і не можете робити з програмним забезпеченням в певних ситуаціях. Якщо вам не подобається GPL або ви хочете вбудувати код MySQL в комерційний додаток, ви можете придбати комерційну ліцензійну версію від нас.

Дивіться Огляд ліцензування MySQL для отримання додаткової інформації. Сервер баз даних MySQL може бути дуже швидким, надійним, масштабованим та легким у використанні. Якщо це те, що ви шукаєте, вам варто спробувати. Сервер MySQL може легко працювати на комп'ютері разом з іншими програмами, веб-серверами та іншими, потребуючи мало уваги.

Якщо ви приділите цілу систему MySQL, ви можете змінити налаштування, щоб скористатися всією доступною пам'яттю, потужністю ЦП та потужністю введення-виведення. MySQL також може масштабуватися до кластерів машин, підключених до мережі. Сервер MySQL спочатку розроблявся для роботи з великими базами даних набагато швидше, ніж існуючі рішення і успішно використовується в дуже вимогливих виробничих середовищах протягом багатьох років. Незважаючи на постійний розвиток, сервер MySQL зараз пропонує багату та цінну колекцію функцій.

Його з'єднання, швидкість та безпека робля

PostgreSQL

PostgreSQL є системою управління відкритого коду класу підприємства. Вона підтримує як SQL для реляційних, так і JSON для нереляційних запитів. Її підтримує досвідчена спільнота розробників, які зробили великий внесок у створення надійної системи DBMS. PostgreSQL підтримує розширені типи даних та оптимізацію продуктивності, що є найкращими функціями, доступними в дорогих комерційних базах даних, таких як Oracle та SQL Server.

MySQL або PostgreSQL?

Проект MySQL зробив свій вихідний код доступним за умовами ліцензії GNU та інших пропрієтарних угод. PostgreSQL випущений під ліцензією PostgreSQL. Він належить корпорації Oracle та має кілька платних версій. Це безкоштовне програмне забезпечення з відкритим кодом. Це означає, що ви ніколи не будете платити за цю послугу.

MySQL є ACID-сумісним лише при використанні двигунів зберігання NDB та InnoDB Cluster. PostgreSQL повністю ACID-сумісний. MySQL працює добре в системах OLAP та OLTP, де важлива лише швидкість читання. Продуктивність PostgreSQL працює найкраще в системах, які вимагають виконання складних запитів.

MySQL надійний та добре працює з програмами BI (Business Intelligence), які важко читати. PostgreSQL добре працює з програмами BI. Однак він більш підходить для програм Data Warehousing та аналізу даних, які потребують швидкості читання-запису.

Ось як ви можете створити резервну копію даних для PostgreSQL:

  1. Увійдіть як користувач postgres:

    su - postgres

  2. Використовуйте команду pg_dump, щоб створити резервну копію всіх вмісту бази даних PostgreSQL у текстовому файлі:

    pg_dump -U <username> -Fc < database_name> > /path/to/backup/db/redmine.sql

Знайдіть ці <username> та <redmine_database> у файлі config/database.yml. Команда pg_dump допоможе вам отримати доступ до пароля, якщо це потрібно.


SQLite

SQLite є бібліотекою програмного забезпечення, яка надає електронну систему управління базами даних. Lite в SQLite означає легкість налаштування, адміністрування баз даних та необхідних ресурсів. SQLite має наступні помітні особливості: автономний, безсерверний, нульова конфігурація, транзакційний. Безсерверний. Зазвичай СКБД, такі як MySQL, PostgreSQL і т.д., потребують окремого процесу сервера для роботи.

Додатки, які потребують доступу до сервера баз даних, використовують протокол TCP/IP для надсилання та отримання запитів. Це називається архітектурою клієнт-сервер. СКБД Клієнт-Серверна Архітектура SQLite не працює таким чином. SQLite не потребує сервера для роботи. База даних SQLite інтегрована з додатком, який має доступ до бази даних.

Програми взаємодіють з базою даних SQLite, щоб читати та записувати безпосередньо з файлів баз даних, збережених на диску. Що таке SQLite Self-Contained SQLite є самодостатнім способом, який потребує мінімальної допомоги від операційної системи або зовнішньої бібліотеки. Це робить SQLite корисним у будь-якій ситуації, особливо вбудованих пристроях, таких як iPhone, Android-телефони, ігрові консолі, портативні медіаплеєри тощо. SQLite розроблено з використанням ANSI-C.

Вихідний код доступний як великий sqlite3.C та його заголовковий файл sqlite3.H. Якщо ви хочете розробити програму, яка використовує SQLite, вам просто потрібно скопіювати ці файли до свого проекту та скомпілювати їх разом з вашим кодом. Нульова конфігурація завдяки безсерверній архітектурі, вам не потрібно «встановлювати» SQLite перед його використанням. Немає жодного процесу сервера, який потрібно налаштовувати, запускати та зупиняти. У SQLite немає конфігураційних файлів. Усі транзакції в SQLite повністю відповідають ACID.

Її методи та зміни є атомними, послідовними, ізольованими та стійкими. Іншими словами, всі зміни в межах транзакції відбуваються або повністю, або жодного разу, навіть якщо виникає непередбачувана ситуація, така як збій програми, відключення живлення або збій операційної системи. Унікальні можливості SQLite SQLite використовує д

Приклад скрипту резервного копіювання

Ось простий скрипт оболонки, який можна використовувати для щоденного резервного копіювання (якщо ви використовуєте базу даних MySQL):

# База даних

/usr/bin/mysqldump -u <username> -p<password> <redmine_database> | gzip > /path/to/backup/db/redmine_`date +%Y-%m-%d`.gz

# Вкладення

rsync -a /path/to/redmine/files /path/to/backup/files


Відновлення бази даних


MySQL

Наприклад, якщо у вас є файл дампу з назвою 2018-07-30.gz, то базу даних можна відновити за допомогою наступної команди:

gunzip < 2018-07-30.gz | mysql -u <username> -p <redmine_database>

Введіть пароль.


PostgreSQL

Якщо використовується параметр -Fc команди pg_dump, як у вищезазначеному прикладі, то для відновлення бази даних потрібно використовувати команду pg_restore:

pg_restore -U <username> -d <redmine_database> redmine.sql

Текстовий файл також можна відновити за допомогою psql:

psql <redmine_database> < <infile>


SQLite

Скопіюйте файл бази даних з місця резервного копіювання.

Оновлення Redmine на вищий рівень? Легко.

Отримайте всі потужні інструменти для ідеального планування, управління та контролю проектів в одному програмному забезпеченні.

Спробуйте Easy Redmine у 30-денній безкоштовній пробній версії

Повнофункціональний, захищений SSL, щоденне резервне копіювання, у вашій геолокації