Mevcut Redmine Verilerinizi Nasıl Yedekleyebilir veya Geri Yükleyebilirsiniz

8/31/2020
10 minutes
Lukáš Beňa.

Her proje yönetimi çözümünün başarısı, tek bir basit şeye dayanır - veriye. Redmine'dan mevcut verilerinizi nasıl yedekleyip geri yükleyeceğinizi zaten biliyor musunuz? Bilmiyorsanız, her veritabanı için nasıl yapabileceğinizi aşağıda bulabilirsiniz.

Redmine yedeklemeleri şunları içermelidir:

  • Veritabanı
  • Eklentiler (varsayılan olarak kurulum dizini altındaki dosya dizinine yerleştirilir)


Veritabanını yedekleme


MySQL

MySQL, en popüler Açık Kaynak SQL veritabanı sistemidir ve Oracle Corporation tarafından desteklenir ve dağıtılır. MySQL web sitesi, MySQL yazılımı hakkında en güncel bilgileri sunar. MySQL bir yönetim aracıdır.

Bir veritabanı, yapılandırılmış bir veri serisidir. Basit bir alışveriş listesinden bir resim galerisine veya bir şirket ağındaki büyük miktardaki verilere kadar her şey olabilir. Bir bilgisayar veritabanında depolanan verilere erişmek, veritabanı yönetim aracına ihtiyaç duyar ve MySQL Sunucusu'na ihtiyaç duyar. Bilgisayarlar büyük miktardaki verileri işlemek için mükemmeldir, bu nedenle yönetim sistemleri, bağımsız yardımcı programlar olarak veya diğer uygulamaların bileşenleri olarak bilgisayar biliminde merkezi bir rol oynar. MySQL veritabanları ilişkilidir.

Elektronik bir veritabanı, tüm verileri tek bir büyük depoya koymak yerine ayrı tablolarda depolar. Veritabanı yapıları, hız için optimize edilmiş fiziksel dosyalara düzenlenir. Veritabanı, veritabanları, tablolar, görünümler, satırlar ve sütunlar gibi öğeleri içeren mantıksal model, esnek bir programlama ortamı sunar. Farklı veri alanları arasındaki ilişkileri düzenleyen kuralları belirleyebilirsiniz, örneğin bir-bir, bir-çok, benzersiz, zorunlu veya isteğe bağlı ve farklı tablolar arasındaki "bağlantılar".

Veritabanı bu kuralları destekler ve iyi tasarlanmış bir veritabanıyla uygulamanız hiçbir zaman tutarsız, yinelenen, yetim, güncel olmayan veya eksik verilerle karşılaşmaz. "MySQL" in SQL bileşeni "Yapılandırılmış Sorgu Dili" anlamına gelir. Veritabanlarına erişmek için gereken en yaygın standartlaştırılmış dildir. Programlama ortamınıza bağlı olarak SQL'i doğrudan girebilirsiniz (örneğin, rapor almak için), SQL ifadelerini başka bir dilde yazılmış kodun içine gömebilir veya SQL sözdizimini gizleyen dil özel bir API kullanabilirsiniz. SQL, ANSI/ISO SQL Standardı tarafından tanımlanır.

MySQL yazılımı açık kaynaklıdır. Açık Kaynak, herkesin yazılımı kullanmasına ve değiştirmesine olanak tanır. MySQL yazılımını herkes web'den indirebilir ve ücretsiz olarak kullanabilir. İsterseniz, kaynak koduna bakabilir ve ihtiyaçlarınıza uyacak şekilde değiştirebilirsiniz.

MySQL yazılımı, belirli durumlarda yazılım ile ne yapabileceğinizi ve yapamayacağınızı tanımlamak için GPL (GNU Genel Kamu Lisansı)'nı kullanır. GPL ile rahatsızlık yaşıyorsanız veya MySQL kodunu ticari bir uygulamaya gömmek isterseniz, ticari bir lisanslı sürümünü satın alabilirsiniz.

Daha fazla bilgi için MySQL Lisanslama Genel Bakışı'na bakın. MySQL Veritabanı Sunucusu hızlı, güvenilir, ölçeklenebilir ve kullanımı kolaydır. Aradığınız şey buysa, denemelisiniz. MySQL Sunucusu, diğer uygulamalarınız, web sunucularınız vb. yanında kolayca bir bilgisayarda çalışabilir ve çok az dikkat gerektirir.

Eğer bir sistem tamamen MySQL'e adanmışsa, ayarları değiştirerek mevcut tüm bellek, CPU gücü ve I/O kapasitesinden faydalanabilirsiniz. MySQL ayrıca birbirine bağlı makine kümelerine kadar ölçeklenebilir. MySQL Sunucusu, büyük veritabanlarını mevcut çözümlerden çok daha hızlı bir şekilde işlemek için başlangıçta geliştirilmiş ve uzun yıllardır son derece talepkar üretim ortamlarında başarıyla kullanılmaktadır. Sürekli geliştirilmekte olmasına rağmen, MySQL Sunucusu şu anda zengin ve değerli bir işlev koleksiyonu sunmaktadır.

Bağlantı özellikleri, hızı ve güvenliği, MySQL Sunucusunu web üzerindeki veritabanlarına erişmek için son derece uygun hale getirir. MySQL Sunucusu, istemci/sunucu veya gömülü işlemlerde çalışır. MySQL Veritabanı Yazılımı, çeşitli arka uçları, çeşitli farklı istemci uygulamalarını ve kütüphanelerini, yönetim araçlarını ve çeşitli uygulama programlama arabirimlerini (API'ler) destekleyen çoklu iş parçacıklı bir SQL sunucusuna sahip bir istemci/sunucu sistemidir.

En sevdiğiniz yazılım veya dilin MySQL Veritabanı Sunucusunu desteklemesi çok olasıdır. "MySQL" in telaffuzu "My Ess Que Ell" ( "my sequel" değil), ancak "my sequel" veya başka bir yerelleştirilmiş şekilde telaffuz ederseniz de sorun değil.

İşte MySQL için veri yedekleme nasıl yapılır:

mysqldump komutunu kullanarak MySQL veritabanınızın içeriğini bir metin dosyasına yedekleyebilirsiniz. Örneğin:

mysqldump -u <kullanıcı_adı> -p <parola> <veritabanı_adı> > /yedekleme/yolu/db/redmine.sql

<kullanıcı_adı>, <parola>, <sunucu_adı> ve <redmine_veritabanı> bu dosyada config/database.yml içinde bulunabilir. <sunucu_adı>, veritabanı kurulumunuza bağlı olarak gerekli olmayabilir.


PostgreSQL

PostgreSQL, bir kurumsal sınıf açık kaynaklı yönetim sistemidir. İlişkisel veriler için SQL ve ilişkisel olmayan sorgular için JSON'i destekler. Son derece güvenilir bir DBMS sistemi haline getirmek için deneyimli bir geliştirici topluluğu tarafından desteklenmektedir. PostgreSQL, gelişmiş veri türlerini ve performans optimizasyonunu destekler ve Oracle ve SQL Server gibi pahalı iş veritabanlarında bulunan en iyi özelliklere sahiptir.

MySQL mi PostgreSQL mi?

MySQL projesi, kaynak kodunu GNU Lisansı ve diğer telif hakkı anlaşmaları altında kullanıma sunmuştur. PostgreSQL ise PostgreSQL Lisansı altında yayınlanmaktadır. Şu anda Oracle Corporation tarafından sahiplenilmekte ve birkaç ücretli sürüm sunmaktadır. Ücretsiz ve açık kaynaklı bir yazılımdır. Bu hizmet için hiçbir zaman bir ücret ödemeniz gerekmez.

MySQL, NDB ve InnoDB Cluster Depolama motorları kullanıldığında en iyi şekilde ACID uyumludur PostgreSQL ise tamamen ACID uyumludur. MySQL, yalnızca okuma hızının önemli olduğu OLAP ve OLTP yapılarında iyi performans gösterir. PostgreSQL'nin performansı karmaşık sorguların yürütülmesini tercih eden sistemlerde tatmin edicidir.

MySQL güvenilirdir ve BI (İş Zekası) uygulamalarıyla iyi çalışır, PostgreSQL ise BI uygulamalarıyla iyi çalışır. Ancak, hızlı okuma-yazma hızlarına ihtiyaç duyan Veri Ambarı ve veri analizi uygulamaları için daha uygundur.

İşte PostgreSQL için veri yedekleme nasıl yapılır:

  1. Postgres kullanıcısı olarak oturum açın:

    su - postgres

  2. Bir PostgreSQL veritabanının tüm içeriğini bir metin dosyasına yedeklemek için pg_dump komutunu kullanın:

    pg_dump -U <kullanıcı_adı> -Fc <veritabanı_adı> > /path/to/backup/db/redmine.sql

<kullanıcı_adı> ve <redmine_veritabanı> bilgilerini config/database.yml dosyasında bulabilirsiniz. pg_dump komutu, gerektiğinde şifreye erişmenize yardımcı olacaktır.


SQLite

SQLite, bir elektronik veritabanı yönetim sistemi sunan bir yazılım kütüphanesidir. SQLite'deki "lite" terimi, kurulum, veritabanı yönetimi ve gereken kaynaklar açısından hafif olduğunu ifade etmektedir. SQLite'nin aşağıdaki dikkate değer özellikleri vardır: kendi kendine yeten, sunucusuz, sıfır yapılandırma, işlem tabanlı. Sunucusuz olarak, MySQL, PostgreSQL vb. gibi bir RDBMS, çalışması için ayrı bir sunucu işlemine ihtiyaç duyar.

Veritabanı sunucusuna erişim sağlamak isteyen uygulamalar, istekleri göndermek ve almak için TCP/IP protokolünü kullanır. Buna istemci/sunucu mimarisi denir. RDBMS İstemci/Sunucu Mimarisi SQLite bu şekilde çalışmaz. SQLite'nin çalışması için bir sunucuya ihtiyacı yoktur. SQLite veritabanı, veritabanına erişen uygulama ile entegredir.

Programlar, SQLite veritabanıyla doğrudan veritabanı dosyalarından okuma ve yazma yapar. SQLite Kendi Kendine Yeterli SQLite, işletim sistemi veya dış kütüphanelerden minimum düzeyde yardım gerektiren bir şekilde çalışır. Bu, SQLite'ın özellikle iPhone'lar, Android telefonlar, oyun konsolları, el tipi medya oynatıcılar gibi gömülü cihazlarda kullanışlı olduğunu gösterir. SQLite ANSI-C kullanılarak geliştirilmiştir.

Kaynak kodu, büyük bir sqlite3.C dosyası ve başlık dosyası sqlite3.H olarak mevcuttur. SQLite kullanan bir uygulama geliştirmek isterseniz, bu dosyaları projenize bırakmanız ve kodunuzla birlikte derlemeniz yeterlidir. Sunucusuz mimari sayesinde sıfır yapılandırma, SQLite'ı kullanmadan önce "kurulum" yapmanıza gerek yoktur. Yapılandırılması gereken, başlatılması ve durdurulması gereken bir sunucu işlemi yoktur. SQLite herhangi bir yapılandırma dosyası kullanmaz. SQLite içindeki tüm işlemler tamamen ACID uyumludur.

İşlemler ve değişiklikler Atomik, Tutarlı, İzole edilmiş ve Dayanıklıdır. Başka bir deyişle, bir işlem içindeki tüm değişiklikler, beklenmedik bir durum (uygulama çökmesi, güç kesintisi veya işletim sistemi çökmesi gibi) meydana geldiğinde tamamen gerçekleşir veya hiç gerçekleşmez. SQLite'ın benzersiz özellikleri SQLite, tablolar için dinamik tipler kullanır. Bu, herhangi bir veriyi herhangi bir sütunda saklayabileceğiniz anlamına gelir, veri türüne bakılmaksızın. SQLite, bir veritabanı dosyasına aynı anda birden fazla veritabanı bağlantısı yapmanıza olanak tanır.

Bu, farklı veritabanlarındaki tabloları birleştirme veya veri kopyalama gibi birçok güzel özelliği beraberinde getirir. SQLite, hafızada çalışabilen hızlı veritabanları oluşturabilir. SQLite veritabanları tümüyle bir dosyada saklanır, bu nedenle dosyayı başka bir konuma kopyalayarak yedekleyebilirsiniz. SQLite veritabanının dosya adını config/database.yml dosyasına bakarak belirleyebilirsiniz.


Eklentileri yedekleme

Her dosya yüklemesi, attachments_storage_path (varsayılan olarak files/ dizini) içinde saklanır. Bu dizindeki içeriği başka bir konuma kopyalayarak hızlı bir şekilde yedekleyebilirsiniz.

UYARI: attachments_storage_path, files/ dizini dışında başka bir dizini gösterebilir. Gereksiz bir yedekleme yapmamak için config/configuration.yml dosyasındaki ayarı kontrol ettiğinizden emin olun.


Örnek yedekleme betiği

Günlük yedeklemeler için kullanılabilecek basit bir kabuk betiği olabilir (bir MySQL veritabanı kullanıyorsanız varsayılan olarak):

# Veritabanı

/usr/bin/mysqldump -u <kullanıcı_adı> -p<parola> <redmine_veritabanı> | gzip > /yedek/konumu/db/redmine_`date +%Y-%m-%d`.gz

# Ekler

rsync -a /redmine/dosya/yolu /yedek/konumu/dosyalar


Bir veritabanını geri yükleme


MySQL

Örneğin, 2018-07-30.gz adında bir sıkıştırılmış yedek dosyanız varsa, veritabanını aşağıdaki komutla geri yükleyebilirsiniz:

gunzip < 2018-07-30.gz | mysql -u <kullanıcı_adı> -p <redmine_veritabanı>

Parolanızı girin.


PostgreSQL

pg_dump komutunun -Fc seçeneği yukarıdaki örnekte olduğu gibi kullanıldığında, pg_restore komutunu kullanmanız gerekmektedir:

pg_restore -U <kullanıcı_adı> -d <redmine_veritabanı> redmine.sql

Bir metin dosyası da psql ile geri yüklenebilir:

psql <redmine_veritabanı> < <giriş_dosyası>


SQLite

Yedekleme konumundaki veritabanı dosyasını kopyalayın.

Redmine yükseltmesi için en iyi seçenek? Kolay.

Mükemmel proje planlama, yönetim ve kontrol için güçlü araçları tek bir yazılımda edinin.

Easy Redmine'ı 30 gün ücretsiz deneyin

Tam özellikli, SSL korumalı, günlük yedeklemeler, bulunduğunuz konumda