لینکس لوگروٹیٹ کی مثالیں۔

Lynks Lwgrw Y Ky Mthaly



لاگ انفارمیشن کسی بھی آپریٹنگ سسٹم کا ایک بہت اہم حصہ ہے جو کسی بھی چل رہی ایپلیکیشن کے مسئلے کی تشخیص کرتی ہے اور لاگ انٹریز مسئلے کا حل تلاش کرنے میں مدد کرتی ہیں۔ لینکس آپریٹنگ سسٹم کی زیادہ تر ایپلی کیشنز لاگ جنریٹ کرتی ہیں اور سسٹم ایڈمنسٹریٹر کو لاگ انٹریز سے ایپلیکیشن کے بارے میں مطلوبہ معلومات حاصل ہوتی ہیں۔ تاہم، لاگ اندراجات بعض اوقات مسائل پیدا کرتے ہیں کیونکہ وقت کے ساتھ اندراجات کا سائز بڑا ہوتا جاتا ہے۔ لہذا، لاگ اندراجات کو منظم کرنے کی ضرورت ہے۔

لاگوٹیٹ لاگ انٹریز کو منظم کرنے کے لیے لینکس کا کمانڈ لائن ٹول ہے۔ یہ ٹول ایڈمنسٹریٹر کی طرف سے لاگ انٹریز پر مختلف قسم کے کام انجام دینے میں مدد کرتا ہے جیسے گھمائی گئی لاگ فائلوں کو محدود کرنا، گھمائی گئی لاگ فائلوں کو کمپریس کرنا، غیر ضروری لاگ فائلوں کو ڈیلیٹ کرنا، لاگ فائلوں کی بنیاد پر مخصوص شیل اسکرپٹ کو چلانا وغیرہ۔ لاگ فائلوں کو مختلف طریقوں سے منظم کرنے کے لیے 'logrorate' کمانڈ کو متعدد مثالوں کا استعمال کرتے ہوئے اس ٹیوٹوریل میں دکھایا گیا ہے۔

انسٹال شدہ لوگروٹیٹ ورژن کو چیک کریں۔

'logrotate' کمانڈ Ubuntu آپریٹنگ سسٹم کے نئے ورژن میں بطور ڈیفالٹ انسٹال ہوتی ہے۔ 'logrotate' کمانڈ کے انسٹال شدہ ورژن کو چیک کرنے کے لیے درج ذیل کمانڈ کو چلائیں:







$ logrotate --ورژن



مختلف ایپلی کیشنز کی لاگ انٹریز کو بطور ڈیفالٹ '/var/log' فولڈر میں محفوظ کیا جاتا ہے۔ اگر آپ فولڈر کے مواد کو چیک کرتے ہیں تو درج ذیل مشابہ مواد ظاہر ہوگا۔



$ ls / تھا / لاگ





'Logrotate' کنفیگریشن سیٹ کریں۔

سیٹنگ ویلیو مقصد
روزانہ/ہفتہ وار/ماہانہ/سالانہ یہ نوشتہ جات کو گھمانے کے لیے وقت کی مدت کا تعین کرتا ہے۔
نمبر گھمائیں یہ فائلوں کی تعداد کی وضاحت کرتا ہے جو پرانی لاگ فائلوں کو ہٹانے سے پہلے رکھی جائیں گی۔
کمپریس یہ لاگ فائلوں کو کمپریس کرنے کے لیے استعمال ہوتا ہے۔
compresscmd یہ 'کمپریس' کمانڈ سیٹ کرنے کے لیے استعمال ہوتا ہے۔ gzip پہلے سے طے شدہ کمانڈ ہے۔
uncompresscmd یہ 'uncompress' کمانڈ سیٹ کرنے کے لیے استعمال ہوتا ہے۔ گن زپ پہلے سے طے شدہ کمانڈ ہے۔
delaycompress یہ لاگ فائلوں کے کمپریشن کے عمل میں تاخیر کے لیے استعمال ہوتا ہے۔
نوٹیفکیشن خالی یہ خالی فائل کو نہ گھمانے کے لیے استعمال کیا جاتا ہے۔
میں لاپتہ ہوں۔ اگر یہ سیٹ ہے تو، لاپتہ لاگ فائلوں کے لیے کوئی خرابی پیدا نہیں ہوتی ہے۔
سائز اس کا استعمال لاگ فائلوں کو گھومنے کے لیے حد مقرر کرنے کے لیے کیا جاتا ہے۔
تاریخ کا متن یہ روٹیٹ فائل کے لاحقہ کے طور پر تاریخ کی قدر کو شامل کرنے کے لیے استعمال ہوتا ہے۔
کاپی ٹرنکیٹ یہ اصل فائل کی کاپی بنانے کے لیے استعمال ہوتا ہے۔
prerotated لاگ فائلوں کو گھمانے سے پہلے اسکرپٹ کو چلانے کے لیے استعمال کیا جاتا ہے۔
postrotate لاگ فائلوں کو گھمانے کے بعد اسکرپٹ کو چلانے کے لیے استعمال کیا جاتا ہے۔
بنانا یہ روٹ استحقاق کے ساتھ لاگ فائلوں کو بنانے کے لیے استعمال ہوتا ہے۔

نحو:

'logrotate' کمانڈ کا نحو درج ذیل دیا گیا ہے:



logrotate [ آپشن ] config_file_path

'logrotate' کمانڈ کے ساتھ مختلف مقاصد کے لیے مختلف قسم کے اختیارات استعمال کیے جا سکتے ہیں۔

لوگروٹیٹ آپشنز

'logrotate' کمانڈ کے کچھ مفید اختیارات درج ذیل میں بیان کیے گئے ہیں۔

-f، -قوت جب ضرورت ہو تو اسے زبردستی گردش کرنے کے لیے استعمال کیا جاتا ہے۔
-d، -ڈیبگ یہ گردش کے دوران ڈیبگ موڈ کو فعال کرنے کے لیے استعمال کیا جاتا ہے۔
-m، -mail یہ گردش کے دوران ای میل بھیجنے کے لیے استعمال ہوتا ہے۔
-s، -state یہ متبادل ریاستی فائلوں کے لیے استعمال ہوتا ہے۔
- استعمال یہ استعمال کی معلومات کو پرنٹ کرنے کے لیے استعمال کیا جاتا ہے۔
-؟، -مدد یہ مدد کرنے والے پیغامات کو پرنٹ کرنے کے لیے استعمال ہوتا ہے۔
-v، -verbose اسے وربوز موڈ میں پرنٹ کرنے کے لیے استعمال کیا جاتا ہے۔

لاگروٹیٹ کنفیگریشن فائل

مرکزی لاگروٹیٹ کنفیگریشن فائل '/etc/logrotate.conf' مقام پر واقع ہے۔ نینو ایڈیٹر میں فائل کو کھولنے کے لیے درج ذیل کمانڈ کو چلائیں:

$ نینو / وغیرہ / logrotate.conf

'logrotate' کمانڈ کی ڈیفالٹ سیٹنگ 'logrotate.conf' فائل میں دکھائی گئی ہے۔ فائل میں 'شامل' ہدایت کا استعمال اس کنفیگریشن کو بازیافت کرنے کے لیے کیا جاتا ہے جو '/etc/logrotate.d' ڈائریکٹری میں موجود ہے۔

مثال 1: ایک سادہ لاگروٹیٹ کنفیگریشن فائل بنائیں

نمونہ لاگ ڈیٹا کے ساتھ '/var/log/test.log' کے نام سے ایک نمونہ لاگ فائل بنائیں۔ '/etc/tmp' فولڈر کے مقام میں ایک نئی 'logrotate.conf' فائل بنانے کے لیے نینو ایڈیٹر کو کھولنے کے لیے درج ذیل کمانڈ کو چلائیں۔ روٹ مراعات کے ساتھ '/tmp' فولڈر بنائیں اگر یہ پہلے نہیں بنایا گیا ہے۔

$ نینو / وغیرہ / tmp / logrotate.conf

درج ذیل مواد کو '/var/log/test.log' فائل کے لیے فائل میں شامل کریں۔ ترتیب کے مطابق، 'test.log' فائل کو روزانہ گھمایا جائے گا اگر فائل کا سائز 5K سے زیادہ ہو:

/ تھا / لاگ / test.log {

روزانہ

سائز 5K

اس کا جڑ ایڈم

}

لاگ فائل کا سائز چیک کرنے کے لیے درج ذیل کمانڈ کو چلائیں:

$ ls -l / تھا / لاگ / test.log

کنفیگریشن فائل بنانے کے بعد 'logrotate' کمانڈ چلائیں۔

$ sudo logrotate / وغیرہ / tmp / logrotate.conf

'logrotate' کمانڈ پر عمل کرنے کے بعد لاگ فائل کا سائز چیک کرنے کے لیے درج ذیل کمانڈ کو دوبارہ چلائیں۔

$ ls -l / تھا / لاگ / test.log

'test.log' فائل کا سائز 1K+ ہے۔ لہذا، ترتیب ترتیب کی بنیاد پر کوئی گردش نہیں کی جاتی ہے۔

'/etc/tmp/logrotate.conf' فائل میں سائز کی قدر کو 1K میں تبدیل کریں اور '/var/log/test.log' کی فائل کا سائز چیک کرنے کے لیے دوبارہ 'ls' کمانڈ چلائیں۔ آؤٹ پٹ کے مطابق لاگ فائل کو گھمایا جاتا ہے اور ڈیلیٹ کر دیا جاتا ہے کیونکہ سائز کی حد سے تجاوز کر گیا ہے۔

مثال 2: Logrotate Copytruncate کا استعمال

کاپی ٹرنکیٹ کا استعمال دکھانے کے لیے درج ذیل ترتیبات کے ساتھ '/etc/tmp/logrotate.conf' فائل بنائیں یا اس میں ترمیم کریں۔ نئی سیٹنگز کے مطابق لاگروٹیٹ اصل فائل کا سائز صفر کر کے اصل فائل کی کاپی بناتا ہے۔

/ تھا / لاگ / test.log {

گھمائیں 5

سائز 1 ک

کاپی ٹرنکیٹ

اس کا جڑ ایڈم

}

'test.log' فائل کا سائز چیک کرنے کے لیے درج ذیل کمانڈ کو چلائیں:

$ ls -l / تھا / لاگ / test.log

کنفیگریشن فائل بنانے کے بعد 'logrotate' کمانڈ چلائیں۔

$ sudo logrotate / وغیرہ / tmp / logrotate.conf

'logrotate' کمانڈ پر عمل کرنے کے بعد 'test.log' فائل کا سائز چیک کرنے کے لیے درج ذیل کمانڈ کو دوبارہ چلائیں:

$ ls -l / تھا / لاگ / test.log

کاپی ٹرنکیٹ سیٹنگ کے لیے 'logrotate' کمانڈ پر عمل کرنے کے بعد فائل کا اصل سائز 0 ہو جاتا ہے۔

مثال 3: لوگروٹیٹ کمپریس کا استعمال

کمپریس کا استعمال دکھانے کے لیے درج ذیل سیٹنگز کے ساتھ '/etc/tmp/logrotate.conf' فائل بنائیں یا اس میں ترمیم کریں۔ نئی ترتیبات کے مطابق، لوگروٹیٹ اصل فائل کی ایک کمپریس فائل بناتا ہے۔

/ تھا / لاگ / test.log {

گھمائیں 5

سائز 1 ک

کمپریس

بنانا 770 جڑ ایڈم

}

'/var/log' کی فائلوں اور فولڈرز کی فہرست کو چیک کرنے کے لیے درج ذیل کمانڈ کو چلائیں:

$ ls / تھا / لاگ /

کنفیگریشن فائل بنانے کے بعد 'logrotate' کمانڈ چلائیں۔

$ sudo logrotate / وغیرہ / tmp / logrotate.conf

'/var/log' کی فائلوں اور فولڈرز کی فہرست کو چیک کرنے کے لیے درج ذیل کمانڈ کو دوبارہ چلائیں۔

$ ls / تھا / لاگ /

'test.log' فائل کی کمپریسڈ فائل 'test.log.1.gz' کے نام سے بنائی جاتی ہے اور اصل فائل کو ہٹا دیا جاتا ہے۔

مثال 4: لوگروٹیٹ ڈیٹ ٹیکسٹ کا استعمال

ڈیٹیکس کا استعمال دکھانے کے لیے درج ذیل سیٹنگز کے ساتھ '/etc/tmp/logrotate.conf' فائل بنائیں یا اس میں ترمیم کریں۔ نئی سیٹنگز کے مطابق، لوگروٹیٹ تاریخ کی قدر کے ساتھ اصل فائل کی ایک کمپریس فائل بناتا ہے۔

تھا / لاگ / test.log {

اس کا جڑ ایڈم

گھمائیں 5

سائز 1 ک

کمپریس

بنانا 770 جڑ ایڈم

تاریخ کا متن

}

کنفیگریشن فائل بنانے کے بعد 'logrotate' کمانڈ چلائیں۔

$ sudo logrotate / وغیرہ / tmp / logrotate.conf

'/var/log' کی فائلوں اور فولڈرز کی فہرست کو چیک کرنے کے لیے درج ذیل کمانڈ کو چلائیں:

$ ls -l / تھا / لاگ /

'test.log' فائل کی کمپریسڈ فائل 'test.log.20240129.gz' کے نام سے بنائی جاتی ہے اور اصل فائل کو ہٹا دیا جاتا ہے۔

مثال 5: لوگروٹیٹ میکسیج کا استعمال

میکسج کا استعمال دکھانے کے لیے درج ذیل سیٹنگز کے ساتھ '/etc/tmp/logrotate.conf' فائل بنائیں یا اس میں ترمیم کریں۔ ترتیبات کے مطابق، اگر لاگ فائل کا سائز ایک دن کے بعد 1K سے زیادہ ہو جائے تو logrotate پانچ لاگ اندراجات رکھتا ہے۔

/ تھا / لاگ / test.log {

اس کا جڑ ایڈم

گھمائیں 5

سائز 1 ک

کمپریس

زیادہ سے زیادہ 1

}

آؤٹ پٹ کو 'out.log' نامی دوسری لاگ فائل میں اسٹور کرنے کے لیے درج ذیل 'logrotate' کمانڈ کو چلائیں۔

$ sudo logrotate -s = / تھا / لاگ / out.log / وغیرہ / tmp / logrotate.conf

درج ذیل آؤٹ پٹ کے مطابق، 'out.log' فائل 'logrotate' کمانڈ پر عمل کرنے کے بعد بنتی ہے۔

مثال 6: لوگروٹیٹ مسنگوک کا استعمال

درج ذیل ترتیبات کے ساتھ '/etc/tmp/logrotate.conf' فائل بنائیں یا اس میں ترمیم کریں۔ یہاں، 'testfile.log' لاگ فائل '/var/log' فولڈر میں موجود نہیں ہے۔

/ تھا / لاگ / testfile.log {

اس کا جڑ ایڈم

گھمائیں 5

سائز 1 ک

کمپریس

}

'logrotate' کمانڈ پر عمل کرنے کے بعد ایک ایرر میسج پرنٹ کیا جاتا ہے۔

logrotate کنفیگریشن فائل میں 'missingok' سیٹنگ شامل کریں اور 'logrotate' کمانڈ کو دوبارہ چلائیں۔ لاپتہ لاگ فائل کے لیے کوئی غلطی پرنٹ نہیں کی گئی ہے۔

مثال 7: لوگروٹیٹ پریروٹیٹ کا استعمال

مندرجہ ذیل اسکرپٹ کے ساتھ 'test.sh' نام کی ایک Bash فائل بنائیں جو ایک سادہ پیغام پرنٹ کرتی ہے۔ لاگروٹیٹ کنفیگریشن فائل میں پریروٹیٹ کا استعمال دکھانے کے لیے اس لاگروٹیٹ مثال میں فائل کا استعمال کیا جاتا ہے۔

test.sh



#!/bin/bash

بازگشت 'لاگروٹیٹ مثالیں...'

فائل بنانے کے بعد، درج ذیل کمانڈ کو چلائیں تاکہ تمام صارفین کے لیے اس فائل کی عمل درآمد کی اجازت مقرر کی جا سکے۔

$ chmod a+x / گھر / سمجھ / test.sh

اب، درج ذیل ترتیبات کے ساتھ '/etc/tmp/logrotate.conf' فائل بنائیں یا اس میں ترمیم کریں۔ سیٹنگز کے مطابق، logrotate پانچ لاگ اندراجات رکھتا ہے اگر لاگ فائل کا سائز 1K سے زیادہ ہو اور 'test.sh' فائل کو روٹیشن سے پہلے عمل میں لایا جائے۔

/ تھا / لاگ / test.log {

اس کا جڑ ایڈم

گھمائیں 5

سائز 1 ک

prerotated

/ گھر / سمجھ / test.sh

اینڈ اسکرپٹ

}

'test.sh' فائل کا آؤٹ پٹ 'logrotate' کمانڈ پر عمل کرنے کے بعد دکھایا جاتا ہے:

نتیجہ

'logrotate' کمانڈ کے مختلف استعمال اس ٹیوٹوریل میں متعدد مثالوں کا استعمال کرتے ہوئے دکھائے گئے ہیں جو لینکس کے صارف کو کمانڈ کے استعمال کو جاننے اور لاگ فائلوں کو صحیح طریقے سے منظم کرنے میں مدد فراہم کریں گے۔