{"id":31778,"date":"2025-10-13T22:41:30","date_gmt":"2025-10-13T19:41:30","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=31778"},"modified":"2025-10-13T22:41:30","modified_gmt":"2025-10-13T19:41:30","slug":"ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/","title":{"rendered":"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber<\/h2>\n<h2>1. Giri\u015f<\/h2>\n<p>G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen dijital d\u00fcnyas\u0131nda, veri, her kurulu\u015fun en de\u011ferli varl\u0131klar\u0131ndan biridir. \u00d6zellikle b\u00fcy\u00fck \u00f6l\u00e7ekli ve dinamik veri setleriyle \u00e7al\u0131\u015fan uygulamalar i\u00e7in tercih edilen NoSQL veritabanlar\u0131ndan MongoDB, esnek yap\u0131s\u0131 ve y\u00fcksek performans\u0131 sayesinde pop\u00fclaritesini art\u0131rm\u0131\u015ft\u0131r. Ancak, herhangi bir veritaban\u0131 sisteminde oldu\u011fu gibi, MongoDB verilerinin g\u00fcvenli\u011fini sa\u011flamak, olas\u0131 veri kay\u0131plar\u0131na kar\u015f\u0131 \u00f6nlem almak ve farkl\u0131 ortamlar aras\u0131nda veri ta\u015f\u0131mak kritik \u00f6neme sahiptir. Veri kayb\u0131, donan\u0131m ar\u0131zalar\u0131, yaz\u0131l\u0131m hatalar\u0131, insan hatalar\u0131 veya k\u00f6t\u00fc niyetli sald\u0131r\u0131lar gibi bir\u00e7ok nedenden kaynaklanabilir ve i\u015fletmeler i\u00e7in ciddi sonu\u00e7lar do\u011furabilir.<\/p>\n<p>Bu makale, Ubuntu 20.04 i\u015fletim sistemi \u00fczerinde \u00e7al\u0131\u015fan bir MongoDB veritaban\u0131n\u0131 nas\u0131l g\u00fcvenli bir \u015fekilde yedekleyece\u011finizi, ihtiya\u00e7 duyuldu\u011funda nas\u0131l geri y\u00fckleyece\u011finizi ve farkl\u0131 sunucular veya ortamlar aras\u0131nda nas\u0131l ta\u015f\u0131yaca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klamaktad\u0131r. Amac\u0131m\u0131z, hem temel yedekleme ve geri y\u00fckleme i\u015flemlerini hem de daha geli\u015fmi\u015f ta\u015f\u0131ma stratejilerini ve otomasyon \u00e7\u00f6z\u00fcmlerini pratik \u00f6rneklerle sunarak, MongoDB y\u00f6neticilerine ve geli\u015ftiricilere kapsaml\u0131 bir rehber sa\u011flamakt\u0131r. Bu rehber boyunca, MongoDB&#8217;nin kendi b\u00fcnyesinde sundu\u011fu g\u00fc\u00e7l\u00fc <code>mongodump<\/code> ve <code>mongorestore<\/code> ara\u00e7lar\u0131n\u0131 detayl\u0131 bir \u015fekilde inceleyece\u011fiz.<\/p>\n<h2>2. \u00d6n Gereksinimler<\/h2>\n<p>Bu rehberdeki ad\u0131mlar\u0131 ba\u015far\u0131yla uygulayabilmek i\u00e7in belirli \u00f6n gereksinimlerin kar\u015f\u0131lanm\u0131\u015f olmas\u0131 gerekmektedir.<\/p>\n<h3>2.1. Ubuntu 20.04 Kurulumu<\/h3>\n<p>\u0130\u015flemleri ger\u00e7ekle\u015ftirece\u011finiz bir Ubuntu 20.04 sunucusuna (fiziksel veya sanal) ihtiyac\u0131n\u0131z vard\u0131r. Sunucuya SSH \u00fczerinden veya do\u011frudan konsol eri\u015fiminiz olmal\u0131d\u0131r. Y\u00f6netici (sudo) yetkilerine sahip bir kullan\u0131c\u0131 ile oturum a\u00e7man\u0131z gerekmektedir.<\/p>\n<h3>2.2. MongoDB Kurulumu<\/h3>\n<p>Ubuntu 20.04 sunucunuzda \u00e7al\u0131\u015fan bir MongoDB \u00f6rne\u011fi kurulu olmal\u0131d\u0131r. E\u011fer hen\u00fcz kurulu de\u011filse, MongoDB&#8217;nin resmi belgelerini takip ederek kurulumu ger\u00e7ekle\u015ftirebilirsiniz. Genellikle a\u015fa\u011f\u0131daki ad\u0131mlarla h\u0131zl\u0131 bir kurulum yap\u0131labilir:<\/p>\n<pre><code class=\"language-bash\"># GPG anahtar\u0131n\u0131 i\u00e7e aktar\u0131n\nwget -qO - https:\/\/www.mongodb.org\/static\/pgp\/server-5.0.asc | sudo apt-key add -\n\n<h2>MongoDB deposunu sources.list.d dizinine ekleyin<\/h2>\necho \"deb [ arch=amd64,arm64 ] https:\/\/repo.mongodb.org\/apt\/ubuntu focal\/mongodb-org\/5.0 multiverse\" | sudo tee \/etc\/apt\/sources.list.d\/mongodb-org-5.0.list\n\n<h2>Paket listesini g\u00fcncelleyin<\/h2>\nsudo apt update\n\n<h2>MongoDB'yi kurun<\/h2>\nsudo apt install -y mongodb-org\n\n<h2>MongoDB servisini ba\u015flat\u0131n ve ba\u015flang\u0131\u00e7ta otomatik \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flay\u0131n<\/h2>\nsudo systemctl start mongod\nsudo systemctl enable mongod\nsudo systemctl status mongod<\/code><\/pre>\n<p>Kurulum sonras\u0131 MongoDB&#8217;nin \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 <code>sudo systemctl status mongod<\/code> komutu ile kontrol edebilirsiniz.<\/p>\n<h3>2.3. Gerekli Ara\u00e7lar<\/h3>\n<p>MongoDB yedekleme ve geri y\u00fckleme i\u015flemleri i\u00e7in <code>mongodump<\/code> ve <code>mongorestore<\/code> komut sat\u0131r\u0131 ara\u00e7lar\u0131na ihtiyac\u0131m\u0131z olacak. Bu ara\u00e7lar, MongoDB&#8217;nin &#8220;Database Tools&#8221; paketi i\u00e7erisinde yer al\u0131r. MongoDB&#8217;yi kurduysan\u0131z, bu ara\u00e7lar genellikle otomatik olarak kurulmu\u015f olacakt\u0131r. Ancak, e\u011fer kurulu de\u011filse veya ayr\u0131 bir sunucuda bu i\u015flemleri yapacaksan\u0131z, a\u015fa\u011f\u0131daki komutla kurabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install -y mongodb-database-tools<\/code><\/pre>\n<p>Kurulumun ard\u0131ndan <code>mongodump --version<\/code> ve <code>mongorestore --version<\/code> komutlar\u0131n\u0131 \u00e7al\u0131\u015ft\u0131rarak ara\u00e7lar\u0131n kurulu ve eri\u015filebilir oldu\u011funu do\u011frulayabilirsiniz.<\/p>\n<h2>3. MongoDB Veritaban\u0131n\u0131 Yedekleme<\/h2>\n<p>Veri yedekleme, bir felaket kurtarma stratejisinin temelidir. MongoDB&#8217;de yedekleme i\u00e7in birden fazla y\u00f6ntem bulunsa da, en yayg\u0131n ve esnek y\u00f6ntem <code>mongodump<\/code> arac\u0131d\u0131r.<\/p>\n<h3>3.1. <code>mongodump<\/code> Kullanarak Yedekleme<\/h3>\n<p><code>mongodump<\/code> arac\u0131, MongoDB veritaban\u0131n\u0131z\u0131n BSON (Binary JSON) format\u0131nda bir yede\u011fini olu\u015fturur. Bu yedekler, daha sonra <code>mongorestore<\/code> ile kolayca geri y\u00fcklenebilir.<\/p>\n<h4>3.1.1. T\u00fcm Veritabanlar\u0131n\u0131 Yedekleme<\/h4>\n<p>Bir MongoDB \u00f6rne\u011findeki t\u00fcm veritabanlar\u0131n\u0131 yedeklemek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">mongodump --out \/var\/backups\/mongodb\/$(date +%Y%m%d%H%M%S)<\/code><\/pre>\n<p>*   <code>--out<\/code>: Yedeklerin kaydedilece\u011fi dizini belirtir. Burada, her yedekleme i\u00e7in benzersiz bir tarih ve saat damgas\u0131 i\u00e7eren bir alt dizin olu\u015fturulur.<br \/>\n*   <code>$(date +%Y%m%d%H%M%S)<\/code>: Mevcut tarih ve saati <code>YYYYMMDDHHMMSS<\/code> format\u0131nda d\u00f6nd\u00fcr\u00fcr. Bu, yedekleme dizinlerinin kar\u0131\u015fmas\u0131n\u0131 \u00f6nler.<\/p>\n<p>\u00d6rnek \u00e7\u0131kt\u0131:<\/p>\n<pre><code class=\"language-\">2023-10-27T10:30:01.000+0000    writing admin.system.version to \/var\/backups\/mongodb\/20231027103000\/admin\/system.version.bson\n2023-10-27T10:30:01.000+0000    writing config.system.sessions to \/var\/backups\/mongodb\/20231027103000\/config\/system.sessions.bson\n...<\/code><\/pre>\n<p>Yedekleme dizininin i\u00e7inde, her veritaban\u0131 i\u00e7in ayr\u0131 bir alt dizin ve bu dizinlerin i\u00e7inde koleksiyonlar\u0131n BSON dosyalar\u0131 ve indeks tan\u0131mlar\u0131 (<code>.metadata.json<\/code>) bulunur.<\/p>\n<h4>3.1.2. Belirli Bir Veritaban\u0131n\u0131 Yedekleme<\/h4>\n<p>Sadece belirli bir veritaban\u0131n\u0131 yedeklemek isterseniz, <code>--db<\/code> parametresini kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">mongodump --db veritabani_adi --out \/var\/backups\/mongodb\/$(date +%Y%m%d%H%M%S)_veritabani_adi<\/code><\/pre>\n<p>\u00d6rne\u011fin, <code>mydb<\/code> ad\u0131nda bir veritaban\u0131n\u0131 yedeklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">mongodump --db mydb --out \/var\/backups\/mongodb\/$(date +%Y%m%d%H%M%S)_mydb<\/code><\/pre>\n<h4>3.1.3. Belirli Bir Koleksiyonu Yedekleme<\/h4>\n<p>Daha da spesifik olarak, belirli bir veritaban\u0131 i\u00e7indeki tek bir koleksiyonu yedekleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">mongodump --db veritabani_adi --collection koleksiyon_adi --out \/var\/backups\/mongodb\/$(date +%Y%m%d%H%M%S)_koleksiyon_adi<\/code><\/pre>\n<p>\u00d6rne\u011fin, <code>mydb<\/code> veritaban\u0131ndaki <code>users<\/code> koleksiyonunu yedeklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">mongodump --db mydb --collection users --out \/var\/backups\/mongodb\/$(date +%Y%m%d%H%M%S)_users<\/code><\/pre>\n<h4>3.1.4. S\u0131k\u0131\u015ft\u0131rma ve Yetkilendirme<\/h4>\n<p>B\u00fcy\u00fck veritabanlar\u0131 i\u00e7in yedekleme boyutunu azaltmak amac\u0131yla s\u0131k\u0131\u015ft\u0131rma kullanmak \u00f6nemlidir. Ayr\u0131ca, yetkilendirme (authentication) etkinle\u015ftirilmi\u015f bir MongoDB \u00f6rne\u011fi i\u00e7in kullan\u0131c\u0131 ad\u0131 ve \u015fifre belirtmeniz gerekir.<\/p>\n<p>*   <strong>S\u0131k\u0131\u015ft\u0131rma:<\/strong> <code>--gzip<\/code> parametresi ile yedekleme dosyalar\u0131n\u0131 s\u0131k\u0131\u015ft\u0131rabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">mongodump --db mydb --gzip --out \/var\/backups\/mongodb\/$(date +%Y%m%d%H%M%S)_mydb.gz<\/code><\/pre>\n<p>    Bu komut, <code>mydb<\/code> veritaban\u0131n\u0131n s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f bir yede\u011fini olu\u015fturur. Ancak <code>--out<\/code> ile belirtilen dizin yap\u0131s\u0131 korunur, yani s\u0131k\u0131\u015ft\u0131rma her BSON dosyas\u0131 i\u00e7in ayr\u0131 ayr\u0131 uygulan\u0131r. Tek bir s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f ar\u015fiv dosyas\u0131 elde etmek i\u00e7in farkl\u0131 bir y\u00f6ntem (\u00f6rne\u011fin <code>tar<\/code> ile s\u0131k\u0131\u015ft\u0131rma) kullanman\u0131z gerekebilir, ancak <code>mongodump<\/code>&#8216;\u0131n kendi <code>--gzip<\/code> parametresi her BSON dosyas\u0131n\u0131 ayr\u0131 ayr\u0131 s\u0131k\u0131\u015ft\u0131r\u0131r ve <code>mongorestore<\/code> taraf\u0131ndan do\u011frudan okunabilir.<br \/>\n*   <strong>Yetkilendirme:<\/strong> MongoDB&#8217;nizde yetkilendirme etkinse, yedekleme i\u015flemi i\u00e7in uygun kimlik bilgilerini sa\u011flaman\u0131z gerekir.<\/p>\n<pre><code class=\"language-bash\">mongodump --db mydb --username yedek_kullanici --password \"sifre\" --authenticationDatabase admin --out \/var\/backups\/mongodb\/$(date +%Y%m%d%H%M%S)_mydb<\/code><\/pre>\n<p>    *   <code>--username<\/code>: Yedekleme i\u015flemini yapacak kullan\u0131c\u0131n\u0131n ad\u0131.<br \/>\n    *   <code>--password<\/code>: Kullan\u0131c\u0131n\u0131n \u015fifresi.<br \/>\n    *   <code>--authenticationDatabase<\/code>: Kullan\u0131c\u0131n\u0131n yetkilendirildi\u011fi veritaban\u0131 (genellikle <code>admin<\/code>).<br \/>\n    *   Di\u011fer parametreler: <code>--host<\/code> (MongoDB sunucusunun IP adresi veya hostname) ve <code>--port<\/code> (MongoDB&#8217;nin \u00e7al\u0131\u015ft\u0131\u011f\u0131 port, varsay\u0131lan 27017).<\/p>\n<h3>3.2. Dosya Sistemi Anl\u0131k G\u00f6r\u00fcnt\u00fcleri (Snapshots)<\/h3>\n<p><code>mongodump<\/code> d\u0131\u015f\u0131nda, \u00f6zellikle b\u00fcy\u00fck \u00f6l\u00e7ekli ve kritik sistemlerde LVM (Logical Volume Manager) veya bulut sa\u011flay\u0131c\u0131lar\u0131n (AWS EBS, Azure Disk, Google Persistent Disk) anl\u0131k g\u00f6r\u00fcnt\u00fc (snapshot) \u00f6zelliklerini kullanarak da yedekleme yap\u0131labilir. Bu y\u00f6ntemler, t\u00fcm disk b\u00f6l\u00fcm\u00fcn\u00fcn anl\u0131k bir g\u00f6r\u00fcnt\u00fcs\u00fcn\u00fc alarak h\u0131zl\u0131 yedekleme sa\u011flar. Ancak, veritaban\u0131 tutarl\u0131l\u0131\u011f\u0131n\u0131 sa\u011flamak i\u00e7in anl\u0131k g\u00f6r\u00fcnt\u00fc al\u0131nmadan \u00f6nce MongoDB&#8217;nin yazma i\u015flemlerini k\u0131sa bir s\u00fcreli\u011fine duraklatmas\u0131 (<code>fsyncLock<\/code>) veya bir replica set&#8217;in secondary d\u00fc\u011f\u00fcm\u00fcnden anl\u0131k g\u00f6r\u00fcnt\u00fc al\u0131nmas\u0131 gibi \u00f6zel \u00f6nlemler gerekebilir. Bu y\u00f6ntemler daha \u00e7ok sistem y\u00f6neticileri taraf\u0131ndan tercih edilir ve <code>mongodump<\/code>&#8216;a g\u00f6re daha karma\u015f\u0131kt\u0131r.<\/p>\n<h3>3.3. Replica Set Yedeklemesi<\/h3>\n<p>\u00dcretim ortamlar\u0131nda MongoDB genellikle replica set olarak yap\u0131land\u0131r\u0131l\u0131r. Bu durumda, yedeklemeyi bir secondary (ikincil) d\u00fc\u011f\u00fcmden almak, primary (birincil) d\u00fc\u011f\u00fcm \u00fczerindeki performans\u0131 etkilemez. Ayr\u0131ca, <code>mongodump<\/code> ile <code>--oplog<\/code> parametresini kullanarak yedekleme yapmak, point-in-time recovery (belirli bir ana geri d\u00f6n\u00fc\u015f) i\u00e7in gerekli olan oplog&#8217;u da yedeklemenizi sa\u011flar.<\/p>\n<pre><code class=\"language-bash\">mongodump --oplog --db mydb --out \/var\/backups\/mongodb\/$(date +%Y%m%d%H%M%S)_mydb_oplog<\/code><\/pre>\n<p><code>--oplog<\/code> parametresi, yedekleme i\u015flemi s\u0131ras\u0131nda ger\u00e7ekle\u015fen t\u00fcm i\u015flemleri (oplog) yakalar. Bu, yedekleme tamamland\u0131ktan sonra bile veritaban\u0131n\u0131 yedekleme an\u0131ndan sonraki herhangi bir noktaya geri y\u00fcklemenizi sa\u011flar, bu da felaket kurtarma senaryolar\u0131nda hayati \u00f6nem ta\u015f\u0131r. Replica set yedeklemelerinde, genellikle bir secondary d\u00fc\u011f\u00fcm\u00fcn okuma tercihini de\u011fi\u015ftirerek (<code>db.getMongo().setReadPref('secondaryPreferred')<\/code>) yedekleme yap\u0131l\u0131r.<\/p>\n<h2>4. MongoDB Veritaban\u0131n\u0131 Geri Y\u00fckleme<\/h2>\n<p>Yedeklemeler, ancak ba\u015far\u0131l\u0131 bir \u015fekilde geri y\u00fcklenebildiklerinde de\u011ferlidir. <code>mongorestore<\/code> arac\u0131, <code>mongodump<\/code> ile olu\u015fturulan BSON yedeklerini bir MongoDB \u00f6rne\u011fine geri y\u00fcklemek i\u00e7in kullan\u0131l\u0131r.<\/p>\n<h3>4.1. <code>mongorestore<\/code> Kullanarak Geri Y\u00fckleme<\/h3>\n<p><code>mongorestore<\/code> temel olarak <code>mongodump<\/code>&#8216;\u0131n olu\u015fturdu\u011fu dizin yap\u0131s\u0131n\u0131 takip eder.<\/p>\n<h4>4.1.1. Temel Geri Y\u00fckleme<\/h4>\n<p>T\u00fcm yedeklenmi\u015f veritabanlar\u0131n\u0131 orijinal konumlar\u0131na geri y\u00fcklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">mongorestore \/var\/backups\/mongodb\/20231027103000<\/code><\/pre>\n<p>Bu komut, <code>\/var\/backups\/mongodb\/20231027103000<\/code> dizinindeki t\u00fcm veritabanlar\u0131n\u0131 ve koleksiyonlar\u0131, yedeklendikleri isimlerle geri y\u00fckler. E\u011fer hedef veritaban\u0131 veya koleksiyon zaten varsa, <code>mongorestore<\/code> mevcut belgelerle \u00e7ak\u0131\u015fanlar\u0131 varsay\u0131lan olarak atlar (overwrite yapmaz).<\/p>\n<h4>4.1.2. Belirli Bir Veritaban\u0131n\u0131 Geri Y\u00fckleme<\/h4>\n<p>Yedekleme dizini i\u00e7inden sadece belirli bir veritaban\u0131n\u0131 geri y\u00fcklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">mongorestore --db hedef_veritabani_adi \/var\/backups\/mongodb\/20231027103000\/kaynak_veritabani_adi<\/code><\/pre>\n<p>\u00d6rne\u011fin, <code>mydb<\/code> veritaban\u0131n\u0131n yede\u011fini <code>new_mydb<\/code> olarak geri y\u00fcklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">mongorestore --db new_mydb \/var\/backups\/mongodb\/20231027103000\/mydb<\/code><\/pre>\n<p>Bu komut, <code>mydb<\/code> yedek dizinindeki t\u00fcm koleksiyonlar\u0131 <code>new_mydb<\/code> veritaban\u0131na geri y\u00fckler.<\/p>\n<h4>4.1.3. Belirli Koleksiyonlar\u0131 Geri Y\u00fckleme<\/h4>\n<p>Bir yedekten belirli bir koleksiyonu geri y\u00fcklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">mongorestore --db hedef_veritabani --collection hedef_koleksiyon \/var\/backups\/mongodb\/20231027103000\/kaynak_veritabani\/kaynak_koleksiyon.bson<\/code><\/pre>\n<p>\u00d6rne\u011fin, <code>mydb<\/code> yedek dizinindeki <code>users<\/code> koleksiyonunu <code>new_mydb<\/code> veritaban\u0131ndaki <code>new_users<\/code> koleksiyonuna geri y\u00fcklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">mongorestore --db new_mydb --collection new_users \/var\/backups\/mongodb\/20231027103000\/mydb\/users.bson<\/code><\/pre>\n<h4>4.1.4. Farkl\u0131 Bir Veritaban\u0131na veya Koleksiyona Geri Y\u00fckleme (<code>--nsFrom<\/code> ve <code>--nsTo<\/code>)<\/h4>\n<p>E\u011fer yedekledi\u011finiz veritaban\u0131 veya koleksiyon ad\u0131n\u0131 geri y\u00fckleme s\u0131ras\u0131nda de\u011fi\u015ftirmek isterseniz, <code>--nsFrom<\/code> (namespace from) ve <code>--nsTo<\/code> (namespace to) parametrelerini kullanabilirsiniz.<\/p>\n<pre><code class=\"language-bash\">mongorestore --nsFrom \"kaynak_db.kaynak_koleksiyon\" --nsTo \"hedef_db.hedef_koleksiyon\" \/path\/to\/backup\/files<\/code><\/pre>\n<p>\u00d6rne\u011fin, <code>mydb.users<\/code> koleksiyonunu <code>new_db.new_users<\/code> olarak geri y\u00fcklemek i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">mongorestore --nsFrom \"mydb.users\" --nsTo \"new_db.new_users\" \/var\/backups\/mongodb\/20231027103000\/mydb\/users.bson<\/code><\/pre>\n<p>Bu, veritaban\u0131 ve koleksiyon adlar\u0131n\u0131 yeniden e\u015flemek i\u00e7in \u00e7ok kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<h4>4.1.5. Drop ve Restore (<code>--drop<\/code>)<\/h4>\n<p>Geri y\u00fcklemeden \u00f6nce hedef veritaban\u0131ndaki veya koleksiyondaki mevcut verileri silmek (drop etmek) isterseniz, <code>--drop<\/code> parametresini kullanabilirsiniz. Bu, temiz bir geri y\u00fckleme sa\u011flar ve mevcut verilerin \u00fczerine yazmak yerine tamamen de\u011fi\u015ftirilmesini garantiler. <strong>Ancak, bu komutu kullan\u0131rken son derece dikkatli olmal\u0131s\u0131n\u0131z, \u00e7\u00fcnk\u00fc mevcut verileri kal\u0131c\u0131 olarak siler.<\/strong><\/p>\n<pre><code class=\"language-bash\">mongorestore --drop \/var\/backups\/mongodb\/20231027103000\/mydb<\/code><\/pre>\n<p>Bu komut, <code>mydb<\/code> veritaban\u0131ndaki t\u00fcm koleksiyonlar\u0131 geri y\u00fcklemeden \u00f6nce siler.<\/p>\n<h4>4.1.6. S\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f Yedekleri Geri Y\u00fckleme ve Yetkilendirme<\/h4>\n<p>E\u011fer yedekler <code>--gzip<\/code> parametresiyle s\u0131k\u0131\u015ft\u0131r\u0131ld\u0131ysa, geri y\u00fcklerken de <code>--gzip<\/code> parametresini kullanmal\u0131s\u0131n\u0131z:<\/p>\n<pre><code class=\"language-bash\">mongorestore --gzip \/var\/backups\/mongodb\/20231027103000_mydb.gz<\/code><\/pre>\n<p>Yetkilendirme etkinse, <code>mongorestore<\/code> i\u00e7in de kimlik bilgilerini sa\u011flaman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">mongorestore --db mydb --username yedek_kullanici --password \"sifre\" --authenticationDatabase admin \/var\/backups\/mongodb\/20231027103000\/mydb<\/code><\/pre>\n<p>Geri y\u00fckleme i\u015flemi, yedeklemenin boyutuna ve sunucunun performans\u0131na ba\u011fl\u0131 olarak zaman alabilir. \u0130\u015flemin tamamland\u0131\u011f\u0131n\u0131 ve verilerin do\u011fru \u015fekilde geri y\u00fcklendi\u011fini kontrol etmek i\u00e7in MongoDB shell&#8217;i (<code>mongosh<\/code>) kullanarak veritaban\u0131n\u0131z\u0131 kontrol etmelisiniz.<\/p>\n<h2>5. MongoDB Veritaban\u0131n\u0131 Ta\u015f\u0131ma<\/h2>\n<p>Veritaban\u0131 ta\u015f\u0131ma (migration), bir MongoDB veritaban\u0131n\u0131 bir sunucudan veya ortamdan di\u011ferine aktarma i\u015flemidir. Bu i\u015flem, sunucu y\u00fckseltmeleri, buluta ge\u00e7i\u015f, geli\u015ftirme ortam\u0131ndan \u00fcretim ortam\u0131na da\u011f\u0131t\u0131m veya felaket kurtarma senaryolar\u0131nda gerekli olabilir.<\/p>\n<h3>5.1. <code>mongodump<\/code> ve <code>mongorestore<\/code> Kullanarak Ta\u015f\u0131ma<\/h3>\n<p>Bu, en basit ve en yayg\u0131n ta\u015f\u0131ma y\u00f6ntemidir ve k\u00fc\u00e7\u00fck ile orta \u00f6l\u00e7ekli veritabanlar\u0131 i\u00e7in idealdir.<br \/>\n<strong>Ad\u0131m 1: Kaynak Sunucuda Yedekleme<\/strong><br \/>\nKaynak sunucunuzda, ta\u015f\u0131mak istedi\u011finiz veritaban\u0131n\u0131n yede\u011fini al\u0131n. T\u00fcm veritabanlar\u0131n\u0131 veya sadece belirli olanlar\u0131 yedekleyebilirsiniz. S\u0131k\u0131\u015ft\u0131rma kullanmak, ta\u015f\u0131ma s\u00fcresini azaltabilir.<\/p>\n<pre><code class=\"language-bash\"># Kaynak sunucuda\nmongodump --db veritabani_adi --gzip --out \/tmp\/mongodb_yedek<\/code><\/pre>\n<p>E\u011fer yetkilendirme etkinse, <code>--username<\/code>, <code>--password<\/code> ve <code>--authenticationDatabase<\/code> parametrelerini eklemeyi unutmay\u0131n.<\/p>\n<p><strong>Ad\u0131m 2: Yedek Dosyas\u0131n\u0131 Hedef Sunucuya Aktarma<\/strong><br \/>\nYedekleme tamamland\u0131ktan sonra, olu\u015fturulan dizini (bu \u00f6rnekte <code>\/tmp\/mongodb_yedek<\/code>) hedef sunucuya kopyalaman\u0131z gerekir. <code>scp<\/code> (Secure Copy Protocol) veya <code>rsync<\/code> gibi ara\u00e7lar\u0131 kullanabilirsiniz.<\/p>\n<pre><code class=\"language-bash\"># Kaynak sunucuda (veya yerel makinenizden)\nscp -r \/tmp\/mongodb_yedek kullanici@hedef_sunucu_ip:\/tmp\/<\/code><\/pre>\n<p><code>kullanici<\/code>, hedef sunucudaki kullan\u0131c\u0131 ad\u0131n\u0131z ve <code>hedef_sunucu_ip<\/code> hedef sunucunun IP adresi veya hostname&#8217;idir.<\/p>\n<p><strong>Ad\u0131m 3: Hedef Sunucuda Geri Y\u00fckleme<\/strong><br \/>\nYedek dosyalar\u0131 hedef sunucuya aktar\u0131ld\u0131ktan sonra, <code>mongorestore<\/code> kullanarak verileri hedef MongoDB \u00f6rne\u011fine geri y\u00fckleyebilirsiniz.<\/p>\n<pre><code class=\"language-bash\"># Hedef sunucuda\nmongorestore --db veritabani_adi --gzip \/tmp\/mongodb_yedek\/veritabani_adi<\/code><\/pre>\n<p>E\u011fer yetkilendirme etkinse, hedef sunucudaki MongoDB i\u00e7in de uygun kimlik bilgilerini sa\u011flamal\u0131s\u0131n\u0131z. E\u011fer yedekledi\u011finiz veritaban\u0131n\u0131n ad\u0131n\u0131 de\u011fi\u015ftirmek isterseniz, 4.1.2 veya 4.1.4 b\u00f6l\u00fcmlerindeki <code>mongorestore<\/code> komutlar\u0131n\u0131 kullanabilirsiniz.<\/p>\n<h3>5.2. Replica Set ile Ta\u015f\u0131ma<\/h3>\n<p>Kesintisiz (near-zero downtime) ta\u015f\u0131ma i\u00e7in, \u00f6zellikle \u00fcretim ortamlar\u0131nda, replica set y\u00f6ntemini kullanmak daha geli\u015fmi\u015f bir \u00e7\u00f6z\u00fcmd\u00fcr. Bu y\u00f6ntem, MongoDB&#8217;nin yerle\u015fik replikasyon \u00f6zelliklerinden yararlan\u0131r.<br \/>\n<strong>Ad\u0131m 1: Yeni Sunucuyu Replica Set&#8217;e Ekleme<\/strong><br \/>\nHedef sunucuya yeni bir MongoDB \u00f6rne\u011fi kurun ve mevcut replica set&#8217;in bir \u00fcyesi olarak ekleyin. MongoDB yap\u0131land\u0131rma dosyas\u0131nda (genellikle <code>\/etc\/mongod.conf<\/code>) <code>replication.replSetName<\/code> ayar\u0131n\u0131n mevcut replica set ad\u0131yla e\u015fle\u015fti\u011finden emin olun.<br \/>\nArd\u0131ndan, kaynak sunucudaki <code>mongosh<\/code> konsolunda a\u015fa\u011f\u0131daki komutu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<pre><code class=\"language-javascript\">rs.add(\"hedef_sunucu_ip:27017\")<\/code><\/pre>\n<p>Yeni \u00fcye, mevcut verileri otomatik olarak senkronize etmeye ba\u015flayacakt\u0131r. Bu i\u015flem, veritaban\u0131n\u0131n boyutuna ve a\u011f h\u0131z\u0131na ba\u011fl\u0131 olarak zaman alabilir. <code>rs.status()<\/code> komutu ile senkronizasyon durumunu takip edebilirsiniz.<\/p>\n<p><strong>Ad\u0131m 2: Yeni \u00dcyenin Primary Olmas\u0131n\u0131 Sa\u011flama (\u0130ste\u011fe Ba\u011fl\u0131)<\/strong><br \/>\nT\u00fcm veriler senkronize edildikten sonra, yeni \u00fcyenin primary (birincil) olmas\u0131n\u0131 sa\u011flayabilirsiniz. Bunun i\u00e7in mevcut primary&#8217;yi ad\u0131m ad\u0131m d\u00fc\u015f\u00fcrerek yeni primary&#8217;nin se\u00e7ilmesini tetikleyebilirsiniz. Ancak, bu i\u015flem bir k\u0131sa s\u00fcreli kesintiye neden olabilir. Genellikle, yeni \u00fcyeyi primary yapmadan \u00f6nce uygulaman\u0131n yeni \u00fcyeye do\u011fru \u015fekilde ba\u011flanabildi\u011finden emin olmak i\u00e7in testler yap\u0131l\u0131r.<\/p>\n<p><strong>Ad\u0131m 3: Eski Sunucuyu Replica Set&#8217;ten \u00c7\u0131karma<\/strong><br \/>\nYeni sunucu ba\u015far\u0131yla primary olduktan ve uygulaman\u0131z\u0131n yeni primary&#8217;ye sorunsuz bir \u015fekilde ba\u011fland\u0131\u011f\u0131ndan emin olduktan sonra, eski sunucuyu replica set&#8217;ten \u00e7\u0131karabilirsiniz:<\/p>\n<pre><code class=\"language-javascript\">rs.remove(\"eski_sunucu_ip:27017\")<\/code><\/pre>\n<p>Bu y\u00f6ntem, ta\u015f\u0131ma s\u0131ras\u0131nda minimum kesinti (downtime) sa\u011flar ve b\u00fcy\u00fck, kritik veritabanlar\u0131 i\u00e7in tercih edilir.<\/p>\n<h3>5.3. Veri Ta\u015f\u0131ma Stratejileri<\/h3>\n<p>*   <strong>Offline Ta\u015f\u0131ma:<\/strong> Veritaban\u0131n\u0131n k\u0131sa bir s\u00fcre i\u00e7in eri\u015filemez oldu\u011fu ta\u015f\u0131ma t\u00fcr\u00fcd\u00fcr. <code>mongodump<\/code> ve <code>mongorestore<\/code> bu kategoriye girer. Genellikle bak\u0131m pencerelerinde veya d\u00fc\u015f\u00fck trafikli zamanlarda ger\u00e7ekle\u015ftirilir.<br \/>\n*   <strong>Online Ta\u015f\u0131ma:<\/strong> Veritaban\u0131n\u0131n ta\u015f\u0131ma s\u0131ras\u0131nda \u00e7al\u0131\u015f\u0131r durumda kald\u0131\u011f\u0131 ta\u015f\u0131ma t\u00fcr\u00fcd\u00fcr. Replica set \u00fcyeli\u011fi de\u011fi\u015ftirme veya MongoDB Atlas gibi bulut servislerinin canl\u0131 ge\u00e7i\u015f \u00f6zellikleri bu kategoriye girer. Minimum kesinti gerektiren uygulamalar i\u00e7in hayati \u00f6neme sahiptir.<br \/>\n*   <strong>Ta\u015f\u0131ma \u00d6ncesi Planlama:<\/strong> Herhangi bir ta\u015f\u0131ma i\u015flemine ba\u015flamadan \u00f6nce kapsaml\u0131 bir planlama yap\u0131lmal\u0131d\u0131r. Bu, hedef ortam\u0131n haz\u0131rlanmas\u0131, a\u011f yap\u0131land\u0131rmas\u0131, g\u00fcvenlik ayarlar\u0131 ve test senaryolar\u0131n\u0131 i\u00e7erir.<br \/>\n*   <strong>Test Etme:<\/strong> Ta\u015f\u0131ma i\u015flemi, \u00fcretim ortam\u0131na uygulanmadan \u00f6nce bir test ortam\u0131nda mutlaka denenmelidir. Bu, olas\u0131 sorunlar\u0131 \u00f6nceden tespit etmenizi ve ta\u015f\u0131ma s\u00fcrecini optimize etmenizi sa\u011flar.<\/p>\n<h2>6. Otomatik Yedekleme \u00c7\u00f6z\u00fcmleri<\/h2>\n<p>Manuel yedeklemeler hataya a\u00e7\u0131k ve unutulma riski ta\u015f\u0131d\u0131\u011f\u0131ndan, otomatik yedekleme sistemleri kurmak en iyi uygulamad\u0131r. Linux sistemlerinde <code>cron<\/code> hizmeti, belirli zamanlarda komutlar\u0131 veya betikleri \u00e7al\u0131\u015ft\u0131rmak i\u00e7in idealdir.<\/p>\n<h3>6.1. Yedekleme Beti\u011fi Olu\u015fturma<\/h3>\n<p>\u00d6ncelikle, yedekleme i\u015flemini ger\u00e7ekle\u015ftirecek bir kabuk beti\u011fi (shell script) olu\u015ftural\u0131m. Bu betik, tarih damgas\u0131 ekleyebilir, yedekleri s\u0131k\u0131\u015ft\u0131rabilir ve eski yedekleri temizleyebilir.<\/p>\n<pre><code class=\"language-bash\">#!\/bin\/bash\n\n<h2>Yedeklerin saklanaca\u011f\u0131 ana dizin<\/h2>\nBACKUP_BASE_DIR=\"\/var\/backups\/mongodb\"\n\n<h2>Mevcut tarih ve saat damgas\u0131<\/h2>\nDATE=$(date +%Y%m%d%H%M%S)\n\n<h2>Bu yedekleme i\u00e7in \u00f6zel dizin<\/h2>\nBACKUP_DIR=\"$BACKUP_BASE_DIR\/$DATE\"\n\n<h2>MongoDB ba\u011flant\u0131 bilgileri (yetkilendirme kullan\u0131l\u0131yorsa)<\/h2>\n<h2>E\u011fer yetkilendirme kullanm\u0131yorsan\u0131z, bu sat\u0131rlar\u0131 yorum sat\u0131r\u0131 yapabilir veya silebilirsiniz.<\/h2>\nUSERNAME=\"yedek_kullanici\"\nPASSWORD=\"sifre\" # \u015eifrenizi buraya yaz\u0131n veya g\u00fcvenli bir \u015fekilde y\u00f6netin (\u00f6rn: env de\u011fi\u015fkenleri)\nAUTH_DB=\"admin\" # Kullan\u0131c\u0131n\u0131n yetkilendirildi\u011fi veritaban\u0131\n\n<h2>Yedeklenecek veritaban\u0131 ad\u0131 (t\u00fcm veritabanlar\u0131 i\u00e7in bo\u015f b\u0131rak\u0131n: DB_NAME=\"\")<\/h2>\nDB_NAME=\"your_database_name\" # \u00d6rn: \"mydb\"\n\n<h2>Eski yedekleri ka\u00e7 g\u00fcn saklayaca\u011f\u0131n\u0131z (\u00f6rne\u011fin 7 g\u00fcn)<\/h2>\nRETENTION_DAYS=7\n\n<h2>Yedekleme dizinini olu\u015ftur<\/h2>\nmkdir -p \"$BACKUP_DIR\"\n\n<h2>Yedekleme komutu<\/h2>\n<h2>T\u00fcm veritabanlar\u0131n\u0131 yedeklemek i\u00e7in:<\/h2>\n<h2>mongodump --gzip --username \"$USERNAME\" --password \"$PASSWORD\" --authenticationDatabase \"$AUTH_DB\" --out \"$BACKUP_DIR\"<\/h2>\n\n<h2>Belirli bir veritaban\u0131n\u0131 yedeklemek i\u00e7in (yukar\u0131daki DB_NAME de\u011fi\u015fkenini kullan\u0131r):<\/h2>\nif [ -n \"$DB_NAME\" ]; then\n    echo \"[$DATE] '$DB_NAME' veritaban\u0131 yedekleniyor...\"\n    mongodump --db \"$DB_NAME\" --gzip --username \"$USERNAME\" --password \"$PASSWORD\" --authenticationDatabase \"$AUTH_DB\" --out \"$BACKUP_DIR\"\nelse\n    echo \"[$DATE] T\u00fcm veritabanlar\u0131 yedekleniyor...\"\n    mongodump --gzip --username \"$USERNAME\" --password \"$PASSWORD\" --authenticationDatabase \"$AUTH_DB\" --out \"$BACKUP_DIR\"\nfi\n\n<h2>Komutun ba\u015far\u0131yla tamamlan\u0131p tamamlanmad\u0131\u011f\u0131n\u0131 kontrol et<\/h2>\nif [ $? -eq 0 ]; then\n    echo \"[$DATE] MongoDB yedeklemesi ba\u015far\u0131yla tamamland\u0131: $BACKUP_DIR\"\nelse\n    echo \"[$DATE] HATA: MongoDB yedeklemesi ba\u015far\u0131s\u0131z oldu!\"\nfi\n\n<h2>Eski yedekleri temizle<\/h2>\necho \"[$DATE] $RETENTION_DAYS g\u00fcnden eski yedekler temizleniyor...\"\nfind \"$BACKUP_BASE_DIR\" -maxdepth 1 -type d -ctime +\"$RETENTION_DAYS\" -exec rm -rf {} \\;\necho \"[$DATE] Temizleme i\u015flemi tamamland\u0131.\"<\/code><\/pre>\n<p>Bu beti\u011fi <code>\/usr\/local\/bin\/backup_mongodb.sh<\/code> gibi bir yere kaydedin ve \u00e7al\u0131\u015ft\u0131r\u0131labilir hale getirin:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/usr\/local\/bin\/backup_mongodb.sh\nsudo chmod +x \/usr\/local\/bin\/backup_mongodb.sh<\/code><\/pre>\n<p><strong>G\u00fcvenlik Notu:<\/strong> \u015eifreleri do\u011frudan betik i\u00e7ine yazmak g\u00fcvenlik riski olu\u015fturabilir. \u00dcretim ortamlar\u0131nda \u015fifreleri ortam de\u011fi\u015fkenleri, \u015fifre y\u00f6neticileri veya MongoDB&#8217;nin Keyfile Authentication gibi daha g\u00fcvenli y\u00f6ntemlerle y\u00f6netmeniz \u00f6nerilir.<\/p>\n<h3>6.2. Cron Job Ayarlama<\/h3>\n<p>\u015eimdi bu beti\u011fi d\u00fczenli aral\u0131klarla \u00e7al\u0131\u015ft\u0131rmak i\u00e7in bir cron job olu\u015ftural\u0131m.<\/p>\n<pre><code class=\"language-bash\">crontab -e<\/code><\/pre>\n<p>A\u00e7\u0131lan dosyaya a\u015fa\u011f\u0131daki sat\u0131r\u0131 ekleyin (\u00f6rne\u011fin, her gece saat 02:00&#8217;de \u00e7al\u0131\u015ft\u0131rmak i\u00e7in):<\/p>\n<pre><code class=\"language-\">0 2 <em> <\/em> * \/usr\/local\/bin\/backup_mongodb.sh >> \/var\/log\/mongodb_backup.log 2>&1<\/code><\/pre>\n<p><em>   <code>0 2 <\/em> <em> <\/em><\/code>: Cron zamanlamas\u0131. Ay\u0131n her g\u00fcn\u00fc, haftan\u0131n her g\u00fcn\u00fc, her ay, her y\u0131l saat 02:00&#8217;de \u00e7al\u0131\u015f\u0131r.<br \/>\n*   <code>\/usr\/local\/bin\/backup_mongodb.sh<\/code>: Olu\u015fturdu\u011funuz yedekleme beti\u011finin tam yolu.<br \/>\n*   <code>>> \/var\/log\/mongodb_backup.log 2>&1<\/code>: Beti\u011fin \u00e7\u0131kt\u0131s\u0131n\u0131 ve hatalar\u0131n\u0131 <code>\/var\/log\/mongodb_backup.log<\/code> dosyas\u0131na y\u00f6nlendirir. Bu, yedekleme i\u015flemlerinin durumunu izlemek ve olas\u0131 sorunlar\u0131 gidermek i\u00e7in \u00e7ok \u00f6nemlidir.<\/p>\n<p>Cron job&#8217;\u0131 kaydettikten sonra, sisteminiz art\u0131k MongoDB yedeklemesini otomatik olarak ger\u00e7ekle\u015ftirecektir. D\u00fczenli olarak log dosyas\u0131n\u0131 kontrol ederek yedeklemelerin sorunsuz \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun.<\/p>\n<h2>7. En \u0130yi Uygulamalar ve \u0130pu\u00e7lar\u0131<\/h2>\n<p>Yedekleme, geri y\u00fckleme ve ta\u015f\u0131ma i\u015flemleri, sadece teknik ad\u0131mlar\u0131 uygulamakla kalmaz, ayn\u0131 zamanda belirli en iyi uygulamalar\u0131 takip etmeyi de gerektirir.<\/p>\n<h3>7.1. Yedekleme S\u0131kl\u0131\u011f\u0131<\/h3>\n<p>Yedekleme s\u0131kl\u0131\u011f\u0131, veri de\u011fi\u015fim h\u0131z\u0131n\u0131za ve i\u015fletmenizin RPO (Recovery Point Objective &#8211; Kurtarma Noktas\u0131 Hedefi) hedeflerine ba\u011fl\u0131d\u0131r. Ne kadar s\u0131k yedekleme yaparsan\u0131z, veri kayb\u0131 durumunda o kadar az veri kaybedersiniz. Kritik uygulamalar i\u00e7in saatlik veya daha s\u0131k yedeklemeler gerekebilirken, daha az dinamik veriler i\u00e7in g\u00fcnl\u00fck yedeklemeler yeterli olabilir.<\/p>\n<h3>7.2. Yedekleme Konumu<\/h3>\n<p>Yedeklerinizi, orijinal veritaban\u0131n\u0131n bulundu\u011fu sunucudan veya depolama biriminden ayr\u0131 bir yerde saklaman\u0131z hayati \u00f6nem ta\u015f\u0131r.<br \/>\n*   <strong>Ayr\u0131 Disk\/Sunucu:<\/strong> Sunucunun kendisi ar\u0131zaland\u0131\u011f\u0131nda yedeklerinizi kaybetmemek i\u00e7in ayr\u0131 bir disk veya farkl\u0131 bir sunucuya yedekleyin.<br \/>\n*   <strong>A\u011f Depolama:<\/strong> NFS, SMB gibi a\u011f depolama \u00e7\u00f6z\u00fcmleri veya NAS cihazlar\u0131 kullan\u0131labilir.<br \/>\n*   <strong>Bulut Depolama:<\/strong> Amazon S3, Azure Blob Storage, Google Cloud Storage gibi bulut depolama hizmetleri, co\u011frafi yedeklilik ve y\u00fcksek dayan\u0131kl\u0131l\u0131k sunar. Bu, felaket kurtarma senaryolar\u0131nda \u00e7ok de\u011ferlidir.<\/p>\n<h3>7.3. Yedekleme Testi<\/h3>\n<p>Bir yedekleme plan\u0131n\u0131n en \u00f6nemli ancak genellikle g\u00f6z ard\u0131 edilen ad\u0131m\u0131, yedeklerin d\u00fczenli olarak test edilmesidir. Yedeklerinizin ger\u00e7ekten geri y\u00fcklenebilir oldu\u011funu do\u011frulamak i\u00e7in periyodik olarak bir test ortam\u0131na geri y\u00fckleme yapmal\u0131s\u0131n\u0131z. Bu, yedekleme beti\u011finizdeki veya yedekleme s\u00fcrecinizdeki olas\u0131 hatalar\u0131 ortaya \u00e7\u0131kar\u0131r.<\/p>\n<h3>7.4. G\u00fcvenlik<\/h3>\n<p>Yedekleme dosyalar\u0131 hassas veriler i\u00e7erebilir. Bu nedenle, yedeklerin g\u00fcvenli\u011fini sa\u011flamak \u00e7ok \u00f6nemlidir:<br \/>\n*   <strong>Eri\u015fim \u0130zinleri:<\/strong> Yedekleme dizinlerine ve dosyalar\u0131na yaln\u0131zca yetkili kullan\u0131c\u0131lar\u0131n eri\u015febildi\u011finden emin olun.<br \/>\n*   <strong>\u015eifreleme:<\/strong> Yedekleme dosyalar\u0131n\u0131 diskte veya bulutta \u015fifreleyin.<br \/>\n*   <strong>Minimum Yetki Prensibi:<\/strong> Yedekleme i\u015flemlerini ger\u00e7ekle\u015ftiren MongoDB kullan\u0131c\u0131s\u0131na yaln\u0131zca yedekleme i\u00e7in gerekli olan minimum yetkileri verin.<\/p>\n<h3>7.5. Performans Etkisi<\/h3>\n<p><code>mongodump<\/code> i\u015flemi, veritaban\u0131 \u00fczerinde bir miktar y\u00fck olu\u015fturabilir. \u00d6zellikle b\u00fcy\u00fck veritabanlar\u0131 i\u00e7in bu y\u00fck, \u00fcretim sistemlerinin performans\u0131n\u0131 etkileyebilir.<br \/>\n*   <strong>D\u00fc\u015f\u00fck Trafik Saatleri:<\/strong> Yedeklemeleri, sistemin en az y\u00fckl\u00fc oldu\u011fu saatlerde (\u00f6rne\u011fin gece yar\u0131s\u0131) \u00e7al\u0131\u015ft\u0131rmay\u0131 planlay\u0131n.<br \/>\n*   <strong>Replica Set Secondary:<\/strong> E\u011fer bir replica set kullan\u0131yorsan\u0131z, yedeklemeyi bir secondary d\u00fc\u011f\u00fcmden alarak primary \u00fczerindeki etkiyi minimize edin.<br \/>\n*   <strong>Kaynak K\u0131s\u0131tlamas\u0131:<\/strong> <code>mongodump<\/code> komutunda <code>--numParallelCollections<\/code> gibi parametrelerle paralel yedekleme say\u0131s\u0131n\u0131 ayarlayarak sunucu \u00fczerindeki y\u00fck\u00fc kontrol edebilirsiniz.<\/p>\n<h2>8. Sonu\u00e7<\/h2>\n<p>MongoDB veritabanlar\u0131n\u0131n yedeklenmesi, geri y\u00fcklenmesi ve ta\u015f\u0131nmas\u0131, her veri y\u00f6neticisinin ve geli\u015ftiricisinin ustala\u015fmas\u0131 gereken kritik becerilerdir. Bu makalede, Ubuntu 20.04 \u00fczerinde <code>mongodump<\/code> ve <code>mongorestore<\/code> gibi g\u00fc\u00e7l\u00fc MongoDB ara\u00e7lar\u0131n\u0131 kullanarak bu i\u015flemleri nas\u0131l ger\u00e7ekle\u015ftirece\u011finizi detayl\u0131 bir \u015fekilde ele ald\u0131k. Temel yedekleme ve geri y\u00fckleme i\u015flemlerinden, replica set tabanl\u0131 kesintisiz ta\u015f\u0131ma stratejilerine ve otomatik yedekleme \u00e7\u00f6z\u00fcmlerine kadar geni\u015f bir yelpazede pratik \u00f6rnekler sunduk.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, veri g\u00fcvenli\u011fi dinamik bir s\u00fcre\u00e7tir. Bu nedenle, yedekleme stratejilerinizi d\u00fczenli olarak g\u00f6zden ge\u00e7irmeli, yedeklerinizi test etmeli ve en iyi uygulamalar\u0131 takip etmelisiniz. Felaket kurtarma planlar\u0131n\u0131z\u0131n g\u00fcncel ve i\u015flevsel oldu\u011fundan emin olmak, olas\u0131 veri kay\u0131plar\u0131n\u0131n \u00f6n\u00fcne ge\u00e7mek ve i\u015f s\u00fcreklili\u011fini sa\u011flamak i\u00e7in vazge\u00e7ilmezdir. Bu rehberin, MongoDB veritaban\u0131 y\u00f6netimi yolculu\u011funuzda size sa\u011flam bir temel olu\u015fturmas\u0131n\u0131 umuyoruz.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber\n1. Giri\u015f\nG\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen dij","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-31778","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber 1. Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen dij\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-10-13T19:41:30+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"19 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber\",\"datePublished\":\"2025-10-13T19:41:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/\"},\"wordCount\":2993,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/\",\"name\":\"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-10-13T19:41:30+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber","og_description":"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber 1. Giri\u015f G\u00fcn\u00fcm\u00fcz\u00fcn h\u0131zla de\u011fi\u015fen dij","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-10-13T19:41:30+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"19 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber","datePublished":"2025-10-13T19:41:30+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/"},"wordCount":2993,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/","name":"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-10-13T19:41:30+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-mongodb-veritabanini-yedekleme-geri-yukleme-ve-tasima-kapsamli-bir-rehber\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 20.04 \u00dczerinde MongoDB Veritaban\u0131n\u0131 Yedekleme, Geri Y\u00fckleme ve Ta\u015f\u0131ma: Kapsaml\u0131 Bir Rehber"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31778","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=31778"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31778\/revisions"}],"predecessor-version":[{"id":31779,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/31778\/revisions\/31779"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=31778"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=31778"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=31778"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}