{"id":33646,"date":"2025-11-05T12:40:53","date_gmt":"2025-11-05T09:40:53","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=33646"},"modified":"2025-11-05T12:40:53","modified_gmt":"2025-11-05T09:40:53","slug":"ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/","title":{"rendered":"Ubuntu 20.04 \u00dczerinde Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 20.04 \u00dczerinde Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme<\/h2>\n<p>Log dosyalar\u0131, bir i\u015fletim sistemi veya uygulama i\u00e7in hayati \u00f6neme sahip bilgi kaynaklar\u0131d\u0131r. Sistemde ger\u00e7ekle\u015fen her t\u00fcrl\u00fc olay\u0131, hatay\u0131, uyar\u0131y\u0131 ve kullan\u0131c\u0131 etkile\u015fimini kaydederler. Bu kay\u0131tlar, sorun giderme, g\u00fcvenlik denetimi, performans analizi ve hata ay\u0131klama gibi pek \u00e7ok kritik s\u00fcre\u00e7te ba\u015fvuru noktas\u0131d\u0131r. Ancak, s\u00fcrekli b\u00fcy\u00fcyen bu log dosyalar\u0131, \u00f6zellikle yo\u011fun sistemlerde veya uzun s\u00fcre \u00e7al\u0131\u015fan uygulamalarda ciddi disk alan\u0131 t\u00fcketimine yol a\u00e7abilir. Y\u00f6netilmeyen log dosyalar\u0131, yaln\u0131zca disk alan\u0131n\u0131 doldurmakla kalmaz, ayn\u0131 zamanda sistem performans\u0131n\u0131 d\u00fc\u015f\u00fcrebilir ve log analizini son derece zorla\u015ft\u0131rabilir. \u0130\u015fte tam da bu noktada, Logrotate devreye girer.<\/p>\n<p>Logrotate, Linux sistemlerinde log dosyalar\u0131n\u0131 otomatik olarak y\u00f6netmek i\u00e7in tasarlanm\u0131\u015f g\u00fc\u00e7l\u00fc bir yard\u0131mc\u0131 programd\u0131r. Log dosyalar\u0131n\u0131 belirli aral\u0131klarla d\u00f6nd\u00fcrerek (yeniden adland\u0131rarak veya ta\u015f\u0131yarak), s\u0131k\u0131\u015ft\u0131rarak ve eski dosyalar\u0131 silerek disk alan\u0131 kullan\u0131m\u0131n\u0131 optimize eder. Bu makalede, Ubuntu 20.04 \u00fczerinde Logrotate&#8217;in nas\u0131l kurulaca\u011f\u0131n\u0131, yap\u0131land\u0131r\u0131laca\u011f\u0131n\u0131 ve kullan\u0131laca\u011f\u0131n\u0131 ayr\u0131nt\u0131l\u0131 bir \u015fekilde inceleyece\u011fiz. Logrotate&#8217;in temel \u00e7al\u0131\u015fma prensiplerinden, s\u0131k kullan\u0131lan direktiflerine, \u00f6rnek yap\u0131land\u0131rmalardan, manuel test etme y\u00f6ntemlerine ve s\u0131k kar\u015f\u0131la\u015f\u0131lan sorunlara kadar geni\u015f bir yelpazede bilgi sunarak, log y\u00f6netimi s\u00fcre\u00e7lerinizi etkin bir \u015fekilde otomatikle\u015ftirmeyi \u00f6\u011freneceksiniz.<\/p>\n<h3>Log Dosyalar\u0131 ve \u00d6nemi<\/h3>\n<p>Sistemlerin ve uygulamalar\u0131n sorunsuz \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flamak, olas\u0131 problemleri tespit etmek ve g\u00fcvenlik a\u00e7\u0131klar\u0131n\u0131 izlemek i\u00e7in log dosyalar\u0131 vazge\u00e7ilmezdir.<\/p>\n<h4>Log Dosyalar\u0131 Nedir?<\/h4>\n<p>Log dosyalar\u0131, bir bilgisayar sistemindeki veya yaz\u0131l\u0131m uygulamas\u0131ndaki olaylar\u0131n kayd\u0131n\u0131 tutan metin tabanl\u0131 dosyalard\u0131r. Bu olaylar, sistem ba\u015flatma ve kapatma, kullan\u0131c\u0131 oturum a\u00e7ma ve kapatma, sistem hatalar\u0131, uygulama hatalar\u0131, a\u011f ba\u011flant\u0131lar\u0131, g\u00fcvenlik ihlalleri veya herhangi bir uygulaman\u0131n dahili i\u015fleyi\u015fi hakk\u0131nda bilgiler i\u00e7erebilir.<\/p>\n<p>Ubuntu gibi Linux tabanl\u0131 sistemlerde, log dosyalar\u0131 genellikle <code>\/var\/log<\/code> dizini alt\u0131nda bulunur. Baz\u0131 yayg\u0131n log dosyas\u0131 \u00f6rnekleri \u015funlard\u0131r:<\/p>\n<p>*   <strong><code>\/var\/log\/syslog<\/code><\/strong>: \u00c7e\u015fitli sistem genelindeki mesajlar\u0131, \u00e7ekirdek mesajlar\u0131n\u0131 ve uygulamalardan gelen genel loglar\u0131 i\u00e7erir.<br \/>\n*   <strong><code>\/var\/log\/auth.log<\/code><\/strong>: Kimlik do\u011frulama olaylar\u0131n\u0131, kullan\u0131c\u0131 giri\u015f denemelerini, sudo kullan\u0131mlar\u0131n\u0131 ve di\u011fer g\u00fcvenlik ile ilgili olaylar\u0131 kaydeder.<br \/>\n*   <strong><code>\/var\/log\/kern.log<\/code><\/strong>: \u00c7ekirdek (kernel) ile ilgili mesajlar\u0131 ve uyar\u0131lar\u0131 i\u00e7erir.<br \/>\n*   <strong><code>\/var\/log\/apache2\/access.log<\/code> ve <code>\/var\/log\/apache2\/error.log<\/code><\/strong>: Apache web sunucusunun eri\u015fim ve hata loglar\u0131d\u0131r. Benzer \u015fekilde Nginx i\u00e7in <code>\/var\/log\/nginx\/access.log<\/code> ve <code>\/var\/log\/nginx\/error.log<\/code> bulunur.<br \/>\n*   <strong><code>\/var\/log\/mysql\/error.log<\/code><\/strong>: MySQL veya MariaDB veritaban\u0131 sunucusunun hata loglar\u0131n\u0131 i\u00e7erir.<br \/>\n*   <strong><code>\/var\/log\/mail.log<\/code><\/strong>: Posta sunucusu faaliyetlerini (g\u00f6nderilen\/al\u0131nan e-postalar) kaydeder.<\/p>\n<p>Bu loglar, sistem y\u00f6neticileri, geli\u015ftiriciler ve g\u00fcvenlik uzmanlar\u0131 i\u00e7in paha bi\u00e7ilmez birer kaynakt\u0131r.<\/p>\n<h4>Y\u00f6netilmeyen Log Dosyalar\u0131n\u0131n Yaratt\u0131\u011f\u0131 Sorunlar<\/h4>\n<p>Log dosyalar\u0131 s\u00fcrekli b\u00fcy\u00fcd\u00fc\u011f\u00fcnden, d\u00fczenli bir y\u00f6netim mekanizmas\u0131 olmadan ciddi sorunlara yol a\u00e7abilirler:<\/p>\n<p>*   <strong>Disk Alan\u0131 T\u00fcketimi<\/strong>: \u00d6zellikle y\u00fcksek trafikli sunucularda veya yo\u011fun uygulamalarda log dosyalar\u0131 \u00e7ok h\u0131zl\u0131 bir \u015fekilde gigabaytlarca yer kaplayabilir. Bu durum, disk alan\u0131n\u0131n t\u00fckenmesine ve sistemin karars\u0131z hale gelmesine veya tamamen \u00e7\u00f6kmesine neden olabilir.<br \/>\n*   <strong>Sistem Performans\u0131 D\u00fc\u015f\u00fc\u015f\u00fc<\/strong>: \u00c7ok b\u00fcy\u00fck log dosyalar\u0131, disk I\/O i\u015flemlerini art\u0131rabilir. Uygulamalar log yazarken veya log analizi ara\u00e7lar\u0131 bu dosyalar\u0131 okurken sistem kaynaklar\u0131 gereksiz yere me\u015fgul olabilir, bu da genel sistem performans\u0131n\u0131 olumsuz etkiler.<br \/>\n*   <strong>Log Analizi Zorlu\u011fu<\/strong>: Binlerce veya milyonlarca sat\u0131r i\u00e7eren devasa log dosyalar\u0131, bir sorunu tespit etmeye veya belirli bir olay\u0131 bulmaya \u00e7al\u0131\u015f\u0131rken insan g\u00f6z\u00fcyle veya basit komutlarla (grep, less) analiz etmeyi neredeyse imkans\u0131z hale getirir.<br \/>\n*   <strong>G\u00fcvenlik Riskleri<\/strong>: Eski loglar\u0131n s\u00fcresiz olarak saklanmas\u0131, hassas bilgilerin uzun s\u00fcre eri\u015filebilir kalmas\u0131na neden olabilir. Ayr\u0131ca, loglar\u0131n d\u00fczenli olarak yedeklenmemesi veya g\u00fcvenli bir \u015fekilde ar\u015fivlenmemesi, denetim izlerinin kaybolmas\u0131na ve g\u00fcvenlik olaylar\u0131n\u0131n tespit edilememesine yol a\u00e7abilir.<\/p>\n<p>Bu nedenlerle, log dosyalar\u0131n\u0131n d\u00fczenli olarak d\u00f6nd\u00fcr\u00fclmesi, s\u0131k\u0131\u015ft\u0131r\u0131lmas\u0131 ve ar\u015fivlenmesi veya silinmesi kritik bir sistem y\u00f6netimi g\u00f6revidir.<\/p>\n<h3>Logrotate Nedir?<\/h3>\n<p>Logrotate, Linux i\u015fletim sistemlerinde log dosyalar\u0131n\u0131 otomatik olarak y\u00f6netmek i\u00e7in tasarlanm\u0131\u015f bir komut sat\u0131r\u0131 yard\u0131mc\u0131 program\u0131d\u0131r. Temel amac\u0131, log dosyalar\u0131n\u0131n a\u015f\u0131r\u0131 b\u00fcy\u00fcmesini \u00f6nlemek, disk alan\u0131 t\u00fcketimini azaltmak ve log analizi s\u00fcre\u00e7lerini kolayla\u015ft\u0131rmakt\u0131r.<\/p>\n<h4>Tan\u0131m ve \u00c7al\u0131\u015fma Prensibi<\/h4>\n<p>Logrotate, belirli kurallara g\u00f6re log dosyalar\u0131n\u0131 d\u00f6nd\u00fcr\u00fcr, yani mevcut log dosyas\u0131n\u0131 yeni bir adla kaydeder ve uygulaman\u0131n yeni bir log dosyas\u0131na yazmaya ba\u015flamas\u0131n\u0131 sa\u011flar. Bu d\u00f6nd\u00fcrme i\u015flemi genellikle s\u0131k\u0131\u015ft\u0131rma, eski log dosyalar\u0131n\u0131 silme veya belirli bir dizine ta\u015f\u0131ma gibi ek ad\u0131mlarla birlikte gelir.<\/p>\n<p>Logrotate, genellikle sistemin <code>cron<\/code> zamanlay\u0131c\u0131s\u0131 taraf\u0131ndan g\u00fcnl\u00fck olarak \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r. Ubuntu&#8217;da, <code>\/etc\/cron.daily\/logrotate<\/code> beti\u011fi, Logrotate&#8217;i her g\u00fcn belirli bir zamanda tetikler. Bu betik, <code>\/etc\/logrotate.conf<\/code> ana yap\u0131land\u0131rma dosyas\u0131n\u0131 ve <code>\/etc\/logrotate.d\/<\/code> dizinindeki t\u00fcm uygulamaya \u00f6zel yap\u0131land\u0131rma dosyalar\u0131n\u0131 okur ve bu dosyalarda tan\u0131mlanan kurallara g\u00f6re log y\u00f6netimini ger\u00e7ekle\u015ftirir.<\/p>\n<h4>Avantajlar\u0131<\/h4>\n<p>Logrotate kullanman\u0131n ba\u015fl\u0131ca avantajlar\u0131 \u015funlard\u0131r:<\/p>\n<p>*   <strong>Disk Alan\u0131 Tasarrufu<\/strong>: Eski log dosyalar\u0131n\u0131 s\u0131k\u0131\u015ft\u0131rarak veya silerek de\u011ferli disk alan\u0131ndan tasarruf sa\u011flar.<br \/>\n*   <strong>Sistem Performans\u0131<\/strong>: B\u00fcy\u00fck log dosyalar\u0131n\u0131n neden oldu\u011fu disk I\/O y\u00fck\u00fcn\u00fc azalt\u0131r, bu da sistemin genel performans\u0131na olumlu katk\u0131da bulunur.<br \/>\n*   <strong>Kolay Analiz<\/strong>: Daha k\u00fc\u00e7\u00fck, y\u00f6netilebilir log dosyalar\u0131, belirli bir zaman dilimindeki olaylar\u0131 incelemeyi ve sorunlar\u0131 tespit etmeyi kolayla\u015ft\u0131r\u0131r.<br \/>\n*   <strong>Otomasyon<\/strong>: Log y\u00f6netimi g\u00f6revlerini otomatikle\u015ftirerek sistem y\u00f6neticilerinin manuel m\u00fcdahale ihtiyac\u0131n\u0131 ortadan kald\u0131r\u0131r ve zaman kazand\u0131r\u0131r.<br \/>\n*   <strong>G\u00fcvenlik ve Uyum<\/strong>: Loglar\u0131n belirli bir s\u00fcre saklanmas\u0131n\u0131 veya g\u00fcvenli bir \u015fekilde ar\u015fivlenmesini sa\u011flayarak g\u00fcvenlik politikalar\u0131na ve yasal uyumluluk gereksinimlerine yard\u0131mc\u0131 olur.<\/p>\n<h3>Logrotate Kurulumu ve Temel Kullan\u0131m\u0131<\/h3>\n<p>Ubuntu 20.04&#8217;te Logrotate genellikle varsay\u0131lan olarak y\u00fckl\u00fc gelir. Ancak, kurulu olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek ve gerekirse y\u00fcklemek kolayd\u0131r.<\/p>\n<h4>Kurulum<\/h4>\n<p>Logrotate&#8217;in sisteminizde kurulu olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">dpkg -l | grep logrotate<\/code><\/pre>\n<p>E\u011fer kurulu de\u011filse, a\u015fa\u011f\u0131daki komutla y\u00fckleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt install logrotate<\/code><\/pre>\n<h4>Logrotate&#8217;in Yap\u0131s\u0131<\/h4>\n<p>Logrotate, yap\u0131land\u0131rma dosyalar\u0131n\u0131 merkezi ve mod\u00fcler bir \u015fekilde y\u00f6netir:<\/p>\n<p>1.  <strong><code>\/etc\/logrotate.conf<\/code><\/strong>: Bu, Logrotate&#8217;in ana yap\u0131land\u0131rma dosyas\u0131d\u0131r. Genel (global) ayarlar\u0131 i\u00e7erir ve di\u011fer yap\u0131land\u0131rma dosyalar\u0131n\u0131n nas\u0131l dahil edilece\u011fini belirtir. Bu dosya, Logrotate&#8217;in varsay\u0131lan davran\u0131\u015f\u0131n\u0131 tan\u0131mlar ve \u00e7o\u011fu durumda t\u00fcm log dosyalar\u0131 i\u00e7in ge\u00e7erli olacak genel direktifleri bar\u0131nd\u0131r\u0131r.<br \/>\n2.  <strong><code>\/etc\/logrotate.d\/<\/code><\/strong>: Bu dizin, uygulamaya \u00f6zel yap\u0131land\u0131rma dosyalar\u0131n\u0131 i\u00e7erir. Her uygulama (\u00f6rne\u011fin, Apache, Nginx, MySQL, Rsyslog) kendi log d\u00f6nd\u00fcrme kurallar\u0131n\u0131 bu dizine ayr\u0131 bir dosya olarak yerle\u015ftirebilir. Bu, yap\u0131land\u0131rman\u0131n mod\u00fcler olmas\u0131n\u0131 sa\u011flar ve farkl\u0131 uygulamalar\u0131n loglar\u0131n\u0131n birbirinden ba\u011f\u0131ms\u0131z olarak y\u00f6netilmesine olanak tan\u0131r. Ana yap\u0131land\u0131rma dosyas\u0131, bu dizindeki t\u00fcm dosyalar\u0131 otomatik olarak okur.<br \/>\n3.  <strong><code>\/etc\/cron.daily\/logrotate<\/code><\/strong>: Bu betik, Logrotate&#8217;i g\u00fcnl\u00fck olarak \u00e7al\u0131\u015ft\u0131ran cron i\u015fidir. Sistem her g\u00fcn bu beti\u011fi \u00e7al\u0131\u015ft\u0131r\u0131r ve Logrotate, yap\u0131land\u0131rma dosyalar\u0131n\u0131 okuyarak log d\u00f6nd\u00fcrme i\u015flemlerini ger\u00e7ekle\u015ftirir.<br \/>\n4.  <strong><code>\/var\/lib\/logrotate\/status<\/code><\/strong>: Bu dosya, Logrotate&#8217;in en son ne zaman hangi log dosyas\u0131n\u0131 d\u00f6nd\u00fcrd\u00fc\u011f\u00fcn\u00fc kaydetti\u011fi bir durum dosyas\u0131d\u0131r. Logrotate, bu dosyay\u0131 kullanarak bir log dosyas\u0131n\u0131n ne zaman d\u00f6nd\u00fcr\u00fclmesi gerekti\u011fini belirler.<\/p>\n<h3>Logrotate Yap\u0131land\u0131rma Dosyalar\u0131n\u0131 Anlamak<\/h3>\n<p>Logrotate&#8217;in g\u00fcc\u00fc, esnek yap\u0131land\u0131rma se\u00e7eneklerinde yatar. Direktifler, log dosyalar\u0131n\u0131n nas\u0131l d\u00f6nd\u00fcr\u00fclece\u011fini, s\u0131k\u0131\u015ft\u0131r\u0131laca\u011f\u0131n\u0131, saklanaca\u011f\u0131n\u0131 ve y\u00f6netilece\u011fini belirler.<\/p>\n<h4><code>\/etc\/logrotate.conf<\/code><\/h4>\n<p>Bu dosya, Logrotate&#8217;in varsay\u0131lan davran\u0131\u015f\u0131n\u0131 tan\u0131mlayan global direktifleri i\u00e7erir. \u0130\u015fte tipik bir <code>\/etc\/logrotate.conf<\/code> dosyas\u0131ndan baz\u0131 \u00f6rnek direktifler ve anlamlar\u0131:<\/p>\n<pre><code class=\"language-\"># see \"man logrotate\" for details\n<h2>rotate log files weekly<\/h2>\nweekly\n\n<h2>use the syslog group by default, since this is the owning group<\/h2>\n<h2>of \/var\/log\/syslog.<\/h2>\nsu root syslog\n\n<h2>keep 4 weeks worth of backlogs<\/h2>\nrotate 4\n\n<h2>create new (empty) log files after rotating old ones<\/h2>\ncreate\n\n<h2>uncomment this if you want your log files compressed<\/h2>\n#compress\n\n<h2>packages drop log rotation information into this directory<\/h2>\ninclude \/etc\/logrotate.d<\/code><\/pre>\n<p>*   <strong><code>weekly<\/code><\/strong>: Log dosyalar\u0131n\u0131n haftal\u0131k olarak d\u00f6nd\u00fcr\u00fclmesini sa\u011flar. Di\u011fer se\u00e7enekler <code>daily<\/code>, <code>monthly<\/code>, <code>yearly<\/code> veya <code>size<\/code> (belirli bir boyuta ula\u015ft\u0131\u011f\u0131nda) olabilir.<br \/>\n*   <strong><code>su root syslog<\/code><\/strong>: Logrotate&#8217;in log dosyalar\u0131n\u0131 d\u00f6nd\u00fcr\u00fcrken ve yeni dosyalar olu\u015ftururken hangi kullan\u0131c\u0131 ve grup kimli\u011fini kullanaca\u011f\u0131n\u0131 belirtir. Bu, genellikle log dosyalar\u0131n\u0131n orijinal sahipli\u011fini ve izinlerini korumak i\u00e7in \u00f6nemlidir.<br \/>\n*   <strong><code>rotate 4<\/code><\/strong>: En fazla 4 adet eski log dosyas\u0131 saklanaca\u011f\u0131n\u0131 belirtir. Be\u015finci d\u00f6nd\u00fcrme ger\u00e7ekle\u015fti\u011finde, en eski (be\u015finci) log dosyas\u0131 silinir.<br \/>\n*   <strong><code>create<\/code><\/strong>: Log d\u00f6nd\u00fcr\u00fcld\u00fckten sonra, uygulaman\u0131n yazmaya devam etmesi i\u00e7in ayn\u0131 isimde bo\u015f bir yeni log dosyas\u0131 olu\u015fturur. Varsay\u0131lan olarak <code>create 0640 root adm<\/code> gibi izin ve sahiplik bilgileri de i\u00e7erebilir.<br \/>\n*   <strong><code>compress<\/code><\/strong>: D\u00f6nd\u00fcr\u00fclen log dosyalar\u0131n\u0131 s\u0131k\u0131\u015ft\u0131r\u0131r (genellikle gzip ile). Bu, disk alan\u0131ndan \u00f6nemli \u00f6l\u00e7\u00fcde tasarruf sa\u011flar.<br \/>\n*   <strong><code>include \/etc\/logrotate.d<\/code><\/strong>: Bu sat\u0131r, Logrotate&#8217;e <code>\/etc\/logrotate.d\/<\/code> dizinindeki t\u00fcm yap\u0131land\u0131rma dosyalar\u0131n\u0131 okumas\u0131n\u0131 s\u00f6yler.<\/p>\n<h4><code>\/etc\/logrotate.d\/<\/code> \u0130\u00e7indeki Yap\u0131land\u0131rma Dosyalar\u0131<\/h4>\n<p>Bu dizin, her bir uygulama veya servis i\u00e7in \u00f6zel log d\u00f6nd\u00fcrme kurallar\u0131n\u0131 tan\u0131mlayan ayr\u0131 dosyalar\u0131 bar\u0131nd\u0131r\u0131r. Bu dosyalar, global <code>\/etc\/logrotate.conf<\/code> dosyas\u0131ndaki direktifleri ge\u00e7ersiz k\u0131labilir veya onlara ek direktifler tan\u0131mlayabilir.<\/p>\n<p>\u00d6rnek bir Apache log yap\u0131land\u0131rmas\u0131 (<code>\/etc\/logrotate.d\/apache2<\/code>):<\/p>\n<pre><code class=\"language-\">\/var\/log\/apache2\/*.log {\n        weekly\n        missingok\n        rotate 14\n        compress\n        delaycompress\n        notifempty\n        create 0640 root adm\n        sharedscripts\n        postrotate\n                if \/etc\/init.d\/apache2 status > \/dev\/null ; then \\\n                        \/etc\/init.d\/apache2 reload > \/dev\/null; \\\n                fi;\n        endscript\n}<\/code><\/pre>\n<p>Bu \u00f6rnekte:<\/p>\n<p><em>   <strong><code>\/var\/log\/apache2\/<\/em>.log { ... }<\/code><\/strong>: Bu blok, <code>\/var\/log\/apache2\/<\/code> dizinindeki t\u00fcm <code>.log<\/code> uzant\u0131l\u0131 dosyalar i\u00e7in ge\u00e7erli olan kurallar\u0131 tan\u0131mlar.<br \/>\n*   <strong><code>weekly<\/code><\/strong>: Bu loglar haftal\u0131k olarak d\u00f6nd\u00fcr\u00fcl\u00fcr (global <code>weekly<\/code> direktifini kullan\u0131r veya ge\u00e7ersiz k\u0131lar).<br \/>\n*   <strong><code>rotate 14<\/code><\/strong>: En fazla 14 adet eski log dosyas\u0131 saklan\u0131r.<br \/>\n*   <strong><code>delaycompress<\/code><\/strong>: En son d\u00f6nd\u00fcr\u00fclen log dosyas\u0131n\u0131 hemen s\u0131k\u0131\u015ft\u0131rmak yerine, bir sonraki d\u00f6nd\u00fcrmeye kadar bekler. Bu, son log dosyas\u0131n\u0131n hala okunabilir durumda kalmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong><code>postrotate ... endscript<\/code><\/strong>: Bu blok, log d\u00f6nd\u00fcrme i\u015flemi tamamland\u0131ktan sonra \u00e7al\u0131\u015ft\u0131r\u0131lacak komutlar\u0131 i\u00e7erir. Apache \u00f6rne\u011finde, web sunucusuna log dosyalar\u0131n\u0131n yeniden a\u00e7\u0131lmas\u0131 gerekti\u011fini bildirmek i\u00e7in <code>apache2 reload<\/code> komutu \u00e7al\u0131\u015ft\u0131r\u0131l\u0131r. Bu, Apache&#8217;nin yeni log dosyalar\u0131na yazmaya ba\u015flamas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong><code>sharedscripts<\/code><\/strong>: E\u011fer birden fazla log dosyas\u0131 ayn\u0131 blok i\u00e7inde tan\u0131mlanm\u0131\u015fsa (\u00f6rne\u011fin, <code>access.log<\/code> ve <code>error.log<\/code>), <code>prerotate<\/code> veya <code>postrotate<\/code> betiklerinin sadece bir kez \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>S\u0131k Kullan\u0131lan Logrotate Direktifleri ve Anlamlar\u0131<\/h3>\n<p>Logrotate&#8217;in g\u00fc\u00e7l\u00fc ve esnek olmas\u0131n\u0131 sa\u011flayan bir\u00e7ok direktif bulunmaktad\u0131r. \u0130\u015fte en s\u0131k kullan\u0131lanlar:<\/p>\n<p>*   <strong><code>rotate COUNT<\/code><\/strong>: D\u00f6nd\u00fcr\u00fclecek log dosyas\u0131n\u0131n say\u0131s\u0131n\u0131 belirtir. \u00d6rne\u011fin, <code>rotate 7<\/code> son 7 log dosyas\u0131n\u0131 saklar, sekizinci d\u00f6nd\u00fcrmede en eski dosya silinir.<br \/>\n*   <strong><code>daily<\/code> \/ <code>weekly<\/code> \/ <code>monthly<\/code> \/ <code>yearly<\/code><\/strong>: Log dosyalar\u0131n\u0131n d\u00f6nd\u00fcrme s\u0131kl\u0131\u011f\u0131n\u0131 belirler. <code>daily<\/code> g\u00fcnl\u00fck, <code>weekly<\/code> haftal\u0131k, <code>monthly<\/code> ayl\u0131k, <code>yearly<\/code> y\u0131ll\u0131k d\u00f6nd\u00fcrme yapar.<br \/>\n*   <strong><code>size SIZE<\/code><\/strong>: Log dosyas\u0131n\u0131n boyutu belirtilen boyutu a\u015ft\u0131\u011f\u0131nda d\u00f6nd\u00fcrme yapar. \u00d6rne\u011fin, <code>size 100M<\/code> log dosyas\u0131 100 MB&#8217;\u0131 ge\u00e7ti\u011finde d\u00f6nd\u00fcr\u00fcl\u00fcr. <code>K<\/code>, <code>M<\/code>, <code>G<\/code> birimleri kullan\u0131labilir.<br \/>\n*   <strong><code>compress<\/code><\/strong>: D\u00f6nd\u00fcr\u00fclen log dosyalar\u0131n\u0131 s\u0131k\u0131\u015ft\u0131r\u0131r (varsay\u0131lan olarak <code>gzip<\/code> kullan\u0131r). Bu, disk alan\u0131ndan tasarruf sa\u011flar.<br \/>\n*   <strong><code>delaycompress<\/code><\/strong>: <code>compress<\/code> direktifiyle birlikte kullan\u0131l\u0131r. En son d\u00f6nd\u00fcr\u00fclen log dosyas\u0131n\u0131n hemen de\u011fil, bir sonraki d\u00f6nd\u00fcrme ger\u00e7ekle\u015fti\u011finde s\u0131k\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 sa\u011flar. Bu, en yeni d\u00f6nd\u00fcr\u00fclm\u00fc\u015f log dosyas\u0131n\u0131n hala s\u0131k\u0131\u015ft\u0131r\u0131lmam\u0131\u015f ve kolayca eri\u015filebilir olmas\u0131n\u0131 sa\u011flar.<br \/>\n*   <strong><code>notifempty<\/code><\/strong>: Log dosyas\u0131 bo\u015fsa d\u00f6nd\u00fcrme i\u015flemini ger\u00e7ekle\u015ftirmez.<br \/>\n*   <strong><code>missingok<\/code><\/strong>: Log dosyas\u0131 bulunamazsa hata vermez ve bir sonraki log dosyas\u0131na ge\u00e7er.<br \/>\n*   <strong><code>create MODE OWNER GROUP<\/code><\/strong>: Log dosyas\u0131 d\u00f6nd\u00fcr\u00fcld\u00fckten sonra, ayn\u0131 isimde bo\u015f bir yeni log dosyas\u0131 olu\u015fturur ve belirtilen izinler (<code>MODE<\/code>), sahip (<code>OWNER<\/code>) ve grup (<code>GROUP<\/code>) ile ayarlar. \u00d6rne\u011fin, <code>create 0640 root adm<\/code>.<br \/>\n*   <strong><code>copytruncate<\/code><\/strong>: Bu direktif, Logrotate&#8217;in log dosyas\u0131n\u0131 kopyalay\u0131p orijinal dosyay\u0131 s\u0131f\u0131rlamas\u0131n\u0131 sa\u011flar. Bu, log dosyas\u0131na yazan uygulaman\u0131n log dosyas\u0131n\u0131 kapat\u0131p yeniden a\u00e7mas\u0131na gerek kalmadan \u00e7al\u0131\u015fmaya devam etmesini sa\u011flar. \u00d6zellikle, bir uygulamay\u0131 yeniden ba\u015flatman\u0131n m\u00fcmk\u00fcn olmad\u0131\u011f\u0131 veya istenmedi\u011fi durumlarda kullan\u0131\u015fl\u0131d\u0131r. Ancak, kopyalama ve s\u0131f\u0131rlama an\u0131 aras\u0131nda baz\u0131 log verilerinin kaybolma riski ta\u015f\u0131yabilir.<br \/>\n*   <strong><code>olddir DIRECTORY<\/code><\/strong>: D\u00f6nd\u00fcr\u00fclen log dosyalar\u0131n\u0131 varsay\u0131lan dizin yerine belirtilen <code>DIRECTORY<\/code> alt\u0131na ta\u015f\u0131r. \u00d6rne\u011fin, <code>olddir \/var\/log\/archive<\/code>.<br \/>\n*   <strong><code>dateext<\/code><\/strong>: D\u00f6nd\u00fcr\u00fclen log dosyalar\u0131na <code>YYYYMMDD<\/code> format\u0131nda bir tarih uzant\u0131s\u0131 ekler. \u00d6rne\u011fin, <code>syslog-20231027.gz<\/code>. Bu, ayn\u0131 isimde birden fazla log dosyas\u0131 oldu\u011funda kar\u0131\u015f\u0131kl\u0131\u011f\u0131 \u00f6nler.<br \/>\n*   <strong><code>mail ADDRESS<\/code><\/strong>: D\u00f6nd\u00fcr\u00fclen log dosyalar\u0131n\u0131 belirtilen e-posta adresine g\u00f6nderir. Genellikle k\u00fc\u00e7\u00fck log dosyalar\u0131 i\u00e7in kullan\u0131l\u0131r.<br \/>\n*   <strong><code>errors ADDRESS<\/code><\/strong>: Logrotate \u00e7al\u0131\u015f\u0131rken bir hata olu\u015fursa, hata mesaj\u0131n\u0131 belirtilen e-posta adresine g\u00f6nderir.<br \/>\n*   <strong><code>prerotate<\/code> \/ <code>endscript<\/code><\/strong>: Bu blok, log d\u00f6nd\u00fcrme i\u015flemi ba\u015flamadan \u00f6nce \u00e7al\u0131\u015ft\u0131r\u0131lacak komutlar\u0131 i\u00e7erir. <code>prerotate<\/code> ile ba\u015flar ve <code>endscript<\/code> ile biter.<br \/>\n*   <strong><code>postrotate<\/code> \/ <code>endscript<\/code><\/strong>: Bu blok, log d\u00f6nd\u00fcrme i\u015flemi tamamland\u0131ktan sonra \u00e7al\u0131\u015ft\u0131r\u0131lacak komutlar\u0131 i\u00e7erir. Genellikle uygulamalar\u0131n yeni log dosyalar\u0131n\u0131 tan\u0131mas\u0131 i\u00e7in yeniden y\u00fcklenmesi veya sinyal g\u00f6nderilmesi gibi i\u015flemler burada yap\u0131l\u0131r. <code>postrotate<\/code> ile ba\u015flar ve <code>endscript<\/code> ile biter.<br \/>\n*   <strong><code>sharedscripts<\/code><\/strong>: E\u011fer bir logrotate yap\u0131land\u0131rma blo\u011fu birden fazla log dosyas\u0131 tan\u0131ml\u0131yorsa, <code>prerotate<\/code> ve <code>postrotate<\/code> betiklerinin her log dosyas\u0131 i\u00e7in ayr\u0131 ayr\u0131 de\u011fil, t\u00fcm blok i\u00e7in yaln\u0131zca bir kez \u00e7al\u0131\u015ft\u0131r\u0131lmas\u0131n\u0131 sa\u011flar.<\/p>\n<h3>\u00d6rnek Logrotate Yap\u0131land\u0131rmalar\u0131<\/h3>\n<p>Farkl\u0131 servisler i\u00e7in Logrotate yap\u0131land\u0131rmalar\u0131, o servisin ihtiya\u00e7lar\u0131na g\u00f6re \u00f6zelle\u015ftirilir.<\/p>\n<h4>Sistem Loglar\u0131<\/h4>\n<p>Ubuntu&#8217;da <code>\/etc\/logrotate.d\/rsyslog<\/code> dosyas\u0131, <code>syslog<\/code>, <code>auth.log<\/code>, <code>kern.log<\/code> gibi sistem loglar\u0131n\u0131n d\u00f6nd\u00fcr\u00fclmesini y\u00f6netir. Tipik bir <code>rsyslog<\/code> yap\u0131land\u0131rmas\u0131 \u015f\u00f6yle g\u00f6r\u00fcnebilir:<\/p>\n<pre><code class=\"language-\">\/var\/log\/syslog\n\/var\/log\/mail.log\n\/var\/log\/auth.log\n\/var\/log\/daemon.log\n\/var\/log\/dpkg.log\n\/var\/log\/kern.log\n\/var\/log\/lpr.log\n\/var\/log\/user.log\n\/var\/log\/bootstrap.log\n\/var\/log\/lastlog\n\/var\/log\/faillog\n{\n        rotate 7\n        daily\n        missingok\n        notifempty\n        delaycompress\n        compress\n        postrotate\n                \/usr\/bin\/systemctl reload rsyslog >\/dev\/null || true\n        endscript\n}<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma, listelenen t\u00fcm log dosyalar\u0131n\u0131 g\u00fcnl\u00fck olarak d\u00f6nd\u00fcr\u00fcr, 7 adet eski s\u00fcr\u00fcm\u00fcn\u00fc saklar, s\u0131k\u0131\u015ft\u0131r\u0131r (en sonuncusu hari\u00e7) ve d\u00f6nd\u00fcrme sonras\u0131 <code>rsyslog<\/code> servisini yeniden y\u00fckleyerek yeni log dosyalar\u0131n\u0131 tan\u0131mas\u0131n\u0131 sa\u011flar.<\/p>\n<h4>Web Sunucusu Loglar\u0131 (Apache\/Nginx)<\/h4>\n<p>Web sunucular\u0131, eri\u015fim ve hata loglar\u0131 ile \u00e7ok fazla veri \u00fcretebilir. Bu loglar\u0131n y\u00f6netimi kritik \u00f6neme sahiptir.<\/p>\n<p><strong>Nginx i\u00e7in \u00f6rnek (<code>\/etc\/logrotate.d\/nginx<\/code>):<\/strong><\/p>\n<pre><code class=\"language-\">\/var\/log\/nginx\/*.log {\n        daily\n        missingok\n        rotate 52\n        compress\n        delaycompress\n        notifempty\n        create 0640 www-data adm\n        sharedscripts\n        postrotate\n                if [ -f \/var\/run\/nginx.pid ]; then\n                        kill -USR1 <code>cat \/var\/run\/nginx.pid<\/code>\n                fi\n        endscript\n}<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma, Nginx loglar\u0131n\u0131 g\u00fcnl\u00fck olarak d\u00f6nd\u00fcr\u00fcr, 52 hafta (bir y\u0131l) boyunca saklar, s\u0131k\u0131\u015ft\u0131r\u0131r ve <code>postrotate<\/code> beti\u011fi ile Nginx ana s\u00fcrecine <code>USR1<\/code> sinyali g\u00f6ndererek log dosyalar\u0131n\u0131 yeniden a\u00e7mas\u0131n\u0131 sa\u011flar. <code>www-data<\/code> kullan\u0131c\u0131s\u0131 ve <code>adm<\/code> grubu ile yeni log dosyalar\u0131 olu\u015fturulur.<\/p>\n<h4>Uygulama Loglar\u0131<\/h4>\n<p>Kendi \u00f6zel uygulaman\u0131z\u0131n loglar\u0131n\u0131 y\u00f6netmek i\u00e7in de Logrotate kullanabilirsiniz. Diyelim ki uygulaman\u0131z <code>\/var\/log\/my_app\/app.log<\/code> dosyas\u0131na log yaz\u0131yor ve uygulamay\u0131 yeniden ba\u015flatmak istemiyorsunuz.<\/p>\n<p><strong>\u00d6rnek uygulama yap\u0131land\u0131rmas\u0131 (<code>\/etc\/logrotate.d\/my_app<\/code>):<\/strong><\/p>\n<pre><code class=\"language-\">\/var\/log\/my_app\/app.log {\n        size 10M\n        rotate 10\n        copytruncate\n        compress\n        missingok\n        notifempty\n}<\/code><\/pre>\n<p>Bu yap\u0131land\u0131rma:<\/p>\n<p>*   <code>app.log<\/code> dosyas\u0131 10 MB boyutuna ula\u015ft\u0131\u011f\u0131nda d\u00f6nd\u00fcr\u00fcl\u00fcr.<br \/>\n*   En fazla 10 adet s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f eski log dosyas\u0131 saklan\u0131r.<br \/>\n*   <code>copytruncate<\/code> direktifi sayesinde uygulama yeniden ba\u015flat\u0131lmadan log dosyas\u0131 kopyalan\u0131r ve orijinali s\u0131f\u0131rlan\u0131r.<\/p>\n<h3>Logrotate&#8217;i Manuel \u00c7al\u0131\u015ft\u0131rma ve Test Etme<\/h3>\n<p>Yap\u0131land\u0131rma de\u011fi\u015fiklikleri yapt\u0131ktan sonra Logrotate&#8217;in do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olmak i\u00e7in manuel olarak \u00e7al\u0131\u015ft\u0131rmak ve test etmek \u00f6nemlidir.<\/p>\n<p>*   <strong>T\u00fcm yap\u0131land\u0131rmalar\u0131 \u00e7al\u0131\u015ft\u0131rma<\/strong>: Logrotate&#8217;i t\u00fcm yap\u0131land\u0131rma dosyalar\u0131yla birlikte manuel olarak \u00e7al\u0131\u015ft\u0131rmak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo logrotate \/etc\/logrotate.conf<\/code><\/pre>\n<p>    Bu komut, normalde cron taraf\u0131ndan \u00e7al\u0131\u015ft\u0131r\u0131lan i\u015flemi taklit eder. Sadece d\u00f6nd\u00fcrme ko\u015fullar\u0131 (s\u0131kl\u0131k veya boyut) kar\u015f\u0131land\u0131\u011f\u0131nda loglar\u0131 d\u00f6nd\u00fcr\u00fcr.<\/p>\n<p>*   <strong>Zorla \u00e7al\u0131\u015ft\u0131rma<\/strong>: D\u00f6nd\u00fcrme ko\u015fullar\u0131 kar\u015f\u0131lanmasa bile Logrotate&#8217;i t\u00fcm loglar\u0131 d\u00f6nd\u00fcrmeye zorlamak i\u00e7in <code>-f<\/code> (force) se\u00e7ene\u011fini kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo logrotate -f \/etc\/logrotate.conf<\/code><\/pre>\n<p>    Bu, \u00f6zellikle yeni bir yap\u0131land\u0131rmay\u0131 test ederken veya acil bir durumda log dosyalar\u0131n\u0131 hemen d\u00f6nd\u00fcrmeniz gerekti\u011finde kullan\u0131\u015fl\u0131d\u0131r.<\/p>\n<p>*   <strong>Hata ay\u0131klama (debug) modu<\/strong>: Logrotate&#8217;in ne yapaca\u011f\u0131n\u0131 g\u00f6rmek ancak herhangi bir de\u011fi\u015fiklik yapmas\u0131n\u0131 istemiyorsan\u0131z <code>-d<\/code> (debug) se\u00e7ene\u011fini kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo logrotate -d \/etc\/logrotate.conf<\/code><\/pre>\n<p>    Bu komut, Logrotate&#8217;in hangi loglar\u0131 d\u00f6nd\u00fcrece\u011fini, hangi direktifleri uygulayaca\u011f\u0131n\u0131 ve hangi komutlar\u0131 \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131 konsola yazd\u0131r\u0131r, ancak ger\u00e7ekte hi\u00e7bir dosyay\u0131 de\u011fi\u015ftirmez. Bu, yap\u0131land\u0131rma hatalar\u0131n\u0131 tespit etmek i\u00e7in \u00e7ok de\u011ferli bir ara\u00e7t\u0131r.<\/p>\n<p>*   <strong>Detayl\u0131 \u00e7\u0131kt\u0131 (verbose) modu<\/strong>: Logrotate&#8217;in \u00e7al\u0131\u015fma an\u0131ndaki detayl\u0131 \u00e7\u0131kt\u0131s\u0131n\u0131 g\u00f6rmek i\u00e7in <code>-v<\/code> (verbose) se\u00e7ene\u011fini kullan\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo logrotate -v \/etc\/logrotate.conf<\/code><\/pre>\n<p>    Bu, Logrotate&#8217;in her bir log dosyas\u0131 i\u00e7in ne yapt\u0131\u011f\u0131n\u0131 ad\u0131m ad\u0131m g\u00f6sterir.<\/p>\n<p>*   <strong>Tek bir yap\u0131land\u0131rma dosyas\u0131n\u0131 test etme<\/strong>: Sadece belirli bir uygulaman\u0131n yap\u0131land\u0131rmas\u0131n\u0131 test etmek isterseniz, o yap\u0131land\u0131rma dosyas\u0131n\u0131 do\u011frudan belirtebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo logrotate -d \/etc\/logrotate.d\/nginx<\/code><\/pre>\n<p>    Bu, yaln\u0131zca Nginx loglar\u0131 i\u00e7in tan\u0131mlanm\u0131\u015f kurallar\u0131n nas\u0131l i\u015fleyece\u011fini g\u00f6sterir.<\/p>\n<p>Testleri yaparken, <code>\/var\/log<\/code> dizinindeki de\u011fi\u015fiklikleri g\u00f6zlemlemek i\u00e7in <code>ls -l \/var\/log\/nginx<\/code> gibi komutlar kullanabilir veya <code>tail -f<\/code> ile log dosyalar\u0131n\u0131 izleyebilirsiniz.<\/p>\n<h3>Logrotate \u0130le \u0130lgili S\u0131k Kar\u015f\u0131la\u015f\u0131lan Sorunlar ve \u00c7\u00f6z\u00fcmleri<\/h3>\n<p>Logrotate genellikle sorunsuz \u00e7al\u0131\u015fsa da, baz\u0131 durumlarda beklenmedik davran\u0131\u015flarla kar\u015f\u0131la\u015f\u0131labilir.<\/p>\n<p>*   <strong>Log dosyalar\u0131 d\u00f6nm\u00fcyor<\/strong>:<br \/>\n    *   <strong>Cron i\u015fini kontrol edin<\/strong>: <code>\/etc\/cron.daily\/logrotate<\/code> beti\u011finin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 kontrol edin. <code>\/var\/log\/syslog<\/code> dosyas\u0131nda &#8220;logrotate&#8221; kelimesini arayarak cron&#8217;un Logrotate&#8217;i tetikleyip tetiklemedi\u011fini g\u00f6rebilirsiniz.<br \/>\n    *   <strong>Yap\u0131land\u0131rma hatalar\u0131<\/strong>: <code>\/etc\/logrotate.conf<\/code> veya <code>\/etc\/logrotate.d\/<\/code> i\u00e7indeki yap\u0131land\u0131rma dosyalar\u0131nda s\u00f6zdizimi hatas\u0131 olabilir. <code>sudo logrotate -d \/etc\/logrotate.conf<\/code> komutuyla hata ay\u0131klama modunda \u00e7al\u0131\u015ft\u0131rarak hatalar\u0131 tespit edin.<br \/>\n    *   <strong>Durum dosyas\u0131 (<code>\/var\/lib\/logrotate\/status<\/code>)<\/strong>: Bu dosya bozulmu\u015f olabilir veya Logrotate&#8217;in bir log dosyas\u0131n\u0131 ne zaman d\u00f6nd\u00fcrd\u00fc\u011f\u00fc hakk\u0131nda yanl\u0131\u015f bilgi i\u00e7erebilir. Nadiren de olsa, bu dosyay\u0131 silip Logrotate&#8217;i tekrar \u00e7al\u0131\u015ft\u0131rmak sorunu \u00e7\u00f6zebilir (dikkatli olun, bu mevcut d\u00f6nd\u00fcrme d\u00f6ng\u00fclerini s\u0131f\u0131rlar).<br \/>\n    *   <strong>\u0130zinler<\/strong>: Logrotate&#8217;in log dosyalar\u0131na veya yeni log dosyalar\u0131n\u0131 olu\u015fturaca\u011f\u0131 dizinlere yazma izni olmayabilir. Log dosyalar\u0131n\u0131n ve dizinlerinin sahipli\u011fini ve izinlerini kontrol edin.<\/p>\n<p>*   <strong>Disk alan\u0131 hala doluyor<\/strong>:<br \/>\n    *   <strong><code>rotate<\/code> say\u0131s\u0131<\/strong>: <code>rotate<\/code> direktifindeki say\u0131n\u0131n \u00e7ok y\u00fcksek olup olmad\u0131\u011f\u0131n\u0131 kontrol edin. \u00c7ok fazla eski log dosyas\u0131 saklan\u0131yorsa, disk alan\u0131 yine de dolabilir.<br \/>\n    *   <strong><code>compress<\/code> direktifi<\/strong>: <code>compress<\/code> direktifinin etkin oldu\u011fundan emin olun. E\u011fer loglar s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131yorsa, daha fazla yer kaplarlar.<br \/>\n    *   <strong><code>size<\/code> direktifi<\/strong>: E\u011fer <code>size<\/code> direktifi kullan\u0131l\u0131yorsa, belirtilen boyutun \u00e7ok y\u00fcksek olmad\u0131\u011f\u0131ndan emin olun.<br \/>\n    *   <strong>Beklenmeyen log dosyalar\u0131<\/strong>: Logrotate yap\u0131land\u0131rmas\u0131na dahil olmayan ba\u015fka log dosyalar\u0131n\u0131n (uygulama taraf\u0131ndan olu\u015fturulanlar gibi) olup olmad\u0131\u011f\u0131n\u0131 kontrol edin.<\/p>\n<p>*   <strong>Uygulama loglar\u0131 d\u00fczg\u00fcn d\u00f6nm\u00fcyor veya uygulama hata veriyor<\/strong>:<br \/>\n    *   <strong><code>postrotate<\/code> beti\u011fi<\/strong>: Uygulaman\u0131n yeni log dosyas\u0131n\u0131 tan\u0131mas\u0131 i\u00e7in <code>postrotate<\/code> beti\u011finde do\u011fru komutun (\u00f6rne\u011fin, <code>reload<\/code> veya <code>kill -USR1<\/code>) kullan\u0131ld\u0131\u011f\u0131ndan emin olun.<br \/>\n    *   <strong><code>copytruncate<\/code> kullan\u0131m\u0131<\/strong>: E\u011fer uygulaman\u0131z log dosyas\u0131n\u0131 s\u00fcrekli a\u00e7\u0131k tutuyorsa ve yeniden ba\u015flat\u0131lam\u0131yorsa, <code>copytruncate<\/code> direktifini kullanman\u0131z gerekebilir. Ancak, bu direktifin veri kayb\u0131na yol a\u00e7ma potansiyelini g\u00f6z \u00f6n\u00fcnde bulundurun.<br \/>\n    *   <strong>Uygulama izinleri<\/strong>: Yeni olu\u015fturulan log dosyas\u0131n\u0131n sahipli\u011fi ve izinleri, uygulaman\u0131n ona yazabilmesi i\u00e7in uygun olmal\u0131d\u0131r. <code>create<\/code> direktifindeki izinleri kontrol edin.<\/p>\n<p>*   <strong>Logrotate hata mesajlar\u0131 g\u00f6nderiyor<\/strong>:<br \/>\n    *   <code>\/var\/log\/syslog<\/code> dosyas\u0131n\u0131 kontrol edin. Logrotate ile ilgili hatalar genellikle burada kaydedilir.<br \/>\n    *   Yap\u0131land\u0131rma dosyas\u0131ndaki <code>errors<\/code> direktifinin do\u011fru bir e-posta adresine ayarland\u0131\u011f\u0131ndan emin olun, b\u00f6ylece hata mesajlar\u0131n\u0131 do\u011frudan alabilirsiniz.<\/p>\n<h3>Geli\u015fmi\u015f Log Y\u00f6netimi \u0130pu\u00e7lar\u0131<\/h3>\n<p>Logrotate, tek ba\u015f\u0131na g\u00fc\u00e7l\u00fc bir ara\u00e7 olsa da, daha b\u00fcy\u00fck \u00f6l\u00e7ekli veya karma\u015f\u0131k log y\u00f6netimi ihtiya\u00e7lar\u0131 i\u00e7in di\u011fer ara\u00e7larla birlikte kullan\u0131labilir.<\/p>\n<p>*   <strong><code>rsyslog<\/code> veya <code>journald<\/code> ile Entegrasyon<\/strong>: Ubuntu 20.04&#8217;te varsay\u0131lan olarak <code>rsyslog<\/code> ve <code>systemd-journald<\/code> log toplama sistemleri bulunur. Logrotate, bu sistemler taraf\u0131ndan toplanan log dosyalar\u0131n\u0131 y\u00f6netmek i\u00e7in sorunsuz bir \u015fekilde entegre olur. <code>journald<\/code> loglar\u0131 ikili formatta tuttu\u011fu i\u00e7in do\u011frudan Logrotate taraf\u0131ndan d\u00f6nd\u00fcr\u00fclmez, ancak <code>rsyslog<\/code>&#8216;a iletilen loglar Logrotate taraf\u0131ndan y\u00f6netilebilir.<br \/>\n*   <strong>Merkezi Log Y\u00f6netimi (ELK Stack, Graylog vb.)<\/strong>: Birden fazla sunucunuz varsa, loglar\u0131 merkezi bir sisteme (Elasticsearch, Logstash, Kibana (ELK) Stack veya Graylog gibi) g\u00f6ndermek, log analizi ve izleme i\u00e7in \u00e7ok daha etkilidir. Logrotate, bu durumda, yerel diskte \u00e7ok fazla yer kaplamadan sadece belirli bir s\u00fcre boyunca loglar\u0131 tutmak i\u00e7in kullan\u0131labilirken, loglar\u0131n ana ar\u015fivlenmesi ve analizi merkezi sistem taraf\u0131ndan yap\u0131l\u0131r. Logrotate&#8217;in <code>postrotate<\/code> betikleri, loglar\u0131 merkezi sisteme g\u00f6nderme i\u015flemlerini tetiklemek i\u00e7in de kullan\u0131labilir.<br \/>\n*   <strong>Loglar\u0131n G\u00fcvenli\u011fi ve Eri\u015fim Kontrol\u00fc<\/strong>: Log dosyalar\u0131 hassas bilgiler i\u00e7erebilir. Logrotate ile olu\u015fturulan yeni dosyalar\u0131n do\u011fru izinlere (<code>create<\/code> direktifi) ve sahipli\u011fe sahip oldu\u011fundan emin olun. Ayr\u0131ca, eski loglar\u0131 ar\u015fivlerken veya silerken, g\u00fcvenlik politikalar\u0131n\u0131za uygun hareket edin. <code>olddir<\/code> direktifi ile ar\u015fivlenen loglar\u0131 farkl\u0131, daha k\u0131s\u0131tl\u0131 bir dizine ta\u015f\u0131yabilirsiniz.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Log dosyalar\u0131, bir sistemin veya uygulaman\u0131n &#8220;kara kutusu&#8221; gibidir; i\u00e7indeki olaylar hakk\u0131nda de\u011ferli bilgiler sa\u011flarlar. Ancak bu bilgilerin de\u011feri, onlar\u0131 etkin bir \u015fekilde y\u00f6netebilme yetene\u011fimize ba\u011fl\u0131d\u0131r. Ubuntu 20.04 \u00fczerinde Logrotate, log dosyalar\u0131n\u0131n otomatik olarak d\u00f6nd\u00fcr\u00fclmesi, s\u0131k\u0131\u015ft\u0131r\u0131lmas\u0131 ve silinmesi gibi kritik g\u00f6revleri \u00fcstlenerek bu y\u00f6netimi son derece kolayla\u015ft\u0131r\u0131r.<\/p>\n<p>Bu makalede Logrotate&#8217;in temel kavramlar\u0131n\u0131, yap\u0131land\u0131rma dosyalar\u0131n\u0131, s\u0131k kullan\u0131lan direktiflerini ve pratik \u00f6rneklerini inceledik. Ayr\u0131ca, Logrotate&#8217;i manuel olarak nas\u0131l \u00e7al\u0131\u015ft\u0131raca\u011f\u0131n\u0131z\u0131 ve test edece\u011finizi, yayg\u0131n sorunlar\u0131 nas\u0131l giderece\u011finizi ve daha geli\u015fmi\u015f log y\u00f6netimi stratejilerine nas\u0131l entegre edece\u011finizi \u00f6\u011frendiniz. Logrotate&#8217;i do\u011fru bir \u015fekilde yap\u0131land\u0131rarak, sunucular\u0131n\u0131z\u0131n disk alan\u0131n\u0131 optimize edebilir, performans\u0131n\u0131 art\u0131rabilir ve sorun giderme s\u00fcre\u00e7lerinizi \u00f6nemli \u00f6l\u00e7\u00fcde h\u0131zland\u0131rabilirsiniz. Etkili log y\u00f6netimi, stabil, g\u00fcvenli ve performansl\u0131 bir sistemin temel ta\u015flar\u0131ndan biridir. Logrotate, bu temeli sa\u011flamla\u015ft\u0131rman\u0131za yard\u0131mc\u0131 olan vazge\u00e7ilmez bir ara\u00e7t\u0131r.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 20.04 \u00dczerinde Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme\nLog dosyalar\u0131, bir i\u015fletim sistemi veya uygulama i\u00e7in hayati \u00f6neme sahip bilgi ka","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-33646","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 Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme - 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-logrotate-ile-log-dosyalarini-yonetme\/\" \/>\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 Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 20.04 \u00dczerinde Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme Log dosyalar\u0131, bir i\u015fletim sistemi veya uygulama i\u00e7in hayati \u00f6neme sahip bilgi ka\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-05T09:40:53+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=\"21 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-logrotate-ile-log-dosyalarini-yonetme\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 20.04 \u00dczerinde Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme\",\"datePublished\":\"2025-11-05T09:40:53+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/\"},\"wordCount\":3712,\"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-logrotate-ile-log-dosyalarini-yonetme\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/\",\"name\":\"Ubuntu 20.04 \u00dczerinde Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-05T09:40:53+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 20.04 \u00dczerinde Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme\"}]},{\"@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 Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme - 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-logrotate-ile-log-dosyalarini-yonetme\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 20.04 \u00dczerinde Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme","og_description":"Ubuntu 20.04 \u00dczerinde Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme Log dosyalar\u0131, bir i\u015fletim sistemi veya uygulama i\u00e7in hayati \u00f6neme sahip bilgi ka","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-05T09:40:53+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"21 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 20.04 \u00dczerinde Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme","datePublished":"2025-11-05T09:40:53+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/"},"wordCount":3712,"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-logrotate-ile-log-dosyalarini-yonetme\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/","name":"Ubuntu 20.04 \u00dczerinde Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-05T09:40:53+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-20-04-uzerinde-logrotate-ile-log-dosyalarini-yonetme\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 20.04 \u00dczerinde Logrotate ile Log Dosyalar\u0131n\u0131 Y\u00f6netme"}]},{"@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\/33646","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=33646"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33646\/revisions"}],"predecessor-version":[{"id":33647,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/33646\/revisions\/33647"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=33646"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=33646"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=33646"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}