Hantera Linux-loggfiler med Logrotate. Log-filer är de mest värdefulla verktygen för Linux-systemsäkerhet. Logrotate-programmet används för att ge administratören en uppdaterad rekord av händelser som äger rum på systemet. Logrotate-verktyget kan också användas Att säkerhetskopiera loggfiler, så kopior kan användas för att skapa mönster för systemanvändning I den här dagliga borrningen kommer jag att täcka följande ämnen. Logrotatkonfigurationen. Standardinställningar för logrotate. Using inkludera alternativet för att läsa andra konfigurationsfiler. Rotationsparametrar för specifika filer. Använd alternativet inkludera att överväga standardvärden. Logrotate-programmet Logrotate-programmet är en loggfilhanterare. Det används för att regelbundet cykla eller rotera loggfiler genom att ta bort de äldsta från ditt system och skapa nya loggfiler. Det kan Användas för att rotera baserat på filens ålder eller filens storlek och körs vanligtvis automatiskt via cron-verktyget. Logrotate-programmet kan också användas för att komprimera loggfilen S och konfigurera e-post till användare när de roteras. Logrotatkonfigurationen Logrotatprogrammet är konfigurerat genom att ange alternativ i filen. Det här är en textfil som kan innehålla någon av de konfigurationsalternativ som anges i tabellen nedan. I kan användas för att ställa in konfigurationsparametrar för varje loggfil på systemet. Dessa alternativ kan också användas för att tillåta logrotat att läsa konfigurationsparametrar från andra loggfiler genom att använda inkluderingsparametern. Detta används för att komprimera den roterade loggfilen med gzip. Detta används när du inte vill komprimera roterade loggfiler. Detta används när processer fortfarande skriver information för att öppna loggfiler Detta alternativ kopierar den aktiva loggfilen till en säkerhetskopiering och avkortar den aktiva loggfilen. Det kopierar loggfilerna Att säkerhetskopiera, men den öppna loggfilen är inte truncated. create mode owner group. This roterar loggfilen och skapar en ny loggfil med angivna behörigheter, ägare och grupp Standard är att använda samma m Ode, ägare och grupp som den ursprungliga filen. Detta förhindrar att en ny loggfil skapas. När den används med komprimeringsalternativet komprimeras den roterade loggfilen inte till nästa gång den cyklas. Detta överklagar fördröjningskomprimera Loggfilen är Komprimeras när den cyklas. Om den blir 2 GB, kraschar tomcat och misslyckas med att starta utan något felmeddelande. För att undvika detta scenario borde du rotera ofta. Den här artikeln beskriver hur du ställer in automatisk rotation av en Linux Unix-dator. Hur automatiskt roteras dagligen Eller när det blir större än 5M.2 Kopiera följande innehåll till ovanstående fil. Om ovanstående konfiguration. Se till att banan ovan är justerad för att peka på din tomcat s. daily - roterar det dagliga. Rotat håller högst 7 loggar Filspress komprimerar de roterade filerna. size roterar om storleken är större än 5M. copytruncate truncates den ursprungliga loggfilen på plats efter att ha skapat en kopia istället för att flytta den gamla loggfilen och eventuellt skapa en ny, den kan användas När något program inte kan höras för att stänga loggfilen och sålunda kan fortsätta skriva bifogar den föregående loggfilen för alltid Observera att det finns en mycket liten tidsskiva mellan att kopiera filen och trunka den, så att vissa loggdata kan gå vilse om det här alternativet Används, skapar alternativet ingen effekt, eftersom den gamla loggfilen förblir på plats. Du behöver inte göra någonting annat. Hur fungerar det. Varje natt körs cron-demonen jobb som anges i katalogen. Detta utlöser filen som Levereras vanligen med Linux-installationer Det kör kommandot usr sbin logrotate. The innehåller alla skript i katalogen etc logrotate d. Detta utlöser den etc logrotate d tomcat-filen som du skrev i föregående steg. Run logrotate manuellt. Run följande kommando till Kör det manuella cron-jobbet. Är det helt säkert. Se beskrivningen av copytruncate-metoden ovan. Det finns en liten chans att en liten mängd data om loggförlust mellan kopiera och trunkera steg, vanligtvis är det acceptabelt men ibland Det är inte. Mer logrotatalternativ. För att se alla logrotatalternativ på ditt system, se manualen. Skickad av Steve den tis 29 mar 2005 kl 06 11.Många av de tjänster som installeras på Linux-maskiner kommer att producera loggar som växer och växer och Växa Om du inte är markerad kan du enkelt fylla en disk med en stor samling loggfiler om du inte är försiktig. Den vanligaste metoden att hålla loggfilstillväxten i kontroll är att använda logrotat och många Debianpaket är inställda för att fungera som standard. Mest uppenbara paketet som använder det är Apache, webbservern, som som standard behåller sina loggar i katalogen var logg apache eller var logg apache2.If du granskar den här katalogen ser du att det finns en massa loggar som arkiveras. Nuvarande loggar hålls råa som i går s loggar och tidigare loggar komprimeras med gzip och hålls bara i fem veckor Jag vet det s fem veckor och inte fem dagar eftersom jag har tittat på konfigurationen - Det är inte klart från den här utmatningen. th E-processen som ansvarar för att komprimera och rotera dessa loggar kallas logrotat och det körs en gång om dagen på Debian-installationer. Som vi såg när vi tittade på schemaläggningskommandon med cron finns en katalog som innehåller skript som exekveras en gång Per dag Här hittar du logrotate driver script. Varje dag körs det här skriptet och undersöker två saker. Konfigurationsfilen. Konfigurationskatalogen etc logrotate d. Den senare är där de flesta av våra paket är konfigurerade. Den här katalogen innehåller konfigurationsfiler vilka andra paket Har installerat Till exempel om du installerar apache kommer filen etc logrotate d apache installeras. Många servrar som exim mailserveren installerar sin egen konfigurationsfil och du kan lägga till din egen. En typisk logrotatkonfigurationsfil ser ut så här. Du kan Se flera viktiga saker här Det mest uppenbara är listan över filer som matchas av denna konfigurationsfil. Därefter har vi en samling Konfiguration av konfigurationsvillkor, en annorlunda på varje rad I exemplet ovan har vi. Filerna ska roteras varje vecka Motsatt dagligen. Vi borde inte behålla mer än nn filspress äldre filer med gzip Motsatt nocompress. Don t komprimera yesterdays-filer motsatt komprimera. Don t göra någon rotation om loggfilen är tom Tvärtom ifempty. create xx user group. Om vi måste skapa den nya filen ge den det givna läget, ägaren och gruppen. Run ett givet prerotat eller postrotate-skript för varje logfile individuellt Motsatt Nosharedscripts. postrotate endscript. Anything between these exekveras efter rotationsprocessen motsatt prerotate. Hopefully det borde ha givit mening. Uppkomsten av detta skript är att vilken fil som matchar roteras varje vecka komprimeras, om den är tom. Den nya Filen skapas med filläget 640 och efter att rotationen är klar startas servern om igen. Om vi vill installera en lokal tjänst som skapar en loggfil kan vi få det att roteras mycket enkelt, Bara genom att lägga till en ny logrotatkonfigurationsfil. Assuming vi har en ny service fred som producerar sin produktion i vi kan orsaka att detta roteras varje dag med ett skript som detta. Håll dig inte mer än 7 dagar värda loggar på en gång. Klaga inte om det finns en loggfil missingpress de äldre filerna, men inte yesterdays. Create de nya loggarna som ägda av användaren och gruppen fred. Starta om tjänsten efter att ha roterat loggarna. Alla de befintliga filerna i logrotatkatalogen kan granskas För fler exempel - och manpageen dokumenterar alla alternativ du kan använda på ett tydligt sätt. Rea p0f-filer don t rotera. Postad av Anonym på ons 10 feb 2010 på 00 42. Jag tror att logrotate inte fungerar bra om inte filer öppnas I append-läge rhel-as4 I mitt fall, när det öppnades trunc, skulle tjänsteskrivningen till loggen hålla en filpekare och börja skriva med samma förskjutning som före rotation och den föregående texten skulle ersättas av skräp. Stängning och återupptagning, omstartTjänsten eller öppnar filen med append eller med alla verkar fungera. I mitt fall kunde jag inte starta om uppgiften eftersom det var en chef för en bit av hdwr. Append fungerade för mig. Rea p0f-filer don t rotera RESOLVED. Posted av Anonym på tis 4 okt 2011 kl 20 28.Hey, jag har haft samma problem Efter några googling och försökte jag hitta svaret. Du behöver enkelt lägga till copytruncate till inställningarna, det är allt. Background Problemet är att efter logrotate roterade Loggfilen är pekaren fortfarande på filen - men nu heter den som och apache försöker logga in i den filen - inte i den nyskapade webben som hjälpte mig att se upp för punkt 3.Re skapa loggfilarkiv med logrotat. Posted by gmicah on Mon 22 Aug 2005 at 12 28.Jag ställer in logrotation på vissa syslog-meddelanden som jag tar emot från olika rutor. Det skulle vara det enklaste sättet att rotera loggar rekursivt, alla kataloger i en katalog. Skapa Skapa loggfil Arkiv med logrotate. Posted av suspenderad användare gg234 På måndag 17 okt 2005 kl. 11. 26. Jag vill konfigurera min logrotatkonfigurationsfil som följer. Vi behöver behålla alla klienter månadsloggen till var logg apache2 loggmapp Under den här mappen har vi olika klienter katalog bör innehålla loggar som är och filer för Varje månads slutlogrotat ska köras och det ska hålla loggfilerna i monthnameandyear-mappen med filen. Hur man konfigurerar denna in. logfiles plats var logg apache2 loggar under den här mappen varje klient har sin mapp för loggar i sidan att apache-loggfiler finns Jag e. Varje månad logrotate ska springa och det borde skapa en mapp med monthnameandyear under denna monthname folder som perticular månad loggar fil shouls vara there. Re Skapa loggile arkiv med logrotate. Posted av Anonym på fre 8 sep 2006 på 04 10.I m Letar efter ett sätt eller sätt - Syrka, min engelska är inte så bra - att skicka den roterade loggen som en bilaga, inte i meddelandets kropp. Faktum är att jag försöker rotera inte en logg, men en Openoffice Filen för backup orsaker kan detta vara en ojämn aktivitet, men jag gillar att göra det. Tyvärr, logrotate s mail alternativ skickar filen i vanlig text på meddelandets kropp. Jag skulle vilja skicka den som en bifogad fil. Tack för Din help. Re Skapa loggile arkiv med logrotate. Posted av Anonym på Fre 10 Nov 2006 på 02 48.Re Skapa loggile arkiv med logrotate. Posted av butch på Sun 31 Dec 2006 på 18 44. Jag hoppas att någon kan hjälpa mig med följande . Jag använder virtuella apache2-värdar med egna loggfiler. Jag har skapat separata logrotatfiler för varje värd i etc logrotate d. Vad jag upplever är att mina loggfiler roteras men Apache fortsätter att logga in i den gamla loggfilen som om apache Inte startas om men jag har. postrotate om - f då etc init d apache2 starta om dev null fi endscript. Does någon har en aning om hur man får Apache loggar in i den nya filen. Re skapa loggile arkiv med logrotate. Posted av ComradeP på Sun 8 apr 2007 kl. 10 03 Jag har det samma problemet, och jag måste exakt samma problem och måste manuellt starta om apache igen efter att logrotate har gjort för att få det att logga till rätt fil. Jag kunde ha fel, men jag tror att det bara har hänt sedan jag introducerade En potentiellt ganska dyr förvrängningsuppgift. Re skapar loggfilarkiv med logrotat. Postad av butch on Sun 8 apr 2007 på 10 16.Nä jag löste inte problemet jag har ingen aning om var du ska börja. Jag använder awstats också, så Detta kan vara orsaken till det. Re skapa loggile arkiv med logrotate. Posted av ComradeP den 12 april 2007 på 16 58. Jag märkte något som definitivt var fel med min konfiguration, och det är tänkbart att skylla på det problem vi ser När jag lagt till awstatsprerotate-sektionen glömde jag att stänga av det med slutskriptet mönstret är prerotat endscript postrotate endscript. Thus, efter noggrann inspektion av posten skickade cron mig, jag märkte att det var klagomål om postrotatkommando som inte hittades - eftersom det Var n O slutskript efter prerotatet fortsatte den att exekvera varje rad som ett förhandlat kommando tills postrotatens slutskript, vilket som det hände var den bit som startar apache. Nu om denna omstart händer före logrotationen är det inte förvånande att Apache Fortsätter att använda den gamla filen. Jag är inte säker på att det här kommer att lösa problemet jag gör varje vecka och är lite ovillig att utlösa en för hand, men jag m hoppfull. Skapa skapade loggfilarkiv med logrotat. Upplagt av mcs1 den mån 21 april 2008 Vid 05 03. Tyvärr har jag ett stort problem Logrotate roterar inte bara syslogfilerna, jag har en uppdaterad debian stable. If jag kör logrotate - dvf etc logrotate d syslog-ng får jag. rotationsmönster tvungen n bspfrom kommandorad 4 Rotationer tomma loggfiler roteras inte, ol d loggar tas bort med tanke på att loggfilen inte behöver rotera. Roterande mönster var logg syslog tvingas nbs pfrom kommandorad 7 rotationer tomma loggfiler roteras, gamla lo gs tas bort med tanke på log var log syslog Loggen behöver roterande roterande logg logg syslog, log-rotateCount nbspis 7 byta namn på var log syslog 8 rotatecount 7, logstart 1, 7, byta namn på var log syslog 7 rotatecount 7, logstart 1, i 6, byta namn på var log syslog 6 Rotercount 7, logstart 1, i 5, omdirigera till var log syslog 5 rotatecount 7, logstart 1, i 4, byta namn på var log syslog 4 rotatecount 7, logstart 1, i 3, byta namn på var log syslog 3 rotatecount 7, logstart 1 , Jag 2, byta namn till var logg syslog 2 rotatecount 7, logstart 1, 1 1, byta namn till var log syslog 1 rotatecount 7, logstart 1, i 0, ändra namn var logg syslog till var log syslog 1 löpande postrotate script kör script med arg Var logga syslog etc init d syslog-ng re ladda dev null fel kan inte öppna var log syslog 1 för kompression. Jag har tagit bort de andra delarna av debug-utgången, det är bara samma Skriptet etc logrotate d syslog-ng. Var loggmeddelanden rotera 4 veckovis saknas icke-frivillig komprimering. Rotera 4 veckovis saknas icke-frivillig komprimering. Rotera 4 missingok notifempty veckovis komprimera. Var logga syslog rotera 7 dagligen komprimera postrotate etc start d syslog-ng re ladda dev null endscript. Again har jag tagit bort mycket av config. It byter bara inte den ursprungliga filen. Vilken hjälp är mycket uppskattad jag kämpar detta för en tid . Tack så mycket. Re Skapa logfile arkiv med logrotate. Posted av mcs1 på Måndag 21 Apr 2008 på 06 26.Sorry Jag måste få mig en stor, stor dum hat. Problemet ligger i there. logrotate - dvf etc logrotate d syslog - ng.-d debug betyder inga förändringar görs Jag väntar fortfarande på att se om det roterar med cron Det ursprungliga problemet var med sysklogd, det ville inte logrotera med cron Ändrad till syslog-ng, som har logrotat-inställningen som roterar Var logg sslogog etc ingår i skripten På en annan etch maskin fungerar det perfekt med sysklogd även om inga ytterligare skript Så fortfarande inte längst ner på detta men åtminstone det roterar nu Tack så mycket för en bra resurs Mcs1.Re Creating Loggile arkiv med logrotate. Posted by Colinc på Måndag 25 Aug 2008 kl 03 18. Jag skulle vilja rotera Apache-loggfilerna från början med följande stadaccesslog 1, eftersom det är den främsta skyldige som fyller i var-diskutrymmet, skulle jag vilja rotera loggfilen en gång en Dag och komprimera gzip filen Am tentativ som var tvungen att använda det graciösa alternativet för att starta om apache för att inte störa webbklientåtkomst. Var vänlig informera om detta kan göras med hjälp av det graciösa alternativet, så att ingen har några uppenbara outages. Skapa Skapa loggfil arkiv med logrotat. Upplagt av colinc den mån 25 aug 2008 kl 03 28.Hur är min fil för närvarande i ec logrotate d. Missingok notifempty sharedscripts postrotate bin kill - HUP katt 2 dev null 2 dev null true endscript. which verkar inte göra någonting för närvarande, men jag kan inte se några seetings för veckovis rotation, men jag kan se ett dödskommando på pid som Gör mig orolig Jag vann t att utföra en graciös omstart av apache provess. Re skapa loggile arkiv med logrotate. Posted av colinc på tis 26 aug 2008 på 00 47.ok jag svarar på min egen fråga här, antar jag bara ersätta Bin kasta - HUP katt 2 dev null 2 dev null sant med usr sbin apachectl graciös och det är jobbet jag ska testa med dina förslag ovan. Skapa Skapa loggile arkiv med logrotate. Posted av Anonym på Tis 23 Sep 2008 kl 16 08. Mycket hjälpsam, tack. Men jag tror att beskrivningen av sharedscripts-alternativet är bakåt. Sharedscripts Kör ett givet prerotat eller postrotate-skript för varje logfil individuellt Motsatt nosharedscripts. It är nosharedscripts som kör skript för varje loggfil individuellt körs skript scripts en gång, oavsett hur många loggar roteras. Re skapar loggfilarkiv med logrotate. Posted by Anonymous On Thu Mar 1, 2012 på 10 33. Jag kan inte logrotera mer än once. below är mitt innehåll av filen daily missingok rotera 10 storlek 5k skapa 0777 chakma chakma. Rotating MySQL slow logs säkert. Detta blogginlägg är del två av två Som den första som publicerades onsdagen är det här ett korsposter från Groupons tekniska blogg Tack igen till Kyle Oppenheim hos Groupon Och en påminnelse om att jag kommer att vara på Percona Live MySQL Conference och Expo nästa vecka i Santa Clara, Kalifornien så leta efter Mig där Du kan checka ut de sessioner som jag kommer att leda här. I mitt senaste inlägg beskrev jag en lösning för att hålla cachen i en MySQL-standby-server het med hjälp av MySQL-långsamma loggar med longquery Tid inställd på 0 Här är några lektioner vi lärde oss när vi loggade en stor mängd frågor till den långsamma loggen. Använd inte copytruncate. Logrotate erbjuder två tekniker för loggrotation. Din loggrotationsschema erbjuder sannolikt liknande alternativ med ett annat namn. copytruncate Exemplar Filen till ett nytt namn och sedan stympar den ursprungliga filen. no copytruncate Använder omdirigeringssystemsamtalet för att flytta filen till ett nytt namn och förväntar sig sedan att demonen ska signaleras för att öppna sin loggfil. MySQL har en mutex för långsam Loggar skriver Truncation kan blockera MySQL eftersom operativsystemet serialiserar åtkomst till inoden under trunkeringsoperationen Detta problem är särskilt tydligt när du använder ext3-filsystemet i stället för xfs. Use FLUSH LOGS istället för att skicka SIGHUP. When copytruncate är inaktiverat måste MySQL få veta För att öppna den långsamma loggfilen Det finns två alternativ för signalering. Sänd en HUP-signal till mysqld-processen. Använd mysql-konsolen eller mysqladmin-verktyget till FLUSH LOGS. Dessa alternativ ska vara likvärdiga, men MySQL Bug 65481 förklarar att HUP-signalen också spolar tabeller utöver loggar. Spolningstabeller kan påverka pågående sökningar. Slå MySQL-slow loggar under rotation. Spolningsloggar tar tid Samtidigt utförs fortfarande frågor. För att förhindra att MySQL fyller långsam loggbuffert Inaktivera MySQL-långsamma loggar temporärt under logrotation. Gör allt tillsammans. Här är en logrotatkonfigurationsfil för en långsam logg som illustrerar dessa bästa metoder. Peter gick med i det europeiska konsultgruppen i maj 2012 Innan han kom till Percona bland många andra saker Arbetade hos Sun Microsystems, specialiserat där i prestationsstämning och var en DBA på Ungerns största sociala nätverk. Han lärde också många Oracle University MySQL-kurser. Han har använt och arbetat med öppen källkod från början av 2000-talet. Peter s första och främst professionella intresset är Prestanda tuning Han bor för närvarande i Budapest, Ungern med sin fru och son.20 Kommentarer. En viktig sak att kontrollera är om du Du använder persistenta anslutningar. Den globala variabelen longquerytime kontrolleras när anslutningen är skapad, så om du använder en anslutningspool eller ihållande anslutningar kommer det inte att vara användbart eftersom det inte påverkar anslutningarna som redan öppnades. Det finns En Percona Server-funktion för att lösa detta problem. Du kan ställa in slowqueryloguseglobalcontrol i 5 5 eller usegloballogslowcontrol i 5 1 in 1 och servern kommer att använda den globala variabelen longquerytime istället den lokala one. PS 5 1 PS 5 5.On MySQL 5 5 I Skulle tro att det är att föredra att använda FLUSH 50503 SLOW LOGS, i stället för en allmän FLUSH LOGS som kommer att beröra en hel del andra sannolikt dyrare loggfiler också. Peter Boros säger. Martin, du har rätt på dessa. Du kan också använda SET GLOBAL slowquerylog på för att slå långsam logg på och av, som Bill gör i sitt verktyg här. Tack för din goda idé, jag har en säkerhetsanmälan med hjälp mysql - e, som behöver användarnamn och lösenord, eftersom procedurlådan måste ställas in. För att förebygga T MySQL från att fylla den långsamma loggbufferten, avaktiverar vi de långsamma MySQL-loggarna tillfälligt under logroteringen. Vet inte att det finns i den förhandlade sektionen jag inte ser en i stanzaen som tillhandahålls. Astrostl, de långsamma loggarna är inaktiverade i postrotate stanza Operationsordningen är.1 logrotat byter namn på loggfilen MySQL fortsätter att skriva till den nya filen eftersom den ännu inte har öppnat filen 2 logrotat kör postrotate stanza 2a Långsam loggning är pausad Set global longquerytime 2000 2b Det finns en liten väntan på buffrade loggar som ska spolas Välj sömn 2 2c Filhandtag återupptas FLUSH LOGS 2d Långsam loggning återupptogs set global longquerytime lqtsave. Roger att det var under logrotation som kastade mig Eftersom det bara finns förut Och post metoder som jag skulle överväga att antyda startade i förväg och slutade i post. Jag stötte på ett problem på en server som har ett root-lösenord Logrotate läser tydligen inte i hemmappen Således kan den inte logga in på MySQL-servern och Utföra postrotate uttalandet Resultatet är att filen aldrig släpps. Jag arbetade runt det genom att skapa en användare med SUPER och RELOAD privilegier Eftersom lösenordet måste skickas på kommandot Linje, är det lämpligt att göra logrotatkonfigurationen exklusivt läsbar för root. Fabian Detta kan också åtgärdas genom att lagra credentials i 600 behörigheter, och sedan hänvisa till filen i mysql kommandot usr local bin mysql - e. Log rotation i RHEL Centos Oracle linux. Default konfigurationsfilen för logrotate för Red Hat 5 x är Som följande. Som du kan se är loggarna roterade varje vecka och hålls fyra veckor utan komprimering Om ytterligare paket är installerade från RPM kan det släppa in för logroteration i mm logrotate d Men få paket gör det så är det upp till sysadmin att Implementera omlokalisering på rätt sätt Som du kan se är standardinställningarna ganska otillfredsställande också. Den första tänk på att förstå dessa paket installerar logrotate inkluderar i etc logrotate d och vilka don t Efter en typisk installation av RHEL innehåller katalogen logrotate d ett dussin skript för redan installerade Paket till exempel. Det viktigaste av dem är syslog Det är ganska litet, mindre de 10 linjerna. Om du ändrar rsyslog-inställningen till exempel genom att skapa en separat loggfil för kritiker Alla meddelanden behöver du bara lägga till i det här skriptet. Option sharedscripts blockerar upprepad invokation av daemonen för varje logg som anges Här är hur den här semantiska semestern definieras på mansidan. Normalt körs prerotat och postrotate skript för varje logg som är Roteras och den absoluta vägen till loggfilen överförs som första argumentet till manuset Det betyder att ett enda skript kan köras flera gånger för loggfilposter som matchar flera filer, t. ex. varlogsnyhetsexemplet Om sharedscripts är specificerade är skripten Kör endast en gång, oavsett hur många loggar matchar det jokerte mönstret och hela mönstret överförs till dem. Om ingen av loggarna i mönstret behöver rotera, skriptet inte kommer att köras alls. Om skriptet avslutas med ett fel Återstående åtgärder kommer inte att utföras för några loggar Detta alternativ överstyrer alternativet nosharedscripts och innebär att skapa alternativ. Rotationspedia loggar utförs med hjälp av följande inställningar. Default cron-script för ånger Av logrotat är. Det betyder att logroteringen är planerad till midnatt varje dag. Vanligtvis är det OK, men för central syslog-server kanske du behöver mer frekvent anrop. I standardkonfiguration ett förutbestämt antal viktiga loggfiler som var loggmeddelanden Hålls på disken under en mycket begränsad tid, och äldre loggar raderas automatiskt. Som standard sparas loggar i bara 4 veckor, vilket är oacceptabelt för produktionsservrar och behöver ändras under den första konfigurationen av servern. Som standard loggar loggar Hålls i bara 4 veckor, vilket är oacceptabelt för produktionsservrar och behöver ändras under den första konfigurationen av servern. För att ändra tiden som dina loggar hålls för, redigera och ändra rotationsparametern. Du kan också åsidosätta detta för specifika loggar Genom att redigera filerna i etc logg logrotate d katalog För mer information se logrotate man sidan. Gamla loggfiler komprimeras vanligtvis med gzip eller bzip den senare ger bättre komprimering av text Filer för att spara utrymme De kan också flyttas till en ny katalog se alternativ komprimera, fördröj komprimera nedan. Anta att vi har en ny service foobar som är konfigurerad att skriva loggar till katalogen var loggar foobar För att tillgodose rotationsbehov för den här demonen behöver vi För att lägga till logrotatutlåtande i beskrivande rotationsparametrar Till exempel. Månatlig missingok rotera 6 komprimera delaycompress skapa 640 rot rotpost root localhost sharedscripts postrotate etc init d foobar starta om endscript. Of kursen kan det göras enklare, men låt oss diskutera detta mer komplexa exempel. Här använder vi varje månad för att se till att stockarna roteras Varje månad och rotera 6 för att se till att inte mer än sju tidigare loggar hålls. Nu exotisk funktionalitet när en logg löper ut skickas den till root localhost innan den raderas enligt post som kan göras för dagliga loggar. Annars kan e-post också vara Bigpress krymper roterade stockar med undantag av tidigare generation på grund av fördröjningskompress Användning av komprimera med delaycompress är en rekommenderad inställning. Protokoll klagar inte om loggfiler saknas tack vare missingok Efter att loggarna har roterats skapas en ny genom att skapa som ägd av Användar - och grupprotten och tjänsten startas om. Detta används för att komprimera den roterade loggfilen med gzip. 07 feb 2012 Skapa loggfilarkiv med logrotate. Många av de tjänster som installeras på Linux-maskiner kommer att producera loggar som växer och växer och växer Om du inte är markerad kan du enkelt fylla en disk med en stor samling loggfiler om du inte är försiktig. Den vanligaste metoden att hålla loggfilstillväxten i kontroll är att använda logrotat och många Debianpaket är inställda för att fungera med det som standard. Det mest uppenbara paketet som använder det är Apache, webbserveren, som som standard behåller sina loggar i katalogen var Logg apache eller var logg apache2.If du granskar den här katalogen ser du att det finns en massa loggfiler som arkiveras. Här är de aktuella loggfilerna hållna raka som gårdagens loggar och tidigare loggar komprimeras med gzip och hålls bara för fem Veckor jag vet det är fem veckor och inte fem dagar eftersom jag har tittat på konfigurationen - Det är inte klart från den här utmatningen. Processen som ansvarar för att komprimera och rotera dessa loggar kallas l Ogrotate och det körs en gång per dag på Debian-installationer. Som vi såg när vi tittade på schemaläggningskommandon med cron finns det en katalog som innehåller skript som körs en gång per dag. Här hittar du logrotate-drivrutinen. Varje dag det här Script körs och undersöker två saker. Konfigurationsfilen. Konfigurationsmappen etc logrotate d. Den senare är där de flesta av våra paket är konfigurerade. Den här katalogen innehåller konfigurationsfiler som andra paket har installerat. Till exempel om du installerar apache filen etc logrotate d apache Kommer att installeras. Många servrar som exim mailserver kommer att installera sin egen konfigurationsfil och du kan lägga till din egen. En typisk logrotatkonfigurationsfil ser ut så här. Du kan se flera viktiga saker här Det mest uppenbara är listan över filer som Kommer att matchas av denna konfigurationsfil. Därefter har vi en samling konfigurationsvillkor, en annan på varje rad I exemplet ovan vi Har. Filerna ska roteras varje vecka Motsatt dagligen. Vi borde inte behålla mer än nn filspress äldre filer med gzip Motsatt nocompress. Don t komprimera filer i gårdagens motsats. Don t gör någon rotation om loggfilen är tom Motsatt ifempty. create xx Användargrupp. Om vi måste skapa den nya filen, ge den det givna läget, ägaren och gruppen. Run ett givet prerotat eller postrotate-skript för varje loggfil för sig självt Motsatt nosharedscripts. postrotate endscript. Anything between these exekveras efter rotationsprocessen Motsatt prerotate . Helt klart borde det ha varit förnuftigt. Uppkomsten av det här skriptet är att varje fil som matchar roteras varje vecka komprimeras, om den är tom. Den nya filen skapas med filläget 640, och efter att rotationen är klar Servern startas om. Om vi vill installera en lokal tjänst som skapar en loggfil kan vi få det att roteras mycket enkelt, bara genom att lägga till en ny logrotatkonfigurationsfil. Vi har en ny tjänst f Rött som producerar sin produktion i vi kan orsaka att det här roteras varje dag med ett skript som detta. Håll dig inte mer än 7 dagar värda loggar vid någon tidpunkt. Inte klaga om det finns en loggfil missingpress de äldre filerna, men inte på gårdagarna . Skapa de nya loggarna som ägda av användaren och gruppen fred. Starta om tjänsten efter att ha roterat loggarna. Alla de befintliga filerna i logrotatkatalogen kan granskas för fler exempel - och manpageen dokumenterar alla alternativ du kan använda i Ett tydligt sätt. Mars 22, 2008. Vid en standardinstallation av CentOS eller Red Hat Enterprise Linux, roterar skriptrotationsskriptet automatiskt Apache-loggfilen varje dag och sedan uppdaterar tjänsten. Detta inlägg tittar på hur man förhindrar att denna åtgärd uppträder Automatiskt eller för att ändra beteendet för att rotera loggfilerna om namngivningskonventionen för loggfiler skiljer sig från standardvärdet. Cron-demonen på en CentOS - eller Red Hat Enterprise Linux-server kör som standard skript i directo Ry dagligen Detta inkluderar att köra logrotate scriptet som kör usr sbin logrotate som överför det konfigurationsfilen Standardversionen av den här filen är som följer. Dessa standardvariabler är ganska rakt framåt och ger dig kontroll över hur ofta loggfilerna roteras , Hur många mängder tidigare loggfiler som ska behållas innan de raderas, oavsett om de ska komprimeras osv. Det berättar också att logrotaten behandlar alla filer i katalogen etc logrotate d. Filen som styr loggrotation av Apache på CentOS och Red Hat Enterprise Linux heter och standardinnehållet i den här filen är följande. Vad den här filen säger är att rotera alla filer som matchar mönstret. Standardfilerna för åtkomst och fel i Apache på CentOS och RHEL heter Accesslog och errorlog so they match this pattern. If you have changed the default names of the log files and they don t match this pattern, then you can have logrotate rotate your log files by making sure the pattern i s in this file in place of the line For example, if your log files were named and then would match them. If you do not wish the logrotate script to rotate your Apache log files at all, then you can simply delete this file like so, logged in either as root or using sudo. The changes will take effect the next time the logrotate script is run. Manage Linux log files with Logrotate By Jim McIntyre. December 27, 2000 TechRepublic. Log files are the most valuable tools available for Linux system security The logrotate program is used to provide the administrator with an up-to-date record of events taking place on the system The logrotate utility may also be used to back up log files, so copies may be used to establish patterns for system use In this Daily Drill Down, I ll cover the following topics. The logrotate configuration. Setting defaults for logrotate. Using the include option to read other configuration files. Setting rotation parameters for specific files. Using the include option to overrid e defaults. The logrotate program The logrotate program is a log file manager It is used to regularly cycle or rotate log files by removing the oldest ones from your system and creating new log files It may be used to rotate based on the age of the file or the file s size, and usually runs automatically through the cron utility The logrotate program may also be used to compress log files and to configure e-mail to users when they are rotated. The logrotate configuration The logrotate program is configured by entering options in the file This is a text file, which may contain any of the configuration options listed in the table below The options entered in may be used to set configuration parameters for any log file on the system These options may also be used to allow logrotate to read configuration parameters from other log files, by using the include parameter. Softpanorama Recommended. logrotate is designed to ease administration of systems that generate large numbers of log files It al lows automatic rotation, compression, removal, and mailing of log files Each log file may be handled daily, weekly, monthly, or when it grows too large. Normally, logrotate is run as a daily cron job It will not modify a log multiple times in one day unless the criterium for that log is based on the log s size and logrotate is being run multiple times each day, or unless the - f or - force option is used. Any number of config files may be given on the command line Later config files may override the options given in earlier files, so the order in which the logrotate config files are listed is important Normally, a single config file which includes any other config files which are needed should be used See below for more information on how to use the include directive to accomplish this If a directory is given on the command line, every file in that directory is used as a config file. If no command line arguments are given, logrotate will print version and copyright information, along with a short usage summary If any errors occur while rotating logs, logrotate will exit with non-zero status. Turns on debug mode and implies - v In debug mode, no changes will be made to the logs or to the logrotate state file.-f --force Tells logrotate to force the rotation, even if it doesn t think this is necessary Sometimes this is useful after adding new entries to a logrotate config file, or if old log files have been removed by hand, as the new files will be created, and logging will continue correctly - m --mail command Tells logrotate which command to use when mailing logs This command should accept two arguments 1 the subject of the message, and 2 the recipient The command must then read a message on standard input and mail it to the recipient The default mail command is bin mail - s - s, --state statefile Tells logrotate to use an alternate state file This is useful if logrotate is being run as a different user for various sets of log files The default state file is --usage Prints a s hort usage message - v --verbose Turns on verbose mode. Configuration File. logrotate reads everything about the log files it should be handling from the series of configuration files specified on the command line Each configuration file can set global options local definitions override global ones, and later definitions override earlier ones and specify logfiles to rotate A simple configuration file looks like this. The first few lines set global options in the example, logs are compressed after they are rotated Note that comments may appear anywhere in the config file as long as the first non-whitespace character on the line is a. The next section of the config files defined how to handle the log file var log messages The log will go through five weekly rotations before being removed After the log file has been rotated but before the old version of the log has been compressed , the command sbin killall - HUP syslogd will be executed. The next section defines the parameters for both and They are rotated whenever it grows over 100k in size, and the old logs files are mailed uncompressed to after going through 5 rotations, rather than being removed The sharedscripts means that the postrotate script will only be run once after the old logs have been compressed , not once for each log which is rotated Note that the double quotes around the first filename at the beginning of this section allows logrotate to rotate logs with spaces in the name Normal shell quoting rules apply, with , , and characters supported. The last section defines the parameters for all of the files in var log news Each file is rotated on a monthly basis This is considered a single rotation directive and if errors occur for more than one file, the log files are not compressed. Please use wildcards with caution If you specify , logrotate will rotate all files, including previously rotated ones A way around this is to use the olddir directive or a more exact wildcard such as. Here is more information on the dir ectives which may be included in a logrotate configuration filepress Old versions of log files are compressed with gzip 1 by default See also nocompress compresscmd Specifies which command to use to compress log files The default is gzip See also compress uncompresscmd Specifies which command to use to uncompress log files The default is gunzip compressext Specifies which extension to use on compressed logfiles, if compression is enabled The default follows that of the configured compression command compressoptions Command line options may be passed to the compression program, if one is in use The default, for gzip 1 , is -9 maximum compression copy. Make a copy of the log file, but don t change the original at all This option can be used, for instance, to make a snapshot of the current log file, or when some other utility needs to truncate or parse the file When this option is used, the create option will have no effect, as the old log file stays in place. copytruncate Truncate the orig inal log file in place after creating a copy, instead of moving the old log file and optionally creating a new one It can be used when some program cannot be told to close its logfile and thus might continue writing appending to the previous log file forever Note that there is a very small time slice between copying the file and truncating it, so some logging data might be lost When this option is used, the create option will have no effect, as the old log file stays in place create mode owner group Immediately after rotation before the postrotate script is run the log file is created with the same name as the log file just rotated mode specifies the mode for the log file in octal the same as chmod 2 , owner specifies the user name who will own the log file, and group specifies the group the log file will belong to Any of the log file attributes may be omitted, in which case those attributes for the new file will use the same values as the original log file for the omitted attributes T his option can be disabled using the nocreate option daily. Log files are rotated every day. dateext Archive old versions of log files adding a daily extension like YYYYMMDD instead of simply adding a number The extension may be configured using the dateformat option dateformat formatstring Specify the extension for dateext using the notation similar to strftime 3 function Only Y m d and s specifiers are allowed The default value is - Y m d Note that also the character separating log name from the extension is part of the dateformat string The system clock must be set past Sep 9th 2001 for s to work correctly Note that the datestamps generated by this format must be lexically sortable i e first the year, then the month then the day e g 2001 12 01 is ok, but 01 12 2001 is not, since 01 11 2002 would sort lower while it is later This is because when using the rotate option, logrotate sorts all rotated filenames to find out which logfiles are older and should be removed delaycompress Postpo ne compression of the previous log file to the next rotation cycle This only has effect when used in combination with compress It can be used when some program cannot be told to close its logfile and thus might continue writing to the previous log file for some time extension ext Log files with ext extension can keep it after the rotation If compression is used, the compression extension normally appears after ext For example you have a logfile named and want to rotate it to instead of ifempty Rotate the log file even if it is empty, overriding the notifempty option ifempty is the default include fileordirectory Reads the file given as an argument as if it was included inline where the include directive appears If a directory is given, most of the files in that directory are read in alphabetic order before processing of the including file continues The only files which are ignored are files which are not regular files such as directories and named pipes and files whose names end with o ne of the taboo extensions, as specified by the tabooext directive The include directive may not appear inside a log file definition mail address When a log is rotated out-of-existence, it is mailed to address If no mail should be generated by a particular log, the nomail directive may be used mailfirst When using the mail command, mail the just-rotated file, instead of the about-to-expire file maillast When using the mail command, mail the about-to-expire file, instead of the just-rotated file this is the default maxage count Remove rotated logs older than count days The age is only checked if the logfile is to be rotated The files are mailed to the configured address if maillast and mail are configured minsize size Log files are rotated when they grow bigger than size bytes, but not before the additionally specified time interval daily weekly monthly or yearly The related size option is similar except that it is mutually exclusive with the time interval options, and it causes log fil es to be rotated without regard for the last rotation time When minsize is used, both the size and timestamp of a log file are considered missingok If the log file is missing, go on to the next one without issuing an error message See also nomissingok monthly Log files are rotated the first time logrotate is run in a month this is normally on the first day of the month nocompress Old versions of log files are not compressed See also compress nocopy. Do not copy the original log file and leave it in place this overrides the copy option. nocopytruncate Do not truncate the original log file in place after creating a copy this overrides the copytruncate option nocreate New log files are not created this overrides the create option nodelaycompress Do not postpone compression of the previous log file to the next rotation cycle this overrides the delaycompress option nodateext Do not archive old versions of log files with date extension this overrides the dateext option nomail. Don t mail old lo g files to any address. nomissingok If a log file does not exist, issue an error This is the default noolddir Logs are rotated in the same directory the log normally resides in this overrides the olddir option nosharedscripts Run prerotate and postrotate scripts for every log file which is rotated this is the default, and overrides the sharedscripts option The absolute path to the log file is passed as first argument to the script If the scripts exit with error, the remaining actions will not be executed for the affected log only noshred Do not use shred when deleting old log files See also shred notifempty Do not rotate the log if it is empty this overrides the ifempty option olddir directory Logs are moved into directory for rotation The directory must be on the same physical device as the log file being rotated, and is assumed to be relative to the directory holding the log file unless an absolute path name is specified When this option is used all old versions of the log end up in d irectory This option may be overridden by the noolddir option postrotate endscript The lines between postrotate and endscript both of which must appear on lines by themselves are executed using bin sh after the log file is rotated These directives may only appear inside a log file definition Normally, the absolute path to the log file is passed as first argument to the script If sharedscripts is specified, whole pattern is passed to the script See also prerotate See sharedscripts and nosharedscripts for error handling prerotate endscript The lines between prerotate and endscript both of which must appear on lines by themselves are executed using bin sh before the log file is rotated and only if the log will actually be rotated These directives may only appear inside a log file definition Normally, the absolute path to the log file is passed as first argument to the script If sharedscripts is specified, whole pattern is passed to the script See also postrotate See sharedscripts and nosh aredscripts for error handling firstaction endscript The lines between firstaction and endscript both of which must appear on lines by themselves are executed using bin sh once before all log files that match the wildcarded pattern are rotated, before prerotate script is run and only if at least one log will actually be rotated These directives may only appear inside a log file definition Whole pattern is passed to the script as first argument If the script exits with error, no further processing is done See also lastaction lastaction endscript The lines between lastaction and endscript both of which must appear on lines by themselves are executed using bin sh once after all log files that match the wildcarded pattern are rotated, after postrotate script is run and only if at least one log is rotated These directives may only appear inside a log file definition Whole pattern is passed to the script as first argument If the script exits with error, just an error message is shown as this is the last action See also firstaction rotate count Log files are rotated count times before being removed or mailed to the address specified in a mail directive If count is 0, old versions are removed rather than rotated size size Log files are rotated when they grow bigger than size bytes If size is followed by k the size is assumed to be in kilobytes If the M is used, the size is in megabytes, and if G is used, the size is in gigabytes So size 100 size 100k size 100M and size 100Gare all valid sharedscripts Normally, prerotate and postrotate scripts are run for each log which is rotated and the absolute path to the log file is passed as first argument to the script That means a single script may be run multiple times for log file entries which match multiple files such as the var log news example If sharedscripts is specified, the scripts are only run once, no matter how many logs match the wildcarded pattern, and whole pattern is passed to them However, if none of the logs in the pattern require rotating, the scripts will not be run at all If the scripts exit with error, the remaining actions will not be executed for any logs This option overrides the nosharedscripts option and implies create option shred. Delete log files using shred - u instead of unlink This should ensure that logs are not readable after their scheduled deletion this is off by default See also noshred. shredcycles count Asks GNU shred 1 to overwite log files count times before deletion Without this option, shred s default will be used start count This is the number to use as the base for rotation For example, if you specify 0, the logs will be created with a 0 extension as they are rotated from the original log files If you specify 9, log files will be created with a 9, skipping 0-8 Files will still be rotated the number of times specified with the count directive tabooext list The current taboo extension list is changed see the include directive for information on the taboo extensions If a pr ecedes the list of extensions, the current taboo extension list is augmented, otherwise it is replaced At startup, the taboo extension list contains rpmsave v swp rpmnew. cfsaved and weekly. Log files are rotated if the current weekday is less than the weekday of the last rotation or if more than a week has passed since the last rotation This is normally the same as rotating logs on the first day of the week, but it works better if logrotate is not run every night. Log files are rotated if the current year is not the same as the last rotation. Default state file. FAIR USE NOTICE This site contains copyrighted material the use of which has not always been specifically authorized by the copyright owner We are making such material available in our efforts to advance understanding of environmental, political, human rights, economic, democracy, scientific, and social justice issues, etc We believe this constitutes a fair use of any such copyrighted material as provided for in section 107 of the US Copyright Law In accordance with Title 17 U S C Section 107, the material on this site is distributed without profit exclusivly for research and educational purposes If you wish to use copyrighted material from this site for purposes of your own that go beyond fair use , you must obtain permission from the copyright owner. ABUSE IPs or network segments from which we detect a stream of probes might be blocked for no less then 90 days Multiple types of probes increase this period.
No comments:
Post a Comment