সমস্ত / var / লগ মুছবেন?


26

আমি কি সবকিছু মুছতে পারি /var/log? অথবা আমি কেবল ফাইলগুলি (পুনরাবৃত্তভাবে) মুছে ফেলা উচিত /var/logতবে ফোল্ডারগুলি রেখে দেব ?

কারও কি ভাল rmকমান্ড লাইন আছে? (আমার প্রশাসনিক দক্ষতা আমাকে ঘাবড়ে গেছে))

দ্রষ্টব্য: আমি ডেবিয়ান ব্যবহার করছি। আমি নিশ্চিত কোন সংস্করণ।


3
লগ ফাইলগুলি মুছে ফেলা একটি খারাপ ধারণা (আপনার নিজের চলমান প্রক্রিয়াটিও খুঁজে পেতে হবে যার নিজস্ব লগ ফাইল রয়েছে এবং এটি "কিল-এইচপি" হবে এটি একটি নরম পুনঃসূচনা হবে যার ফলে প্রোগ্রামটি প্রয়োজনীয় লগ ফাইলগুলি পুনরুদ্ধার করবে)। আমি লগ ফাইলগুলি মুছে ফেলার বিরুদ্ধে দৃ strongly়ভাবে পরামর্শ দেব, আপনার জন্য স্বয়ংক্রিয়ভাবে / var / লগের বিষয়বস্তু পরিচালনা করার জন্য লোগ্রোটেটের মতো ইউটিলিটিগুলির উপর নির্ভর করুন (এটি HUP প্রসেসগুলির মতো স্টাফ করে) যদি আমি এটি অন্য কোনও কোণ থেকে সামলাতে চাই তবে। আপনি কোন সমস্যার সমাধান করার চেষ্টা করছেন যা আপনাকে এটি বিবেচনা করতে পরিচালিত করেছে?
Twirrim

উত্তর:


22

ফাইলগুলি মুছে ফেলার পরিবর্তে আপনার এগুলি ঘোরানো উচিত, উদাহরণস্বরূপ logrotate

আপনি কখনই বুঝতে পারবেন না কখন কখন আপনার আসলে লগগুলির প্রয়োজন হবে, সুতরাং সেগুলি সংরক্ষণাগারভুক্ত করা (যুক্তিসঙ্গত বয়স পর্যন্ত, যেমন 3 মাস) ভাল।

logrotate আপনার পুরানো লগ ফাইলগুলি সংকুচিত করতে পারে যাতে তারা প্রচুর ডিস্কের জায়গা দখল করে না।


3
লোগ্রোটেট পুরানো ফাইলগুলিও মুছতে পারে।
কেভিন এম

8
ভাল, আইএমএইচও সমস্ত লগ মুছে ফেলা কিছু ক্ষেত্রে নিখুঁত ধারণা তৈরি করতে পারে। উদাহরণস্বরূপ আমি নতুন মোতায়েনের জন্য ব্যবহার করার জন্য একটি ভার্চিয়াল মেশিন চিত্র তৈরি করতে চাই। বলার অপেক্ষা রাখে না যে আমি কোনও লগ, ইতিহাস, ক্যাশে ইত্যাদি সংরক্ষণ না করে এটি একটি সত্যিকারের পরিষ্কার ব্যবস্থা হতে চাই।
ইভান

2
দুঃখিত, তবে তিন মাস বয়সী লগ ফাইলগুলির দিকে তাকানো প্রত্নতত্ত্ব। যদি আপনি সমস্যাগুলি সনাক্ত করতে লগগুলি সংগ্রহ করেন তবে দ্রুত তাদের মূল্যায়ন করুন।
কাউন্টারমোড

4
@ কাউন্টারমোড আপনি কখনই নস্টালজিয়ার মুডে নেই? 3 মাস বয়সী লগ ফাইলগুলি ভাল ওল'আর সময় সম্পর্কে ভাবছেন?
ব্রোকো

ঠিক আছে, আমি কমান্ডটি দেখতে পাচ্ছি। এটি কিভাবে ব্যবহার করতে? ম্যান লোগ্রোটেট ক্রোন এ ব্যবহার করুন বলে। আমি মনে করি -f বিকল্পটি দিয়েছি?
এসডসোলার

17

আপনি যদি / var / লগে সমস্ত কিছু মুছে ফেলেন তবে খুব অল্প সময়ের মধ্যে আপনি প্রচুর সংখ্যক ত্রুটি বার্তাগুলি শেষ করবেন, কারণ সেখানে ফোল্ডার রয়েছে যা প্রত্যাশিত (যেমন এক্সিম 4, অ্যাপাচি 2, অ্যাপ্ট, কাপ, মাইএসকিএল, সাম্বা) এবং আরও বেশি)। প্লাস: কিছু পরিষেবা বা অ্যাপ্লিকেশন রয়েছে যা তাদের লগ ফাইলগুলি তৈরি করে না, যদি সেগুলির অস্তিত্ব না থাকে। তারা কমপক্ষে একটি ফাঁকা ফাইল উপস্থিত থাকার প্রত্যাশা করে। সুতরাং আপনার প্রশ্নের সরাসরি উত্তর আসলে "এটি করবেন না !!!"

জোসচি যেমন উল্লেখ করেছে, এটি করার কোনও কারণ নেই। আমার ডেবিয়ান সার্ভারগুলি চলছে যা কয়েক বছরে একটি লগ ফাইল মোছেনি।


আমি এটা বুঝতে পারি নি। জানা ভাল. +1 + আমার গ্রহণযোগ্যতা পরিবর্তন করেছে।

1
আমি সবেমাত্র এটি করেছি। কামনা করি! আমি আগে এই উত্তরটি পড়েছি
বরুণআগউ

আইএমএইচও, লগ ফাইলগুলি অপসারণের বৈধ কারণ রয়েছে। উদাহরণস্বরূপ, আপনি অন্যের ব্যবহারের জন্য ভার্চুয়াল মেশিন রফতানি করছেন, তবে আপনি চান না যে ভার্চুয়াল মেশিনের চিত্রটি রফতানির আগে ঘটে যাওয়া সমস্ত কিছুর বিবরণ ধারণ করে।
a3nm

15

সমস্ত ফাইল মুছুন:

find /var/log -type f -delete

সমস্ত .gz এবং ঘোরানো ফাইল মুছুন

find /var/log -type f -regex ".*\.gz$"
find /var/log -type f -regex ".*\.[0-9]$"

"-মুছে ফেলা" ছাড়াই রান কমান্ড চেষ্টা করুন, এটি পরীক্ষা করতে।


প্যাকেজিংয়ের আগে ভ্যাগ্রান্ট বক্সের লগ ফাইলগুলি সাফ করার জন্য আমি এটি দরকারী বলে মনে করেছি।
রুডল্ফ ভ্যাভ্রুচ

10

আমি একজন মাস্টার থেকে ভার্চুয়াল মেশিন ক্লোন করছি oning মাস্টারের লগটি সাফ করার জন্য এটি সঠিক ধারণা তৈরি করে যাতে আপনি ক্লোনগুলি বুট করার সময় আপনি মাস্টারের লগটি পাবেন না। আমি টিসিএসে করেছিলাম:

cd /var/log
foreach ii ( `find . -type f` )
foreach? cp /dev/null $ii
foreach? end

যা লগগুলি সাফ করে তবে ফাইলগুলিকে রাখে।


এটি আপনার বর্ণনা মতো ব্যবহারের ক্ষেত্রে সীমাবদ্ধ করা উচিত।
সোভেন

4
বাশে ইন: সন্ধান করুন / ভেরি / লগ / -প্রকার এফ-এক্সেক সিপি / দেব / নাল {} \;
জেরার্ড

7

ফাইলগুলি মোছা না করে লিনাক্স সিস্টেমে সমস্ত লগ পরিষ্কার করা:

for CLEAN in $(find /var/log/ -type f)
do
    cp /dev/null  $CLEAN
done

সাম্বা ( /var/www/samba) আইপি ঠিকানার মাধ্যমে লগ ফাইল-নাম তৈরি করে, আপনি সেগুলি মুছতে পারেন:

for CLEAN in $(find /var/log/samba -type f)
do
    rm -rf $CLEAN
done

2
দরকারী স্ক্রিপ্ট।
আনমল সিং জাগি

আপনি অদলবদল পারে cp /dev/null $CLEANদ্বারা > $CLEAN
থোরিয়ামবিবি

2

আপনি পুরানো ফাইলগুলি সন্ধানের জন্য সিটিএম বিকল্পটি ব্যবহার করতে পারেন ... উদাহরণস্বরূপ:

find -ctime +30

যেমন বাইন্ডন ব্যাখ্যা করে, প্রথমে আনতে ফাইলগুলি সন্ধান করুন এবং বিকল্পটি মুছুন: ডি ব্যবহার করার পরে


2

/var/logপ্রায়শই অনুমতি থাকে drwxrwxr-xতাই ব্যবহারকারী লেখার যোগ্য না হয় যদি না ব্যবহারকারী রুট হয় বা কোনও সুবিধাভুক্ত গোষ্ঠীর মালিক না হয়। এর অর্থ হ'ল নতুন লগ ফাইল অ-সুবিধাযুক্ত ব্যবহারকারীরা তৈরি করতে পারবেন না।

যে অ্যাপ্লিকেশনগুলির মধ্যে একটি বিন্দুতে লগ হওয়ার প্রত্যাশা থাকে /var/logতারা প্রায়শই /var/logইনস্টলের সময় (যা প্রায়শই উন্নত সুবিধাসমূহের সাথে ঘটে থাকে) হায়ারার্কির কোথাও কোথাও কোনও ফাইল অস্তিত্বের সাথে স্পর্শ করবে chmodএবং সম্ভবত chownসেই সময়ে অনিবদ্ধ ব্যবহারকারীদের জন্য উপযুক্ত অনুমতিগুলি হবে অ্যাপ্লিকেশন ব্যবহার করে।

উদাহরণস্বরূপ, অ্যাপাচি লগগুলি সাধারণত লিখিত থাকে nobody, যিনি অপ্যাচে সিস্টেমটিকে অযৌক্তিক ঝুঁকিতে না ফেলেই কাজটি সম্পাদন করার জন্য যতটা সম্ভব সুযোগ সুবিধাযুক্ত ব্যবহারকারী। এমনকি মিলের আরও একটি চালিত অ্যাপ্লিকেশনটি প্রায়শই একটি লগ-ফাইলে লিখতে সক্ষম হওয়ার প্রত্যাশা করে /var/log

সুতরাং লগফাইলে এবং লগফাইলে যাওয়ার পথটি না থাকলে কী হয়? এটি পুরোপুরি আবেদনের উপর নির্ভর করে। কিছু অ্যাপ্লিকেশন নিঃশব্দে লগিং এড়িয়ে যাবে। অন্যরা প্রচুর সতর্কতা তৈরি করবে। এবং অন্যরা কেবল জামিন ছাড়বে। এখানে কোনও কঠোর-নিয়ম নেই; এটি অ্যাপ্লিকেশন বিকাশকারীদের সজাগ হওয়ার সাথে সাথে বিকাশকারী তার লগ ইন করার ক্ষমতাটিকে কতটা সমালোচিত মনে করে। সর্বোপরি অ্যাপ্লিকেশনটি একটি গন্তব্যস্থলে একটি লগ ফাইলটিতে লিখতে, বা সম্ভবত তৈরি এবং তারপরে লিখতে চেষ্টা /var/logকরবে এবং এটি করতে অক্ষম হবে কারণ এটি এমন কোনও ব্যবহারকারী দ্বারা পরিচালিত হচ্ছে যার লেখার অধিকার নেই doesn't ফাইল সিস্টেমের যে অংশ।

সুতরাং সংক্ষিপ্ত উত্তরটি হ'ল না, এতে সবকিছু মুছবেন না /var/log- এটি তাদের সিস্টেমে চলমান অ্যাপ্লিকেশনগুলির সাথে এমন কাজ করার পর্যাপ্ত অধিকার সহকারে চুক্তি ব্যবহারকারীদেরকে ভেঙে দেয় এবং এতে কিছুটা আওয়াজ, লগ ইন করার ক্ষেত্রে কিছুটা নিরব ব্যর্থতা এবং কিছু অল আউট বিরতি।

যথাযথ ব্যবস্থা গ্রহণ করা হ'ল logrotateউপযুক্ত কনফিগারেশন ফাইলগুলি সেট আপ করা। সাধারণত ঘূর্ণন ক্রোন কাজের সাথে যুক্ত হবে। আবর্তন অন্তরভিত্তিক, বা আকার ভিত্তিক, বা উভয় হতে পারে। এমনকি নিয়মগুলি সেট আপ করাও সম্ভব যা অন্তরভিত্তিক ঘূর্ণন এড়ায় যদি অন্তর শেষ হয়ে যায় তবে লগফিলটি খালি থাকে। ঘোরার মধ্যে লগফাইल्स, সংক্ষেপণ, মোছা, কমান্ড ইত্যাদি মেলিং অন্তর্ভুক্ত থাকতে পারে।

গড় ব্যবহারকারীর লগ রোটেশন সম্পর্কে খুব বেশি উদ্বিগ্ন হওয়ার দরকার নেই। বিকাশকারীরা সম্ভবত এটি নিশ্চিত করতে চাইবেন যে তারা যে লগগুলি ব্যবহার করেন সেগুলি ঘোরানোর নিয়ম রয়েছে have প্রকৃতপক্ষে, বিকাশকারীরা সফ্টওয়্যার-নির্দিষ্ট লগগুলি সফ্টওয়্যার তৈরি এবং লেখার জন্য কোনও লগের জন্য ইনস্টল সময়ে লগ রোটেশন সেট আপ করার পক্ষে এটি সম্ভবত ভাল আচরণ।


1

আমি এখানে একটি সাধারণ ক্লিনার প্রয়োগ করেছি:

https://github.com/Lin-Buo-Ren/Coward-Unix-Log-Cleaner

এটি কেবল:

  • নীচে লোগ্রোটেটেড ফাইলের নাম ধরণগুলি সহ ফাইলের নাম মুছুন /var/log
    • ^.*/.+\.[[:digit:]]+(\.[[:alpha:]]+)?$
    • ^.*/.+\.old$ (কেস-অবশ)
  • নীচে লগ ফাইল নামের নিদর্শন সহ ফাইলের নাম সহ ফাইলগুলি খালি / খালি করুন /var/log
    • ^.*/.+\.log$ (কেস-অবশ)

-2
function goodbyelogs {
find /var/log -type f
}

for i in return $(goodbyelogs);
do sudo cat /dev/null > $i;
echo "Log $i has been cleared";
done

এক্সিকিউটেবল স্ক্রিপ্ট তৈরি করুন এবং sudo আপনার জন্য কাজ না করে থাকলে রুট হিসাবে চালানোর চেষ্টা করুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.