Jurnallarni aylantirish oldindan aytish mumkin bo'lgan tarzda buziladi: uchta komponentning har biri faylni o'ziniki deb o'ylaydi, natijada yangi fayl bo'sh turgan holda o'sa boradigan aylantirilgan jurnal paydo bo'ladi. Demon deskriptorni ushlab turadi, logrotate yo'l nomini o'zgartiradi, rsyslog esa butunlay boshqa joyga yozadi. Uyumga yana bir qoida qo'shishdan oldin bitta yozuvchi va bitta aylantiruvchini tanlang. Quyidagi tekshiruv ro'yxati aynan shu tartibda boradi, chunki har bir keyingi qadam unga bog'liq.

Faylni kim yozishini hal qiling

Ikkita loyiha qonuniy. Birinchisida VPN jarayoni o'zining log yoki log-append parametri orqali faylni o'zi yozadi. Ikkinchisida yozuvlarni tizim jurnaliga yuboradi va rsyslog yoki journald ularning qayerga tushishini hal qiladi.

Bular qatlam emas, alternativa. Ikkisini ham yoqqan xost bir-biriga mos kelmaydigan ikkita fayl bilan qoladi va siz o'qiyotgani ko'pincha eskisidir. Yo'lni ataylab tanlang, so'ngra boshqa yozuvchini olib tashlang.

Biror narsani o'zgartirishdan oldin xizmatning amaldagi konfiguratsiyasini o'qing, unit faylini bekor qilishi mumkin bo'lgan drop-in fayllar bilan birga. Tahrirlagan profilingizdagi ko'rsatma uning ishlayotgan jarayon yuklagan ko'rsatma ekaniga dalil emas. Unitni jarayon argumentlari bilan, keyin u haqiqatan ochgan fayllar bilan solishtiring.

Filtr tor bo'lishi uchun demonni nomlang

syslog yo'lida demonga alohida o'zlik bering va shu bo'yicha filtrlang. Ushbu VPN nusxasining dastur nomiga mos keladigan qoida uning yozuvlarini saqlash siyosati boshqa narsaga tegishli bo'lgan umumiy fayldan tashqarida tutadi.

Tor qoidalar keyingi savolni ham javob beriladigan qiladi: bu satrni qaysi xizmat yaratdi? VPN so'zi bor hamma narsaga mos keladigan filtr ikkinchi tunnel trafigini ham zavq bilan to'playdi va ikkalasini xiralashtiradi. Unit jurnalga beradigan aniq identifikatorga moslang.

Yozuvlar standart manzilga ham tushmasligi uchun qoidani amaldan keyin yoping. Ikki faylda takrorlangan satrlar jurnal xatosi kabi ko'rinadi, aslida esa yetishmayotgan to'xtashdir. Aynan o'sha bitta qoldirish saqlash siyosatining disk xarajatini ham ikki barobar oshiradi.

Deskriptorni yo'qotmasdan aylantiring

Demon faylni yozganda logrotate yo'l nomini o'zgartiradi, lekin jarayon o'zining ochiq deskriptorini saqlab qoladi. Yangi yozuvlar nomi o'zgartirilgan faylga oqib turaveradi, to biror narsa jarayonni asl yo'lni qayta ochishga majbur qilmaguncha; shuning uchun aylantirish ishlayotgandek ko'rinishi mumkin, yangi fayl esa bo'sh qoladi.

Yechim bu xizmatning hujjatlashtirilgan qayta yuklash yoki qayta ishga tushirish xatti-harakatini ishga soladigan postrotate amalidir. Jurnalga signal yuborish butunlay boshqa amal bo'lib, o'z faylini ushlab turgan demonga hech narsa qilmaydi.

Qayta ochish imkonsiz bo'lgan joyda copytruncate — zaxira: faylni nusxalang, so'ngra joyida kesib tashlang. Deskriptorni amalda saqlaydi, lekin nusxa va kesish orasida yozilgan hamma narsani yo'qotadi, demak bu yechim emas, almashinuv. Yuk ostida o'sha bo'shliq siz tutmoqchi bo'lgan nosozlikni yutib yuborishi mumkin.

Har bir fayl uchun ikkitadan birini tanlang va tanlovni yozib qo'ying, chunki ularni bir yo'lda aralashtirish keyin bog'lash juda qiyin bo'lgan bo'shliqlar hosil qiladi. Bitta katalogda ikkala naqshni topgan o'quvchi qaysi biri asosiy ekanini ayta olmaydi.

Saqlashni hodisa oynasidan belgilang

Saqlash, siqish va eng katta hajm siz haqiqatan qanchalik orqaga tekshirishingizdan kelib chiqishi kerak. Siqish va hajm chegarasi bilan yetti kunlik oyna ko'plab joylashtirishlar uchun oqilona boshlanish; qo'llanmadan ko'chirilgan raqam esa emas.

Siyosatni bitta joyda tuting. Agar logrotate faylni aylantirsa va rsyslog ham uni aylantirsa, ikkinchi aylantirish yutadi va birinchisining nomlash sxemasi tartibsizlik bo'lib qoladi. Egassini tanlang, boshqa aylantirishni o'chiring va bu qarorni siyosat yoniga yozib qo'ying.

rsyslog hujjatlari uning marshrutlash va amallar modelini qamrab oladi, OpenVPN xizmati hujjatlari esa demonning o'z jurnal parametrlari uchun asosli bo'lib qoladi. Ikkalasi ham sizning o'rningizga saqlash siyosatini hal qilmaydi.

Bitta aylantirish va bitta yangi hodisani sinab ko'ring

Bitta aylantirishni majburan bajaring, so'ngra bitta yangi hodisa yarating, masalan, muvaffaqiyatsiz autentifikatsiya. Yangi yozuv yangi faylda paydo bo'lganini va eski fayl o'sishdan to'xtaganini tasdiqlang.

Yangi faylning ruxsatlarini ham ko'ring, chunki uni boshqa egasi bilan qayta yaratadigan aylantirish keyingi yozishda yozuvchini buzadi va qulashga o'xshash bo'shliq hosil qiladi. Ketishdan oldin egasi va rejimni xizmat hisobi bilan solishtiring. So'ngra siqilgan arxiv o'qilishini tasdiqlang, chunki hech kim ocholmaydigan arxiv saqlash emas. Eski fayldagi eng yangi yozuvni tez o'qish siqishni ham, ruxsatlarni ham isbotlaydi.

Har bir qadamning egasini yozib tugating: qaysi komponent yozadi, qaysi biri aylantiradi va saqlash siyosati qayerda yashaydi. Aynan o'sha yozuv keyingi jurnal hodisasini qaysi qatlam satrni tushirib yubordi deb taxmin qilib o'tkaziladigan yarim kunning o'rniga besh daqiqalik tekshiruvga aylantiradi.

O'xshash maqolalar