Snúa loggskrá VPN-varðar án þess að brjóta skrifarann
Ákveðið fyrst áfangastaðinn og látið snúninginn passa við hvernig skrifarinn opnar skrána: endurnefna fyrir stuttar athuganir, opna aftur eða copytruncate fyrir daemon.
VPN-heilsufarseining sem bætir við einni línu á mínútu skapar hljóðlega annað verkefni: að ákveða hvernig þessar línur yfirgefa diskinn. Að laga göngin gerir ekkert fyrir það verkefni, og að endurnefna skrána beinir ekki ferli sem enn heldur gömlu lýsingunni áfram. Svaraðu fyrst spurningunni um áfangastaðinn og láttu snúninginn passa við hvernig skrifarinn opnar hann.
Veldu áfangastaðinn fyrir snúningsstefnuna
systemd-eining sem sendir nú þegar úttak sitt í dagbókina heldur varðveislu á einum stað. journald framfylgir mörkum eins og SystemMaxUse og MaxRetentionSec , svo verðir sem skráir þar erfir mörk án aukavinnu. Að bæta annarri ótakmarkaðri skrá við hliðina á henni tvöfaldar viðhaldið án ábata.
Sérskrá á skilið sess sinn þegar eitthvað annað les hana: þáttari, úttektarflutningur eða síða sem væntir stöðugrar slóðar. Þegar sú ákvörðun er tekin þarf skráin eiganda, stillingu og snúningsstefnu sem skrifuð eru saman, því þrjú eru rétt aðeins sem heild. Slóð sem hver sem er getur búið til er líka slóð sem hver sem er getur skipt út, svo heimildir möppunnar eiga heima í sama minnisblaði. Skrifaðu allt það við hlið athugunarinnar og næsta breyting byrjar á sömu staðreyndum.
Skrifaðu blokkina þannig að hún passi við skrifarann
Byrjaðu á skrifara sem opnar slóðina við hvert kall, bætir við línu og hættir. Það mynstur lifir snúning án nokkurrar samvinnu ferlisins, því næsta keyrsla opnar þá skrá sem nú er á þeirri slóð. Blokkin hér fyrir neðan heldur viku af útgáfum og endurskapar skrána með þeim eiganda og stillingu sem skrifarinn þarf:
/var/log/vpn-watchdog.log {
daily
rotate 7
create 0600 root root
missingok
notifempty
}
logrotate-handbókin skilgreinir fjöldann sem fjölda varðveittra snúinna útgáfa, ekki sem tryggingu fyrir sjö dögum af sögu, og lykilorðið daily er metið þegar verkið keyrir í stað þess að gegna hlutverki eigin áætlunarkerfis. Í flestum dreifingum á systemd-tímamælir eða cron-færsla þegar þetta kall, svo athugaðu hvor er til áður en þú bætir við öðru. Að passa eignarhaldið skiptir meira máli en varðveislufjöldinn. Að afrita stillingu sem aðeins root hefur á skrá sem þjónustureikningur skrifar stöðvar skráninguna við næsta snúning, og bilunin birtist klukkustundum síðar sem úrelt tímastimpill frekar en sem villa. Staðfestu notanda skrifarans áður en þú afritar blokk annars staðar frá.
Skrifari sem opnar aldrei aftur þarf aðra lækningu
Langtímaferli sem heldur opinni lýsingu heldur áfram að skrifa í endurnefnda inode. Pláss frist ekki og sýnilega skráin hættir að stækka, sem lítur út eins og brotinn snúningur þar til þú athugar inode. Annaðhvort kenndu ferlinu að opna aftur eða láttu snúninginn afrita og stytta í stað endurnefningar.
Leiðin með enduropnun er hreinlegri þar sem hugbúnaðurinn styður hana: sendu skjalfesta merkið eða keyrðu skjalfestu skipunina og láttu ferlið opna nýju skrána sjálft. Valkosturinn er copytruncate , sem afritar innihaldið í snúna nafnið og styttir síðan upprunalegu skrána á staðnum, svo lýsingin helst gild en skrif sem lenda milli afritunar og styttingar tapast.
Fyrir einingar sem systemd ræsir, beindu StandardOutput að dagbókinni eða að skrá og láttu eininguna eiga lífsferilinn. Shell-lykkja sem bætir við í gegnum tee -a án stærðartakmarkana er fyrirkomulagið sem fyllir skiptingu meðan á truflun stendur, því misheppnuð athugun skráir oft margfalt meira en heilbrigð.
Prófaðu snúninginn án þess að bíða eftir tímamælinum
Kembiforritahamur greinir frá því sem myndi gerast og snertir ekkert, sem gerir hann að öruggu fyrstu keyrslunni eftir breytingu. Þvingaðu raunverulegan snúning þegar þú ert ánægður og staðfestu síðan að næsta logglína lendi í nýju skránni frekar en þeirri endurnefndu:
logrotate -d /etc/logrotate.d/vpn-watchdog logrotate -f /etc/logrotate.d/vpn-watchdog ls -l /var/log/vpn-watchdog.log* tail -n 3 /var/log/vpn-watchdog.log df -h /var/log
Lestu úttakið í þeirri röð. Kembiforritakeyrslan ætti að nefna skrána og aðgerðirnar sem hún hyggst gera; þvinguð keyrsla ætti að framleiða vænta snúna nafnið; tail ætti að sýna nýja færslu eftir að skrifarinn keyrir aftur. Vaxandi df gildi með minnkandi sýnilegri skrá þýðir lýsingarvandamálið sem lýst er hér að ofan.
Endurtaktu þvinguðu keyrsluna tvisvar til að sjá hvernig varðveislan hegðar sér þegar útgáfur eru þegar til. Að eyða elstu skránni er vænt niðurstaða, og eyðing sem vantar þýðir venjulega að fjöldinn eða algildisstafurinn í snúna nafninu passi ekki við það sem logrotate bjó til.
Haltu afturköllun og skriflegri skráningu
Geymdu fyrri blokkina áður en þú breytir og taktu fram hvaða áætlunarkerfi keyrir hana, því endurheimt sem setur skrána aftur en ekki tímamælinn endurtekur helming upprunalega vandans. Snúðu einu sinni í höndunum eftir endurheimtina og staðfestu síðan að reikningur skrifarans geti skrifað á loggsleðuna. Ef þjónustan keyrir undir systemd skaltu endurhlaða einingunni eftir hverja breytingu á endurbeiningu úttaksins, því keyrandi ferlið heldur áfram að skrifa í gamla skotmarkið. Lestu næstu logglínur sjálfur í stað þess að treysta því að einingin hafi komið hrein til baka.
Skráðu stillinguna, eigandann, varðveislufjöldann og áætlað diskpláss við hlið athugunarinnar sjálfrar. Þegar athugunin breytist síðar úr einnota skriftu í daemon verður snúningsstefnan að breytast með henni, og það minnisblað segir næsta manni hvaða forsenda brotnaði.
Að lokum skaltu halda loggákvörðuninni aðskildri frá endurheimtarákvörðuninni. Misheppnuð athugun ætti að fylgja eigin endurheimtarstefnu tengingarinnar, ekki reglu sem faldin er inni í logrotate, og ekkert loggfyrirkomulag ætti að vera ástæðan fyrir að endurræsa gangandi göng.