{"id":3430,"date":"2025-12-26T18:48:10","date_gmt":"2025-12-26T15:48:10","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/object-storagea-otomatik-yedek-alma-rclone-restic-ve-cron-ile-cpanel-vps-yedekleri\/"},"modified":"2025-12-26T18:48:10","modified_gmt":"2025-12-26T15:48:10","slug":"object-storagea-otomatik-yedek-alma-rclone-restic-ve-cron-ile-cpanel-vps-yedekleri","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/object-storagea-otomatik-yedek-alma-rclone-restic-ve-cron-ile-cpanel-vps-yedekleri\/","title":{"rendered":"Object Storage\u2019a Otomatik Yedek Alma: rclone, restic ve Cron ile cPanel\/VPS Yedekleri"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#Neden_Object_Storagea_Otomatik_Yedek_Almalisiniz\"><span class=\"toc_number toc_depth_1\">1<\/span> Neden Object Storage\u2019a Otomatik Yedek Almal\u0131s\u0131n\u0131z?<\/a><\/li><li><a href=\"#Temeli_Netlestirelim_cPanel_mi_Duz_VPS_mi\"><span class=\"toc_number toc_depth_1\">2<\/span> Temeli Netle\u015ftirelim: cPanel mi, D\u00fcz VPS mi?<\/a><ul><li><a href=\"#cPanel_Senaryosu_Kullanici_Hesabi_Yedekleri\"><span class=\"toc_number toc_depth_2\">2.1<\/span> cPanel Senaryosu: Kullan\u0131c\u0131 Hesab\u0131 Yedekleri<\/a><\/li><li><a href=\"#VPSDedicated_Senaryosu_Uygulama_Veritabani_Yedekleri\"><span class=\"toc_number toc_depth_2\">2.2<\/span> VPS\/Dedicated Senaryosu: Uygulama + Veritaban\u0131 Yedekleri<\/a><\/li><\/ul><\/li><li><a href=\"#Object_Storage_ve_S3_Uyumlu_Depolamayi_Kisaca_Hatirlayalim\"><span class=\"toc_number toc_depth_1\">3<\/span> Object Storage ve S3 Uyumlu Depolamay\u0131 K\u0131saca Hat\u0131rlayal\u0131m<\/a><\/li><li><a href=\"#Oyuncular_rclone_restic_ve_Cron_Ne_Ise_Yariyor\"><span class=\"toc_number toc_depth_1\">4<\/span> Oyuncular: rclone, restic ve Cron Ne \u0130\u015fe Yar\u0131yor?<\/a><ul><li><a href=\"#rclone_rsyncin_Object_Storage_Dunyasindaki_Kuzeni\"><span class=\"toc_number toc_depth_2\">4.1<\/span> rclone: rsync\u2019in Object Storage D\u00fcnyas\u0131ndaki Kuzeni<\/a><\/li><li><a href=\"#restic_Artimli_Sifreli_ve_Surumlemeli_Yedekler\"><span class=\"toc_number toc_depth_2\">4.2<\/span> restic: Art\u0131ml\u0131, \u015eifreli ve S\u00fcr\u00fcmlemeli Yedekler<\/a><\/li><li><a href=\"#Cron_Otomatiklestiren_Yapistirici_Katman\"><span class=\"toc_number toc_depth_2\">4.3<\/span> Cron: Otomatikle\u015ftiren Yap\u0131\u015ft\u0131r\u0131c\u0131 Katman<\/a><\/li><\/ul><\/li><li><a href=\"#Mimari_Tasarim_rclone_mi_restic_mi_Yoksa_Ikisi_Birden_mi\"><span class=\"toc_number toc_depth_1\">5<\/span> Mimari Tasar\u0131m: rclone m\u0131, restic mi, Yoksa \u0130kisi Birden mi?<\/a><ul><li><a href=\"#Model_1_Sadece_rclone_ile_Tam_Arsiv_Tasima\"><span class=\"toc_number toc_depth_2\">5.1<\/span> Model 1: Sadece rclone ile Tam Ar\u015fiv Ta\u015f\u0131ma<\/a><\/li><li><a href=\"#Model_2_Sadece_restic_ile_Artimli_Yedek\"><span class=\"toc_number toc_depth_2\">5.2<\/span> Model 2: Sadece restic ile Art\u0131ml\u0131 Yedek<\/a><\/li><li><a href=\"#Model_3_Hibrit_Yaklasim_rclone_restic\"><span class=\"toc_number toc_depth_2\">5.3<\/span> Model 3: Hibrit Yakla\u015f\u0131m (rclone + restic)<\/a><\/li><\/ul><\/li><li><a href=\"#Adim_1_Yedek_Dizinlerini_ve_Kullanici_Hesabini_Hazirlama\"><span class=\"toc_number toc_depth_1\">6<\/span> Ad\u0131m 1: Yedek Dizinlerini ve Kullan\u0131c\u0131 Hesab\u0131n\u0131 Haz\u0131rlama<\/a><\/li><li><a href=\"#Adim_2_rclone_Kurulumu_ve_S3_Uzak_Depolama_Tanimi\"><span class=\"toc_number toc_depth_1\">7<\/span> Ad\u0131m 2: rclone Kurulumu ve S3 Uzak Depolama Tan\u0131m\u0131<\/a><ul><li><a href=\"#rclone_Kurulumu\"><span class=\"toc_number toc_depth_2\">7.1<\/span> rclone Kurulumu<\/a><\/li><li><a href=\"#S3_Uyumlu_Uzak_Depolama_Tanimi\"><span class=\"toc_number toc_depth_2\">7.2<\/span> S3 Uyumlu Uzak Depolama Tan\u0131m\u0131<\/a><\/li><\/ul><\/li><li><a href=\"#Adim_3_restic_ile_S3_Uzerinde_Sifreli_Depo_Repository_Olusturma\"><span class=\"toc_number toc_depth_1\">8<\/span> Ad\u0131m 3: restic ile S3 \u00dczerinde \u015eifreli Depo (Repository) Olu\u015fturma<\/a><ul><li><a href=\"#restic_Kurulumu\"><span class=\"toc_number toc_depth_2\">8.1<\/span> restic Kurulumu<\/a><\/li><li><a href=\"#restic_Ortam_Degiskenleri\"><span class=\"toc_number toc_depth_2\">8.2<\/span> restic Ortam De\u011fi\u015fkenleri<\/a><\/li><li><a href=\"#restic_Deposu_Olusturma\"><span class=\"toc_number toc_depth_2\">8.3<\/span> restic Deposu Olu\u015fturma<\/a><\/li><\/ul><\/li><li><a href=\"#Adim_4_cPanel_Tam_Yedeklerini_rclone_ile_Object_Storagea_Tasimak\"><span class=\"toc_number toc_depth_1\">9<\/span> Ad\u0131m 4: cPanel Tam Yedeklerini rclone ile Object Storage\u2019a Ta\u015f\u0131mak<\/a><ul><li><a href=\"#cPanelde_Tam_Yedek_Olusturma\"><span class=\"toc_number toc_depth_2\">9.1<\/span> cPanel\u2019de Tam Yedek Olu\u015fturma<\/a><\/li><li><a href=\"#rclone_ile_cPanel_Yedek_Dizinini_Senkronize_Etmek\"><span class=\"toc_number toc_depth_2\">9.2<\/span> rclone ile cPanel Yedek Dizinini Senkronize Etmek<\/a><\/li><li><a href=\"#cPanel_Yedek_Tasima_Icin_Cron_Gorevi\"><span class=\"toc_number toc_depth_2\">9.3<\/span> cPanel Yedek Ta\u015f\u0131ma \u0130\u00e7in Cron G\u00f6revi<\/a><\/li><\/ul><\/li><li><a href=\"#Adim_5_restic_ile_Web_Root_Veritabani_Artimli_Yedekleri\"><span class=\"toc_number toc_depth_1\">10<\/span> Ad\u0131m 5: restic ile Web Root + Veritaban\u0131 Art\u0131ml\u0131 Yedekleri<\/a><ul><li><a href=\"#Veritabani_Dump_Alma_Scripti\"><span class=\"toc_number toc_depth_2\">10.1<\/span> Veritaban\u0131 Dump Alma Script\u2019i<\/a><\/li><li><a href=\"#restic_ile_Dosya_Veritabani_Snapshoti\"><span class=\"toc_number toc_depth_2\">10.2<\/span> restic ile Dosya + Veritaban\u0131 Snapshot\u2019\u0131<\/a><\/li><li><a href=\"#restic_Yedekleri_icin_Cron\"><span class=\"toc_number toc_depth_2\">10.3<\/span> restic Yedekleri i\u00e7in Cron<\/a><\/li><\/ul><\/li><li><a href=\"#VPS_Ozelinde_Ince_Ayarlar_Kaynak_Kullanimi_Guvenlik_ve_Loglar\"><span class=\"toc_number toc_depth_1\">11<\/span> VPS \u00d6zelinde \u0130nce Ayarlar: Kaynak Kullan\u0131m\u0131, G\u00fcvenlik ve Loglar<\/a><ul><li><a href=\"#Kaynak_Kullanimini_Sakin_Tutmak\"><span class=\"toc_number toc_depth_2\">11.1<\/span> Kaynak Kullan\u0131m\u0131n\u0131 Sakin Tutmak<\/a><\/li><li><a href=\"#Guvenlik_Erisim_Anahtarlari_ve_Sifreleme\"><span class=\"toc_number toc_depth_2\">11.2<\/span> G\u00fcvenlik: Eri\u015fim Anahtarlar\u0131 ve \u015eifreleme<\/a><\/li><li><a href=\"#Loglama_ve_Alarm_Sessizce_Bozulan_Yedekleri_Yakalamak\"><span class=\"toc_number toc_depth_2\">11.3<\/span> Loglama ve Alarm: Sessizce Bozulan Yedekleri Yakalamak<\/a><\/li><\/ul><\/li><li><a href=\"#Geri_Donus_Testi_Yedek_Almak_Degil_Donmek_Esastir\"><span class=\"toc_number toc_depth_1\">12<\/span> Geri D\u00f6n\u00fc\u015f Testi: Yedek Almak De\u011fil, D\u00f6nmek Esast\u0131r<\/a><\/li><li><a href=\"#DCHost_Tarafinda_Bu_Mimarinin_Nereye_Oturdugu\"><span class=\"toc_number toc_depth_1\">13<\/span> DCHost Taraf\u0131nda Bu Mimarinin Nereye Oturdu\u011fu<\/a><\/li><\/ul><\/div>\n<h2><span id=\"Neden_Object_Storagea_Otomatik_Yedek_Almalisiniz\">Neden Object Storage\u2019a Otomatik Yedek Almal\u0131s\u0131n\u0131z?<\/span><\/h2>\n<p>cPanel hesab\u0131n\u0131zda ya da kendi y\u00f6netti\u011finiz <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a> sunucunuzda \u00e7al\u0131\u015fan web siteleri b\u00fcy\u00fcd\u00fck\u00e7e, yedekleme stratejisi masa ba\u015f\u0131nda konu\u015fulup unutulacak bir konu olmaktan \u00e7\u0131k\u0131yor. \u00d6zellikle veritaban\u0131 yo\u011fun WordPress, WooCommerce, Laravel tabanl\u0131 uygulamalar ve kritik m\u00fc\u015fteri verisi tutan SaaS projelerinde, tek bir yerel yede\u011fe g\u00fcvenmek hem operasyonel hem de hukuki a\u00e7\u0131dan ciddi risk. Disk ar\u0131zas\u0131, yanl\u0131\u015fl\u0131kla silme, hack vakas\u0131 veya fidye yaz\u0131l\u0131m\u0131 senaryolar\u0131nda, ayn\u0131 fiziksel sunucuda duran yede\u011fin \u00e7o\u011fu zaman i\u015fe yaramad\u0131\u011f\u0131n\u0131 sahada defalarca g\u00f6rd\u00fck.<\/p>\n<p>Tam da bu noktada, S3 uyumlu <strong>Object Storage<\/strong> \u00fczerine otomatik al\u0131nan, s\u00fcr\u00fcmlenen ve \u015fifrelenen yedekler oyunu tamamen de\u011fi\u015ftiriyor. Yedekleriniz; \u00fcretim sunucusundan fiziksel ve mant\u0131ksal olarak ayr\u0131lm\u0131\u015f, co\u011frafi olarak farkl\u0131 bir b\u00f6lgede tutulabiliyor, saklama s\u00fcresi ve maliyeti \u00fczerinde \u00e7ok daha esnek kontrol sa\u011fl\u0131yor. Daha \u00f6nce detayl\u0131 anlatt\u0131\u011f\u0131m\u0131z <a href='https:\/\/www.dchost.com\/blog\/3-2-1-yedekleme-stratejisi-neden-ise-yariyor-cpanel-plesk-ve-vpste-otomatik-yedekleri-nasil-kurarsin\/'>3-2-1 yedekleme stratejisi<\/a>nin en pratik aya\u011f\u0131 da tam olarak bu: \u00fcretim sunucusundan ba\u011f\u0131ms\u0131z bir kopya.<\/p>\n<p>Bu yaz\u0131da, DCHost altyap\u0131s\u0131nda ya da kendi VPS\/cPanel sunucunuzda \u00e7al\u0131\u015fan projeleriniz i\u00e7in; <strong>rclone<\/strong>, <strong>restic<\/strong> ve <strong>cron<\/strong> kullanarak S3 uyumlu Object Storage\u2019a otomatik yedek alma mimarisini ad\u0131m ad\u0131m kuraca\u011f\u0131z. Ama\u00e7; elle komut \u00e7al\u0131\u015ft\u0131rmadan, her gece (veya belirledi\u011finiz periyotta) \u00e7al\u0131\u015fan, hem tam hem de art\u0131ml\u0131 yedekleri \u00fcreten, S3 taraf\u0131nda saklama politikas\u0131n\u0131 y\u00f6neten ve gerekti\u011finde h\u0131zl\u0131 geri d\u00f6n\u00fc\u015f sa\u011flayan bir sistemi kal\u0131c\u0131 hale getirmek.<\/p>\n<h2><span id=\"Temeli_Netlestirelim_cPanel_mi_Duz_VPS_mi\">Temeli Netle\u015ftirelim: cPanel mi, D\u00fcz VPS mi?<\/span><\/h2>\n<p>\u00d6nce hangi senaryoda oldu\u011funuzu netle\u015ftirmek, do\u011fru yedek setini belirlemek a\u00e7\u0131s\u0131ndan kritik. DCHost taraf\u0131nda en s\u0131k g\u00f6rd\u00fc\u011f\u00fcm\u00fcz iki ana durum var: payla\u015f\u0131ml\u0131 ya da reseller bir cPanel hesab\u0131; veya tamamen size ait bir VPS\/<a href=\"https:\/\/www.dchost.com\/tr\/fiziksel-sunucu\">dedicated sunucu<\/a>.<\/p>\n<h3><span id=\"cPanel_Senaryosu_Kullanici_Hesabi_Yedekleri\">cPanel Senaryosu: Kullan\u0131c\u0131 Hesab\u0131 Yedekleri<\/span><\/h3>\n<p>cPanel taraf\u0131nda tipik olarak yedeklemek istedi\u011fimiz par\u00e7alar:<\/p>\n<ul>\n<li>Home dizini (public_html ve benzeri t\u00fcm site dosyalar\u0131)<\/li>\n<li>MySQL\/MariaDB veritabanlar\u0131<\/li>\n<li>E-posta kutular\u0131 ve ayarlar\u0131<\/li>\n<li>cPanel hesab\u0131 yap\u0131land\u0131rmalar\u0131 (addon domainler, cron g\u00f6revleri vb.)<\/li>\n<\/ul>\n<p>cPanel kendi i\u00e7inde tam hesap yede\u011fi (.tar.gz) \u00fcretebiliyor. Daha \u00f6nce <a href='https:\/\/www.dchost.com\/blog\/cpanelde-tum-siteyi-yedekleme-ve-geri-yukleme-rehberi\/'>cPanel\u2019de t\u00fcm siteyi yedekleme ve geri y\u00fckleme<\/a>yi detayl\u0131 anlatm\u0131\u015ft\u0131k. Bu makalede ise o \u00fcretilen ar\u015fivleri otomatik \u015fekilde Object Storage\u2019a ta\u015f\u0131yaca\u011f\u0131z ve dilerseniz bunun yan\u0131na restic ile art\u0131ml\u0131, dosya bazl\u0131 ekstra bir koruma katman\u0131 ekleyece\u011fiz.<\/p>\n<h3><span id=\"VPSDedicated_Senaryosu_Uygulama_Veritabani_Yedekleri\">VPS\/Dedicated Senaryosu: Uygulama + Veritaban\u0131 Yedekleri<\/span><\/h3>\n<p>Kontrol paneli olmayan bir VPS ya da dedicated sunucuda i\u015f biraz daha esnek ama sorumluluk size ait. Burada tipik yedek bile\u015fenleri:<\/p>\n<ul>\n<li>Uygulama dizinleri (\u00f6rnek: \/var\/www, \/srv\/app, \/opt\/projects vb.)<\/li>\n<li>Veritaban\u0131 yedekleri (mysqldump, mariabackup, pg_dump, pgBackRest vb.)<\/li>\n<li>\u00d6nemli yap\u0131land\u0131rma dosyalar\u0131 (\/etc alt\u0131ndaki belirli servis konfig\u00fcrasyonlar\u0131)<\/li>\n<li>Opsiyonel: loglar (genelde ayr\u0131, daha k\u0131sa saklama politikas\u0131 ile)<\/li>\n<\/ul>\n<p>VPS senaryosunda sistem kaynak kullan\u0131m\u0131 daha kritik. Disk IO\u2019yu kilitlemeden, CPU\u2019yu t\u00fcketmeden ve a\u011f trafi\u011fini bo\u011fmadan yedek almak i\u00e7in zamanlama, s\u0131k\u0131\u015ft\u0131rma ve bant geni\u015fli\u011fi limitleme katmanlar\u0131n\u0131 iyi ayarlamak gerekiyor. Bu noktada <a href='https:\/\/www.dchost.com\/blog\/vps-kaynak-kullanimi-izleme-rehberi-htop-iotop-netdata-ve-prometheus\/'>VPS kaynak kullan\u0131m\u0131 izleme rehberimizde<\/a> anlatt\u0131\u011f\u0131m\u0131z ara\u00e7larla yedekleme s\u00fcre\u00e7lerini g\u00f6zlemlemek b\u00fcy\u00fck avantaj sa\u011flar.<\/p>\n<h2><span id=\"Object_Storage_ve_S3_Uyumlu_Depolamayi_Kisaca_Hatirlayalim\">Object Storage ve S3 Uyumlu Depolamay\u0131 K\u0131saca Hat\u0131rlayal\u0131m<\/span><\/h2>\n<p>Object Storage, yedekleme taraf\u0131nda neredeyse end\u00fcstri standard\u0131 haline geldi. Dosya sistemi ya da block storage yerine; her yede\u011fi anahtar-de\u011fer mant\u0131\u011f\u0131 ile nesne olarak sakl\u0131yor, alt\u0131na meta veri ekleyebiliyor ve kolayca s\u00fcr\u00fcmleme yapabiliyorsunuz. Yedekleriniz bir <em>bucket<\/em> i\u00e7inde tutuluyor ve HTTP tabanl\u0131 bir API ile eri\u015filiyor.<\/p>\n<p>Object Storage\u2019\u0131n yedekler i\u00e7in avantajlar\u0131:<\/p>\n<ul>\n<li><strong>Esnek \u00f6l\u00e7ekleme:<\/strong> TB\u2019larca veriyi tek hacim gibi y\u00f6netebilir, disk boyutu d\u00fc\u015f\u00fcnmek zorunda kalmazs\u0131n\u0131z.<\/li>\n<li><strong>Dayan\u0131kl\u0131l\u0131k:<\/strong> Nesneler genellikle birden fazla disk ve node \u00fczerinde da\u011f\u0131t\u0131k \u015fekilde saklan\u0131r.<\/li>\n<li><strong>Versiyonlama:<\/strong> Ayn\u0131 dosyan\u0131n farkl\u0131 s\u00fcr\u00fcmlerini otomatik olarak tutabilir, yanl\u0131\u015fl\u0131kla silmeleri geri alabilirsiniz.<\/li>\n<li><strong>Lifecycle politikalar\u0131:<\/strong> Eski yedekleri otomatik silme veya daha ucuz depolamaya aktarma senaryolar\u0131 kurabilirsiniz.<\/li>\n<\/ul>\n<p>Object, block ve file storage farklar\u0131n\u0131, hangi i\u015f y\u00fck\u00fc i\u00e7in hangisinin mant\u0131kl\u0131 oldu\u011funu ayr\u0131 bir yaz\u0131da detayland\u0131rd\u0131k; arka plan\u0131 tazelemek isterseniz <a href='https:\/\/www.dchost.com\/blog\/object-storage-vs-block-storage-vs-file-storage-web-uygulamalari-ve-yedekler-icin-dogru-secim\/'>Object Storage vs Block Storage vs File Storage rehberimize<\/a> g\u00f6z atabilirsiniz.<\/p>\n<h2><span id=\"Oyuncular_rclone_restic_ve_Cron_Ne_Ise_Yariyor\">Oyuncular: rclone, restic ve Cron Ne \u0130\u015fe Yar\u0131yor?<\/span><\/h2>\n<h3><span id=\"rclone_rsyncin_Object_Storage_Dunyasindaki_Kuzeni\">rclone: rsync\u2019in Object Storage D\u00fcnyas\u0131ndaki Kuzeni<\/span><\/h3>\n<p>rclone, dosya ve dizinleri yerel diskten S3 uyumlu Object Storage, FTP, SFTP ve daha pek \u00e7ok uzak depolama tipine senkronize etmeyi sa\u011flayan g\u00fc\u00e7l\u00fc bir komut sat\u0131r\u0131 arac\u0131. \u00d6zellikle \u015fu i\u015flerde kullanaca\u011f\u0131z:<\/p>\n<ul>\n<li>cPanel\u2019in \u00fcretti\u011fi .tar.gz tam yedek ar\u015fivlerini S3 bucket\u2019\u0131na g\u00f6ndermek<\/li>\n<li>Yerel bir dizini Object Storage ile tek ya da \u00e7ift y\u00f6nl\u00fc senkronize etmek<\/li>\n<li>Opsiyonel olarak client-side \u015fifreleme (rclone crypt) ile ek g\u00fcvenlik katman\u0131 kurmak<\/li>\n<\/ul>\n<p>rclone\u2019u daha derinlemesine kullanmak, S3 taraf\u0131nda \u015fifreleme ve lifecycle politikalar\u0131n\u0131 birle\u015ftirmek isterseniz, bu makalenin devam\u0131 olarak kurgulayabilece\u011finiz <a href='https:\/\/www.dchost.com\/blog\/rclone-ile-s3-backblaze-b2-yedek-senkronizasyonu-sse-lifecycle-ve-glacier-ile-masrafi-nasil-tatli-tatli-dusururuz\/'>rclone ile S3 yedek senkronizasyonu rehberimizi<\/a> de incelemenizi \u00f6neririz.<\/p>\n<h3><span id=\"restic_Artimli_Sifreli_ve_Surumlemeli_Yedekler\">restic: Art\u0131ml\u0131, \u015eifreli ve S\u00fcr\u00fcmlemeli Yedekler<\/span><\/h3>\n<p>restic, \u00f6zellikle uzak depolama \u00fczerinde art\u0131ml\u0131 ve deduplikasyonlu yedekler almak i\u00e7in tasarlanm\u0131\u015f, modern bir yedekleme arac\u0131. \u00d6ne \u00e7\u0131kan \u00f6zellikleri:<\/p>\n<ul>\n<li><strong>\u015eifreli:<\/strong> Varsay\u0131lan olarak t\u00fcm veriyi istemci taraf\u0131nda \u015fifreler.<\/li>\n<li><strong>Art\u0131ml\u0131:<\/strong> Ayn\u0131 dosyalar\u0131n tekrar tekrar g\u00f6nderilmesi yerine, sadece de\u011fi\u015fen bloklar\u0131 depolar.<\/li>\n<li><strong>S\u00fcr\u00fcmleme:<\/strong> Snapshot mant\u0131\u011f\u0131 ile her yedek \u00e7al\u0131\u015ft\u0131rmada yeni bir anl\u0131k g\u00f6r\u00fcnt\u00fc olu\u015fturur.<\/li>\n<li><strong>Do\u011frudan S3 uyumu:<\/strong> Ek araca gerek kalmadan S3 uyumlu depolama ile konu\u015fabilir.<\/li>\n<\/ul>\n<p>restic ve alternatifleri olan Borg gibi ara\u00e7lar\u0131, saklama politikalar\u0131 ve performans a\u00e7\u0131s\u0131ndan kar\u015f\u0131la\u015ft\u0131rd\u0131\u011f\u0131m\u0131z <a href='https:\/\/www.dchost.com\/blog\/restic-ve-borg-ile-s3-uyumlu-uzak-yedekleme-surumleme-sifreleme-ve-saklama-ne-zaman-nasil\/'>restic ve Borg ile S3 uyumlu uzak yedekleme rehberimiz<\/a> bu yaz\u0131n\u0131n teorik arka plan\u0131 say\u0131labilir.<\/p>\n<h3><span id=\"Cron_Otomatiklestiren_Yapistirici_Katman\">Cron: Otomatikle\u015ftiren Yap\u0131\u015ft\u0131r\u0131c\u0131 Katman<\/span><\/h3>\n<p>rclone ve restic \u00e7ok g\u00fc\u00e7l\u00fc ara\u00e7lar, ancak manuel \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131klar\u0131nda bir s\u00fcre sonra unutulmaya mahkumlar. \u0130\u015fte burada devreye cron giriyor. Cron ile:<\/p>\n<ul>\n<li>Her gece 03:00\u2019te cPanel tam yede\u011fi al\u0131p rclone ile Object Storage\u2019a y\u00fckleyebilirsiniz.<\/li>\n<li>Her 6 saatte bir restic ile web root ve veritaban\u0131 snapshotu olu\u015fturabilirsiniz.<\/li>\n<li>Haftal\u0131k olarak restic forget\/prune \u00e7al\u0131\u015ft\u0131r\u0131p eski snapshot\u2019lar\u0131 temizleyebilirsiniz.<\/li>\n<\/ul>\n<p>Cron yerine systemd timer kullanmak daha esnek olabilir; hangisinin ne zaman mant\u0131kl\u0131 oldu\u011funu merak ediyorsan\u0131z, <a href='https:\/\/www.dchost.com\/blog\/cron-mu-systemd-timer-mi-neden-nasil-ve-ne-zaman-hangisini-secmeli\/'>cron mu systemd timer m\u0131<\/a> yaz\u0131m\u0131z karar vermenize yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h2><span id=\"Mimari_Tasarim_rclone_mi_restic_mi_Yoksa_Ikisi_Birden_mi\">Mimari Tasar\u0131m: rclone m\u0131, restic mi, Yoksa \u0130kisi Birden mi?<\/span><\/h2>\n<p>Sahada en \u00e7ok kulland\u0131\u011f\u0131m\u0131z \u00fc\u00e7 model var. Hangisini se\u00e7ece\u011finiz, veri b\u00fcy\u00fckl\u00fc\u011f\u00fc, geri d\u00f6n\u00fc\u015f s\u00fcresi ve saklama maliyetine g\u00f6re de\u011fi\u015fiyor.<\/p>\n<h3><span id=\"Model_1_Sadece_rclone_ile_Tam_Arsiv_Tasima\">Model 1: Sadece rclone ile Tam Ar\u015fiv Ta\u015f\u0131ma<\/span><\/h3>\n<p>Bu modelde cPanel ya da panelinizin \u00fcretti\u011fi tam yedek ar\u015fivini (\/backup gibi bir dizinde duran .tar.gz dosyalar\u0131) rclone ile Object Storage\u2019a ta\u015f\u0131rs\u0131n\u0131z. Art\u0131ml\u0131 yedek yoktur; fakat:<\/p>\n<ul>\n<li>Yap\u0131 basittir, hata ay\u0131klamas\u0131 kolayd\u0131r.<\/li>\n<li>Yedek geri y\u00fckleme cPanel aray\u00fcz\u00fc ile pratik \u015fekilde yap\u0131labilir.<\/li>\n<\/ul>\n<h3><span id=\"Model_2_Sadece_restic_ile_Artimli_Yedek\">Model 2: Sadece restic ile Art\u0131ml\u0131 Yedek<\/span><\/h3>\n<p>Bu modelde cPanel\u2019in kendi tam ar\u015fiv mekanizmas\u0131na yaslanmak yerine; web root, veritaban\u0131 dump\u2019lar\u0131 ve kritik config dosyalar\u0131n\u0131 do\u011frudan restic ile S3\u2019e yedeklersiniz. Avantajlar\u0131:<\/p>\n<ul>\n<li>Art\u0131ml\u0131 ve deduplikasyonlu yap\u0131 sayesinde b\u00fcy\u00fck projelerde ciddi alan tasarrufu sa\u011flar.<\/li>\n<li>Tek dosya yerine snapshot tabanl\u0131 anla\u015f\u0131l\u0131r bir yap\u0131 sunar.<\/li>\n<li>\u015eifreleme varsay\u0131lan oldu\u011fu i\u00e7in KVKK\/GDPR a\u00e7\u0131s\u0131ndan daha g\u00fc\u00e7l\u00fc bir hikaye anlatabilirsiniz.<\/li>\n<\/ul>\n<h3><span id=\"Model_3_Hibrit_Yaklasim_rclone_restic\">Model 3: Hibrit Yakla\u015f\u0131m (rclone + restic)<\/span><\/h3>\n<p>\u00d6zellikle kurumsal projelerde en sevdi\u011fimiz model bu:<\/p>\n<ul>\n<li>Gecelik cPanel tam hesap yedekleri rclone ile Object Storage\u2019a g\u00f6nderilir (tam geri y\u00fckleme kolayl\u0131\u011f\u0131).<\/li>\n<li>Daha s\u0131k (\u00f6rne\u011fin 4 saatte bir) restic ile web root + veritaban\u0131 snapshot\u2019lar\u0131 al\u0131n\u0131r (k\u00fc\u00e7\u00fck RPO, h\u0131zl\u0131 geri d\u00f6n\u00fc\u015f).<\/li>\n<\/ul>\n<p>Bu yaz\u0131da \u00f6rnekleri hibrit yakla\u015f\u0131m \u00fczerinden verece\u011fim; ama ihtiyac\u0131n\u0131za g\u00f6re sadece rclone veya sadece restic taraf\u0131n\u0131 da kullanabilirsiniz.<\/p>\n<h2><span id=\"Adim_1_Yedek_Dizinlerini_ve_Kullanici_Hesabini_Hazirlama\">Ad\u0131m 1: Yedek Dizinlerini ve Kullan\u0131c\u0131 Hesab\u0131n\u0131 Haz\u0131rlama<\/span><\/h2>\n<p>\u0130lk i\u015f, yedeklerin yerelde nereye inece\u011fini ve hangi kullan\u0131c\u0131yla \u00e7al\u0131\u015faca\u011f\u0131n\u0131 belirlemek.<\/p>\n<ul>\n<li>cPanel sunucusuysa: Genellikle root kullan\u0131c\u0131s\u0131 alt\u0131nda \/backup veya \/home\/backup dizini mant\u0131kl\u0131.<\/li>\n<li>Tek VPS i\u00e7in: \/opt\/backups veya \/srv\/backups gibi \u00f6zel bir dizin a\u00e7abilirsiniz.<\/li>\n<\/ul>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">mkdir -p \/opt\/backups\/{cpanel,restic}\nchmod 700 \/opt\/backups\n<\/code><\/pre>\n<p>root ile \u00e7al\u0131\u015fmak yerine sadece yedekleme i\u00e7in ayr\u0131, s\u0131n\u0131rl\u0131 izinlere sahip bir sistem kullan\u0131c\u0131s\u0131 olu\u015fturmak, g\u00fcvenlik a\u00e7\u0131s\u0131ndan daha sa\u011fl\u0131kl\u0131d\u0131r. Yine de cPanel tam yedekleri root yetkisi gerektirdi\u011finden, \u00e7o\u011fu yap\u0131da en az\u0131ndan baz\u0131 cron g\u00f6revlerinde root devreye girecektir.<\/p>\n<h2><span id=\"Adim_2_rclone_Kurulumu_ve_S3_Uzak_Depolama_Tanimi\">Ad\u0131m 2: rclone Kurulumu ve S3 Uzak Depolama Tan\u0131m\u0131<\/span><\/h2>\n<h3><span id=\"rclone_Kurulumu\">rclone Kurulumu<\/span><\/h3>\n<p>\u00c7o\u011fu modern Linux da\u011f\u0131t\u0131m\u0131nda rclone\u2019\u0131 h\u0131zl\u0131ca kurabilirsiniz:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">curl -O https:\/\/downloads.rclone.org\/rclone-current-linux-amd64.zip\nunzip rclone-current-linux-amd64.zip\ncd rclone-*-linux-amd64\nsudo cp rclone \/usr\/local\/bin\/\nsudo chmod 755 \/usr\/local\/bin\/rclone\n<\/code><\/pre>\n<p>Versiyon y\u00f6netimini paket y\u00f6neticisi ile yapmak isterseniz, da\u011f\u0131t\u0131m\u0131n\u0131z\u0131n deposunda rclone paketi varsa onu da kullanabilirsiniz; fakat genellikle resmi binary daha g\u00fcncel olur.<\/p>\n<h3><span id=\"S3_Uyumlu_Uzak_Depolama_Tanimi\">S3 Uyumlu Uzak Depolama Tan\u0131m\u0131<\/span><\/h3>\n<p>\u015eimdi rclone\u2019a DCHost Object Storage ya da kulland\u0131\u011f\u0131n\u0131z S3 uyumlu servisin eri\u015fim bilgilerini tan\u0131tal\u0131m:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">rclone config\n<\/code><\/pre>\n<p>Sonra ad\u0131m ad\u0131m:<\/p>\n<ol>\n<li>New remote se\u00e7in, ismine s3backup gibi anlaml\u0131 bir \u015fey verin.<\/li>\n<li>Storage t\u00fcr\u00fc olarak s3 se\u00e7in.<\/li>\n<li>Provider k\u0131sm\u0131nda generic veya kulland\u0131\u011f\u0131n\u0131z servise uygun se\u00e7ene\u011fi i\u015faretleyin.<\/li>\n<li>Access key ve secret key bilgilerinizi girin.<\/li>\n<li>Endpoint olarak DCHost Object Storage endpoint\u2019inizi yaz\u0131n (\u00f6rnek: https:\/\/obj1.dchost.example).<\/li>\n<li>Region, bucket adlar\u0131 ve di\u011fer ayarlar\u0131 y\u00f6nergelerine g\u00f6re doldurun.<\/li>\n<\/ol>\n<p>\u0130lk ba\u011flant\u0131y\u0131 test etmek i\u00e7in:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">rclone lsd s3backup:\n<\/code><\/pre>\n<p>komutunun bucket\u2019lar\u0131n\u0131z\u0131 listeliyor olmas\u0131 gerekir.<\/p>\n<h2><span id=\"Adim_3_restic_ile_S3_Uzerinde_Sifreli_Depo_Repository_Olusturma\">Ad\u0131m 3: restic ile S3 \u00dczerinde \u015eifreli Depo (Repository) Olu\u015fturma<\/span><\/h2>\n<h3><span id=\"restic_Kurulumu\">restic Kurulumu<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">curl -L https:\/\/github.com\/restic\/restic\/releases\/download\/v0.16.0\/restic_0.16.0_linux_amd64 -o \/usr\/local\/bin\/restic\nchmod 755 \/usr\/local\/bin\/restic\n<\/code><\/pre>\n<p>Versiyon numaras\u0131n\u0131 g\u00fcncel s\u00fcr\u00fcme g\u00f6re d\u00fczenlemeyi unutmay\u0131n.<\/p>\n<h3><span id=\"restic_Ortam_Degiskenleri\">restic Ortam De\u011fi\u015fkenleri<\/span><\/h3>\n<p>restic\u2019i her \u00e7a\u011f\u0131rd\u0131\u011f\u0131n\u0131zda repoyu ve parolay\u0131 yazmak yerine, bunlar\u0131 bir environment dosyas\u0131na koymak \u00e7ok daha pratik.<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">cat &gt; \/root\/restic-env.sh &lt;&lt; 'EOF'\nexport RESTIC_REPOSITORY='s3:https:\/\/obj1.dchost.example\/bucket-adi\/restic'\nexport RESTIC_PASSWORD='buraya-uzun-ve-guclu-bir-sifre-yazin'\nexport AWS_ACCESS_KEY_ID='access-key'\nexport AWS_SECRET_ACCESS_KEY='secret-key'\nEOF\n\nchmod 600 \/root\/restic-env.sh\n<\/code><\/pre>\n<p>Buradaki AWS_ACCESS_KEY_ID isimlendirmesi sizi yan\u0131ltmas\u0131n; restic S3 uyumlu t\u00fcm servislerle bu de\u011fi\u015fken isimlerini kullan\u0131yor, illaki belirli bir sa\u011flay\u0131c\u0131ya i\u015faret etmiyor.<\/p>\n<h3><span id=\"restic_Deposu_Olusturma\">restic Deposu Olu\u015fturma<\/span><\/h3>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">source \/root\/restic-env.sh\nrestic init\n<\/code><\/pre>\n<p>Bu komut, Object Storage \u00fczerindeki bucket alt\u0131nda restic\u2019in kullanaca\u011f\u0131 repository yap\u0131s\u0131n\u0131 olu\u015fturur. Art\u0131k her yedek ald\u0131\u011f\u0131n\u0131zda bu repoya yeni snapshot\u2019lar eklenecek.<\/p>\n<h2><span id=\"Adim_4_cPanel_Tam_Yedeklerini_rclone_ile_Object_Storagea_Tasimak\">Ad\u0131m 4: cPanel Tam Yedeklerini rclone ile Object Storage\u2019a Ta\u015f\u0131mak<\/span><\/h2>\n<h3><span id=\"cPanelde_Tam_Yedek_Olusturma\">cPanel\u2019de Tam Yedek Olu\u015fturma<\/span><\/h3>\n<p>cPanel taraf\u0131nda iki yol var:<\/p>\n<ul>\n<li>WHM \u00fczerinde sunucu y\u00f6neticisiyseniz, Backup Configuration ile otomatik g\u00fcnl\u00fck\/haftal\u0131k tam yedek ald\u0131rabilirsiniz.<\/li>\n<li>Tek cPanel hesab\u0131 kullan\u0131yorsan\u0131z, kullan\u0131c\u0131 panelindeki Backup veya Backup Wizard ile tam yedek \u00fcretebilirsiniz.<\/li>\n<\/ul>\n<p>WHM \u00fczerinden otomatik tam yedek alacak \u015fekilde yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131z\u0131 ve \u00e7\u0131kt\u0131n\u0131n \/backup alt\u0131nda olu\u015ftu\u011funu varsayal\u0131m. Tipik dosya ismi \u015fu \u015fekilde olur:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">\/backup\/2024-12-26\/accounts\/kullanici.tar.gz\n<\/code><\/pre>\n<h3><span id=\"rclone_ile_cPanel_Yedek_Dizinini_Senkronize_Etmek\">rclone ile cPanel Yedek Dizinini Senkronize Etmek<\/span><\/h3>\n<p>\u015eimdi bu dizini S3 taraf\u0131ndaki bir klas\u00f6re senkronize edelim. \u00d6nce manuel test:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">rclone sync \n  \/backup\/ \n  s3backup:cpanel-full-backups\/ \n  --transfers=4 \n  --checkers=8 \n  --bwlimit=5M \n  --delete-after\n<\/code><\/pre>\n<p>Burada:<\/p>\n<ul>\n<li><strong>&#8211;bwlimit=5M<\/strong> ile a\u011f trafi\u011fini s\u0131n\u0131rlay\u0131p di\u011fer servisleri bo\u011fmuyoruz.<\/li>\n<li><strong>&#8211;delete-after<\/strong> ile yerelde silinen eski yedeklerin Object Storage taraf\u0131nda da temizlenmesini sa\u011fl\u0131yoruz (bunu kurum politikan\u0131za g\u00f6re dikkatle kullan\u0131n).<\/li>\n<\/ul>\n<h3><span id=\"cPanel_Yedek_Tasima_Icin_Cron_Gorevi\">cPanel Yedek Ta\u015f\u0131ma \u0130\u00e7in Cron G\u00f6revi<\/span><\/h3>\n<p>WHM\u2019de yedeklerin \u00f6rne\u011fin gece 02:00\u2019de \u00fcretildi\u011fini biliyorsan\u0131z, rclone senkronizasyonunu 03:00\u2019e koyabilirsiniz. root crontab:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">crontab -e\n<\/code><\/pre>\n<p>\u0130\u00e7ine \u015fu sat\u0131r\u0131 ekleyin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">0 3 * * * \/usr\/local\/bin\/rclone sync \/backup\/ s3backup:cpanel-full-backups\/ \n  --transfers=4 --checkers=8 --bwlimit=5M --delete-after \n  &gt;&gt; \/var\/log\/rclone-cpanel-backup.log 2&gt;&amp;1\n<\/code><\/pre>\n<p>B\u00f6ylece her gece 03:00\u2019te senkronizasyon tetiklenecek, loglar\u0131 da \/var\/log\/rclone-cpanel-backup.log dosyas\u0131ndan takip edebileceksiniz.<\/p>\n<h2><span id=\"Adim_5_restic_ile_Web_Root_Veritabani_Artimli_Yedekleri\">Ad\u0131m 5: restic ile Web Root + Veritaban\u0131 Art\u0131ml\u0131 Yedekleri<\/span><\/h2>\n<p>\u015eimdi i\u015fin daha esnek k\u0131sm\u0131na, restic ile art\u0131ml\u0131 yedeklemeye ge\u00e7elim. Burada iki ad\u0131m var: \u00f6nce veritaban\u0131 dump\u2019lar\u0131n\u0131 almak, sonra web root ve dump\u2019lar\u0131 birlikte restic\u2019e yazmak.<\/p>\n<h3><span id=\"Veritabani_Dump_Alma_Scripti\">Veritaban\u0131 Dump Alma Script\u2019i<\/span><\/h3>\n<p>MySQL\/MariaDB i\u00e7in basit bir \u00f6rnek:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">cat &gt; \/opt\/backups\/db-dump.sh &lt;&lt; 'EOF'\n#!\/bin\/bash\nset -e\nBACKUP_DIR='\/opt\/backups\/db-dumps'\nmkdir -p &quot;${BACKUP_DIR}&quot;\n\n# Kullan\u0131c\u0131 ve parola i\u00e7in my.cnf kullanman\u0131z daha g\u00fcvenli olacakt\u0131r\n\nDATE=$(date +%F-%H%M)\nmysqldump --all-databases --single-transaction --quick \n  | gzip &gt; &quot;${BACKUP_DIR}\/alldb-${DATE}.sql.gz&quot;\n\n# 7 g\u00fcnden eski dump dosyalar\u0131n\u0131 temizle\nfind &quot;${BACKUP_DIR}&quot; -type f -mtime +7 -delete\nEOF\n\nchmod 700 \/opt\/backups\/db-dump.sh\n<\/code><\/pre>\n<h3><span id=\"restic_ile_Dosya_Veritabani_Snapshoti\">restic ile Dosya + Veritaban\u0131 Snapshot\u2019\u0131<\/span><\/h3>\n<p>\u015eimdi web root dizini ve veritaban\u0131 dump\u2019lar\u0131n\u0131 birlikte restic\u2019e yedekleyen script\u2019i yazal\u0131m:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">cat &gt; \/opt\/backups\/restic-backup.sh &lt;&lt; 'EOF'\n#!\/bin\/bash\nset -e\n\nsource \/root\/restic-env.sh\n\nWEB_ROOT='\/var\/www'\nDB_DUMPS='\/opt\/backups\/db-dumps'\n\n# \u00d6nce veritaban\u0131 dump'\u0131n\u0131 al\n\/opt\/backups\/db-dump.sh\n\n# Ard\u0131ndan restic backup \u00e7al\u0131\u015ft\u0131r\nrestic backup &quot;${WEB_ROOT}&quot; &quot;${DB_DUMPS}&quot; \n  --tag daily \n  --hostname &quot;$(hostname)&quot;\n\n# Saklama politikas\u0131: son 7 g\u00fcnl\u00fck, 4 haftal\u0131k ve 6 ayl\u0131k snapshot'lar\u0131 tut\nrestic forget --prune \n  --keep-daily 7 \n  --keep-weekly 4 \n  --keep-monthly 6\nEOF\n\nchmod 700 \/opt\/backups\/restic-backup.sh\n<\/code><\/pre>\n<p>Buradaki saklama politikas\u0131n\u0131 kendi RPO\/RTO hedeflerinize g\u00f6re d\u00fczenleyebilirsiniz. Daha s\u0131k snapshot almak istiyorsan\u0131z keep-daily\/keep-weekly de\u011ferlerini art\u0131rmak mant\u0131kl\u0131 olabilir. Bu konuyu felaket kurtarma plan\u0131n\u0131zla birlikte d\u00fc\u015f\u00fcnmek i\u00e7in <a href='https:\/\/www.dchost.com\/blog\/felaket-kurtarma-plani-nasil-yazilir-rto-rpoyu-kafada-netlestirip-yedek-testleri-ve-runbooklari-gercekten-calisir-hale-getirmek\/'>felaket kurtarma plan\u0131 nas\u0131l yaz\u0131l\u0131r<\/a> rehberimize de g\u00f6z atman\u0131z\u0131 \u00f6neririm.<\/p>\n<h3><span id=\"restic_Yedekleri_icin_Cron\">restic Yedekleri i\u00e7in Cron<\/span><\/h3>\n<p>Bu art\u0131ml\u0131 yedekleri g\u00fcnde bir yerine, \u00f6rne\u011fin 4 saatte bir almak \u00e7o\u011fu proje i\u00e7in sa\u011fl\u0131kl\u0131 bir denge sunuyor. root crontab\u2019a:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">0 *\/4 * * * \/opt\/backups\/restic-backup.sh \n  &gt;&gt; \/var\/log\/restic-backup.log 2&gt;&amp;1\n<\/code><\/pre>\n<p>sat\u0131r\u0131n\u0131 ekledi\u011finizde, restic her 4 saatte bir yeni snapshot alacak. Disk ve a\u011f y\u00fck\u00fcn\u00fc izleyerek bu periyodu ihtiyaca g\u00f6re yukar\u0131 ya da a\u015fa\u011f\u0131 \u00e7ekebilirsiniz.<\/p>\n<h2><span id=\"VPS_Ozelinde_Ince_Ayarlar_Kaynak_Kullanimi_Guvenlik_ve_Loglar\">VPS \u00d6zelinde \u0130nce Ayarlar: Kaynak Kullan\u0131m\u0131, G\u00fcvenlik ve Loglar<\/span><\/h2>\n<h3><span id=\"Kaynak_Kullanimini_Sakin_Tutmak\">Kaynak Kullan\u0131m\u0131n\u0131 Sakin Tutmak<\/span><\/h3>\n<p>\u00d6zellikle CPU ve disk IO a\u00e7\u0131s\u0131ndan hassas VPS\u2019lerde, yedekleme s\u0131ras\u0131nda \u00fcretim trafi\u011fini rahats\u0131z etmemek i\u00e7in \u015fu ad\u0131mlar\u0131 \u00f6neriyoruz:<\/p>\n<ul>\n<li>Yedekleme script\u2019lerini d\u00fc\u015f\u00fck yo\u011funluklu saatlere (\u00f6rne\u011fin gece) koyun.<\/li>\n<li>rclone ve restic komutlar\u0131n\u0131 <code>nice<\/code> ve <code>ionice<\/code> ile d\u00fc\u015f\u00fck \u00f6ncelikli \u00e7al\u0131\u015ft\u0131r\u0131n:<\/li>\n<\/ul>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">nice -n 10 ionice -c2 -n7 restic backup ...\n<\/code><\/pre>\n<p>Diskin dolmas\u0131n\u0131 \u00f6nlemek i\u00e7in log dosyalar\u0131n\u0131z\u0131 da kontrol alt\u0131nda tutman\u0131z \u015fart. Bunun i\u00e7in <a href='https:\/\/www.dchost.com\/blog\/vps-disk-kullanimi-ve-logrotate-ayarlariyla-no-space-left-on-device-hatasini-onlemek\/'>VPS disk kullan\u0131m\u0131 ve logrotate ayarlar\u0131yla no space left on device hatas\u0131n\u0131 \u00f6nlemek<\/a> rehberindeki \u00f6nerileri bu yedekleme mimarisiyle birle\u015ftirmenizi tavsiye ederiz.<\/p>\n<h3><span id=\"Guvenlik_Erisim_Anahtarlari_ve_Sifreleme\">G\u00fcvenlik: Eri\u015fim Anahtarlar\u0131 ve \u015eifreleme<\/span><\/h3>\n<p>Yedekler en az \u00fcretim verisi kadar hassas, hatta \u00e7o\u011fu zaman daha da kritik; \u00e7\u00fcnk\u00fc hepsi tek yerde toplanm\u0131\u015f durumda. G\u00fcvenlik taraf\u0131nda temel prensipler:<\/p>\n<ul>\n<li>S3 eri\u015fim anahtar\u0131 i\u00e7in sadece gerekli yetkilere sahip (s\u0131n\u0131rl\u0131 bucket eri\u015fimli) ayr\u0131 bir kullan\u0131c\u0131 tan\u0131mlay\u0131n.<\/li>\n<li>Anahtarlar\u0131 script\u2019lere g\u00f6mmek yerine environment dosyalar\u0131nda ve m\u00fcmk\u00fcnse sadece root okunabilir \u015fekilde saklay\u0131n.<\/li>\n<li>restic zaten client-side \u015fifreleme sa\u011fl\u0131yor; buna ek olarak Object Storage taraf\u0131nda server-side \u015fifrelemeyi de aktif etmeyi d\u00fc\u015f\u00fcn\u00fcn.<\/li>\n<li>rclone config dosyas\u0131n\u0131 (genelde \/root\/.config\/rclone\/rclone.conf) 600 izinleriyle s\u0131n\u0131rlay\u0131n.<\/li>\n<\/ul>\n<p>KVKK ve GDPR taraf\u0131nda veri yerelle\u015ftirme, saklama s\u00fcresi ve silme politikalar\u0131n\u0131 kurarken, bu yedekleme mimarisini daha geni\u015f bir \u00e7er\u00e7eveye oturtmak i\u00e7in <a href='https:\/\/www.dchost.com\/blog\/kvkk-ve-gdpr-uyumlu-hosting-secimi-turkiye-avrupa-ve-abd-veri-merkezleri-arasinda-veri-yerellestirme-stratejisi\/'>KVKK ve GDPR uyumlu hosting stratejisi<\/a> yaz\u0131m\u0131z\u0131 da mutlaka okuyun.<\/p>\n<h3><span id=\"Loglama_ve_Alarm_Sessizce_Bozulan_Yedekleri_Yakalamak\">Loglama ve Alarm: Sessizce Bozulan Yedekleri Yakalamak<\/span><\/h3>\n<p>rclone ve restic komutlar\u0131n\u0131n \u00e7\u0131kt\u0131s\u0131n\u0131 log dosyalar\u0131na y\u00f6nlendirmek g\u00fczel bir ba\u015flang\u0131\u00e7; ama yeterli de\u011fil. En az\u0131ndan \u015fu ad\u0131mlar\u0131 \u00f6neriyoruz:<\/p>\n<ul>\n<li>Hata durumunda e-posta atan bir wrapper script kullan\u0131n (exit code kontrol\u00fc).<\/li>\n<li>Log dosyalar\u0131n\u0131n son sat\u0131r\u0131n\u0131 g\u00fcn i\u00e7inde otomatik kontrol eden basit bir cron daha ekleyin.<\/li>\n<li>Daha ileri seviye i\u00e7in Prometheus\/Grafana veya benzeri izleme sistemlerine ba\u015far\u0131\/ba\u015far\u0131s\u0131zl\u0131k metrikleri g\u00f6nderin.<\/li>\n<\/ul>\n<p>B\u00f6ylece bir g\u00fcn rclone ya da restic sessizce hata vermeye ba\u015flarsa, aylar sonra fark etmek yerine ayn\u0131 g\u00fcn i\u00e7inde harekete ge\u00e7ebilirsiniz.<\/p>\n<h2><span id=\"Geri_Donus_Testi_Yedek_Almak_Degil_Donmek_Esastir\">Geri D\u00f6n\u00fc\u015f Testi: Yedek Almak De\u011fil, D\u00f6nmek Esast\u0131r<\/span><\/h2>\n<p>Teoride her \u015fey g\u00fczel; ama i\u015fin prati\u011finde en kritik ad\u0131m, periyodik <strong>geri d\u00f6n\u00fc\u015f testi<\/strong>. Yedeklerinizin ger\u00e7ekten i\u015fe yaray\u0131p yaramad\u0131\u011f\u0131n\u0131, test etmeden bilemezsiniz. \u00d6nerdi\u011fimiz yakla\u015f\u0131m:<\/p>\n<ul>\n<li>Ayda en az bir kez, farkl\u0131 bir test VPS \u00fczerinde deneme geri y\u00fckleme yap\u0131n.<\/li>\n<li>cPanel tam yede\u011fini Object Storage\u2019tan indirip WHM veya cPanel aray\u00fcz\u00fcyle geri y\u00fckleyin.<\/li>\n<li>restic snapshot\u2019lar\u0131ndan belirli bir tarihi se\u00e7ip sadece o siteye ait dosyalar\u0131 ve veritaban\u0131n\u0131 \u00e7\u0131kar\u0131n.<\/li>\n<li>Uygulama aya\u011fa kalk\u0131yor mu, hata loglar\u0131 temiz mi, admin paneline giri\u015f yap\u0131labiliyor mu tek tek kontrol edin.<\/li>\n<\/ul>\n<p>Bu s\u00fcreci \u015firket i\u00e7inde bir runbook ve kontrol listesi ile standardize etmek istiyorsan\u0131z, <a href='https:\/\/www.dchost.com\/blog\/felaket-kurtarma-plani-nasil-yazilir-rto-rpoyu-kafada-netlestirip-yedek-testleri-ve-runbooklari-gercekten-calisir-hale-getirmek\/'>felaket kurtarma plan\u0131 rehberimizde<\/a> \u00f6rnek senaryolar\u0131 ve dok\u00fcmantasyon \u00f6nerilerini detayl\u0131 anlatt\u0131k.<\/p>\n<h2><span id=\"DCHost_Tarafinda_Bu_Mimarinin_Nereye_Oturdugu\">DCHost Taraf\u0131nda Bu Mimarinin Nereye Oturdu\u011fu<\/span><\/h2>\n<p>DCHost olarak verdi\u011fimiz domain, hosting, VPS, dedicated ve colocation hizmetlerinde yedekleme mimarisini her zaman ayr\u0131 bir katman olarak ele al\u0131yoruz. Bu yaz\u0131da anlatt\u0131\u011f\u0131m\u0131z rclone + restic + cron kombinasyonu:<\/p>\n<ul>\n<li>K\u00fc\u00e7\u00fck ve orta \u00f6l\u00e7ekli projelerde, tek VPS \u00fczerinde olduk\u00e7a ekonomik ve esnek bir \u00e7\u00f6z\u00fcm sunuyor.<\/li>\n<li>Ajanslar\u0131n y\u00f6netti\u011fi \u00e7oklu cPanel hesaplar\u0131nda, merkezi bir Object Storage \u00fczerinde t\u00fcm m\u00fc\u015fteri yedeklerini konsolide etmeyi m\u00fcmk\u00fcn k\u0131l\u0131yor.<\/li>\n<li>Dedicated ve colocation m\u00fc\u015fterilerinde, kendi veri merkeziniz ile DCHost Object Storage aras\u0131nda hibrit bir felaket kurtarma senaryosu kurman\u0131n temelini olu\u015fturuyor.<\/li>\n<\/ul>\n<p>Mevcut altyap\u0131n\u0131z\u0131 analiz edip, RPO\/RTO hedeflerinizle uyumlu, otomatik testleri tan\u0131mlanm\u0131\u015f bir yedekleme mimarisi kurmak istiyorsan\u0131z, DCHost ekibi olarak bu yaz\u0131daki yakla\u015f\u0131m\u0131 sizin projelerinize \u00f6zel bir plan haline getirebiliriz. \u0130ster tek bir cPanel hesab\u0131, ister onlarca VPS veya dedicated sunucu olsun; \u00f6nemli olan, yedekleme zincirinin her halkas\u0131n\u0131 tasarlay\u0131p d\u00fczenli test eden, s\u00fcrd\u00fcr\u00fclebilir bir yap\u0131 kurmak.<\/p>\n<p>\u00d6zetle: rclone ile ham ar\u015fivleri g\u00fcvenli bir Object Storage\u2019a ta\u015f\u0131y\u0131n, restic ile art\u0131ml\u0131 ve \u015fifreli snapshot\u2019lar al\u0131n, cron ile hepsini otomatik hale getirin ve d\u00fczenli geri d\u00f6n\u00fc\u015f testleri ile bu zincirin ger\u00e7ekten \u00e7al\u0131\u015ft\u0131\u011f\u0131n\u0131 do\u011frulay\u0131n. Gerisi, altyap\u0131n\u0131z\u0131 b\u00fcy\u00fct\u00fcrken size e\u015flik edecek sa\u011fl\u0131kl\u0131 bir yedekleme al\u0131\u015fkanl\u0131\u011f\u0131na kal\u0131yor.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 Neden Object Storage\u2019a Otomatik Yedek Almal\u0131s\u0131n\u0131z?2 Temeli Netle\u015ftirelim: cPanel mi, D\u00fcz VPS mi?2.1 cPanel Senaryosu: Kullan\u0131c\u0131 Hesab\u0131 Yedekleri2.2 VPS\/Dedicated Senaryosu: Uygulama + Veritaban\u0131 Yedekleri3 Object Storage ve S3 Uyumlu Depolamay\u0131 K\u0131saca Hat\u0131rlayal\u0131m4 Oyuncular: rclone, restic ve Cron Ne \u0130\u015fe Yar\u0131yor?4.1 rclone: rsync\u2019in Object Storage D\u00fcnyas\u0131ndaki Kuzeni4.2 restic: Art\u0131ml\u0131, \u015eifreli ve S\u00fcr\u00fcmlemeli Yedekler4.3 Cron: Otomatikle\u015ftiren [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3431,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-3430","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=3430"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3430\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/3431"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=3430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=3430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=3430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}