Sysadmin တွေ နေ ့စဉ်ကြုံတွေ ့ ရတဲ့ ပြသနာ တွေထဲက တစ်ခု ကတော့ log file တွေ ပါပဲ။ အဲမှာ မှ ကိုရွှေ program က daily split တွေ ခွဲ ပါတယ် တစ်ရက်ကို ပဲ 30 GB လောက် ရှိတဲ့ single file ဆို နားကားပါပြီး။ Incident တစ်ခု ဖြစ်လို့ ကြားထဲက log ကို ဖောက်ယူ ချင်တယ် တိုင်ပက်ပါပြီး less နဲ့ ဖတ်တယ်၊ awk နဲ့ ဆွဲထုတ်တယ်၊ grep နဲ့ စစ်တယ်။ 30GB ကို ဖတ်တဲ့ system resource usage ကို လဲ ထည့်တွက်ရပါသေးတယ်။ အချိန် လဲပိုပေးရပါတယ်။ ကွ ျန်တော်က တော့ 2GB , 15 file ခွဲလိုက်ပါတယ် less နဲ ့ ဝင်ကြည့်ရတာလဲ မြန်သွားသလို့၊ အချိန်ကုန် လဲသက်သာပါတယ်။
Code:
split -b 2GB example.log prefix
size ကို သတ်မှတ်ရာမှာလဲ (K,M,G,T,P,E,Z,Y) unit များကို သုံးထားရင်တော့ x 1024 ၊ KB,MB,… unit တွေ ဆိုရင် တော့ x 1000 နဲ့ ခွဲ သွားမှာပါ။ File size နဲ့ တင် မဟုတ်ပဲ line အရေ အတွက်နဲ့ လဲ ခွဲထုတ်နိုင်ပါသေးတယ်။
Code:
split -l 1000 example.log prefix
split –help ခေါ်ပြီး အသုံး တည့်သလိုလဲ သုံးနိုင်ကြပါစေဗျာ။:)
split လုပ်ထားတဲ့ file တွေကို လဲ cat နဲ ့ လွယ်ကူစွာ ပြန်ပေါင်းနိုင်ပါတယ်။
Code:
cat prefix* > example.log