জার্নিক্টেল কীভাবে সাফ করবেন


208

সিস্টেমড জার্নাল সাফ করার কোনও নিরাপদ উপায় আমি গুগলে খুঁজে পাইনি। কেউ কি এমন নিরাপদ এবং নির্ভরযোগ্য উপায় জানেন?

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

উত্তর:


289

স্ব রক্ষণাবেক্ষণ পদ্ধতি হ'ল লগগুলি আকার বা সময় অনুসারে শূন্য করে।

কেবল গত দু'দিন ধরে রাখুন:

journalctl --vacuum-time=2d

কেবল গত 500 এমবি পুনরুদ্ধার করুন:

journalctl --vacuum-size=500M

man journalctl আরও তথ্যের জন্য.


11
দুর্দান্ত কমান্ড, তবে ওপেনসুএস 13.2 (বর্তমান স্থিতিশীল প্রকাশ) এ আমার পক্ষে কাজ করে নি। এটি জানা যায় যে কার্নেল এবং ইউজারল্যান্ড প্রোগ্রামগুলির ক্ষেত্রে আর্চ সাধারণত কাটিয়া প্রান্তে থাকে, তাই আমি অনুমান করেছি যে ভ্যাকুয়াম বিকল্পগুলি সম্প্রতি সিস্টেমেডে যুক্ত হয়ে থাকতে পারে এবং কেবল আমার ডিস্ট্রোতে পড়ে যায়নি। 10 ডিসেম্বর 2014 টেকআপডেটস / বিগো / 1002774 এ লেনার্টের ঘোষণায় এখানে সত্যতা নিশ্চিত করেছেন যে সিস্টেমটিড ভি 218 এ এই কমান্ড যুক্ত হয়েছিল। এই মন্তব্যটি যুক্ত করার মতো আমার মতো আর কেউ নেই যিনি আর্কে নেই তিনি একই ধরণের সমস্যা রয়েছে। আপত্তিকর যাই হোক।
জোশুয়া হুবার

আমি 'জার্নাক্টল --ভ্যাকুয়াম-টাইম = 1 ডি' এমন একটি পরিস্থিতি ঠিক করতে ব্যবহার করেছি যেখানে 'জার্নাল্টেল -f' দিয়ে নতুন লগ বার্তা প্রদর্শিত হচ্ছে না। স্পষ্টতই আমার সিস্টেম সময়টি সাময়িকভাবে কিছুদিনের জন্য এগিয়ে গিয়েছিল, আবার সেরে উঠল এবং জার্নালটেল ভবিষ্যতের সময় থেকে লগ ইভেন্টের টাইমস্ট্যাম্পগুলি জার্নালের লেজ হিসাবে ব্যবহার করছে।
ব্যবহারকারী 5071535

8
উবুন্টু 16.04 এ "সিস্টেমেড 229" সংস্করণে কাজ করেনি। journalctl --vacuum-size=1Kতারপরে journalctlএখনও 1K এর চেয়ে বেশি উপায় দেখায়। এটি শেষ বুট হওয়ার পরে সমস্ত বার্তা প্রদর্শন করে।
ড্যান ড্যাসক্লেস্কু

18
দেখে মনে হচ্ছে এটি কেবল সংরক্ষণাগারভুক্ত লগগুলি সাফ করে, সক্রিয়গুলি নয়। আমি journalctl --flush --rotateআগে দৌড়ানোর চেষ্টা journalctl --vacuum-time=1sকরেছি এবং এটি আরও বেশি জিনিস সরিয়ে ফেলেছে, যদিও এখনও সবকিছু না।
user60039

2
ডকুমেন্টেশনটি আমার কাছে এত পরিষ্কার মনে হচ্ছে না। এটি কি সর্বদা 2 ডি তে সেট থাকে (আপনার উদাহরণে)? বা আপনি কমান্ড চালানোর সময় থেকে 2 ডি? এটি ঠিক কীভাবে কাজ করে তা আমি বুঝতে পারছি না।
জার্সি শিম

84

আপনি সাধারণত জার্নালটি নিজেরাই সাফ করেন না। এটি সিস্টেমেড নিজেই পরিচালিত হয় এবং নতুন ডেটা আসার সাথে সাথে পুরানো লগগুলি ঘোরানো হয় do সঠিক কাজটি হ'ল আপনার আগ্রহী যতটা ডেটা রাখবেন তা জার্নাল করার সময়সূচী করা। সামঞ্জস্য করার সর্বাধিক সাধারণ জিনিসটি মোট ডিস্ক is স্থান এটি গ্রহণ করার অনুমতি দেওয়া হয়। একবার এই সীমানাটি অতিক্রম করলে এটি এই মানটির কাছাকাছি থাকতে পুরানো এন্ট্রিগুলিকে পিচিং শুরু করবে।

আপনি এটি /etc/systemd/journald.confপছন্দ মত সেট করতে পারেন:

SystemMaxUse=100M

11
ঠিক আছে, তবে অসাধারণ পরিস্থিতিও রয়েছে। আমি জানি যে তাদের বেশিরভাগই কারণ হিসাবে কেবল নন্দনতত্ত্ব, তবে নান্দনিকতা মানুষের জন্য একটি বৈধ কারণ;)।
asukasz Zaroda

2
@ AsukaszZaroda সেক্ষেত্রে আপনাকে "নিরাপদ" সংজ্ঞা দিতে হবে। সাধারণত "আমি এমন কোনও কিছুকে উড়িয়ে দিতে চাই যা একটি ডেমনকে রাখতে কনফিগার করা আছে" "নিরাপদ" এর সাথে বেমানান। আপনি যদি এটি জোর করতে চান তবে কেবল পরিষেবাটি বন্ধ করে দিন এবং লগ ফাইলগুলি শূন্য করে দিন। আপনি যদি এটি স্বাভাবিকভাবে কাজ করতে চান তবে আপনার প্রশ্নের প্যারামিটারগুলি আরও ভালভাবে সংজ্ঞায়িত করা উচিত। "নিরাপদ" বলতে কী বোঝ?
কালেব

নিরাপদে, আমি বোঝাতে চাইছি যে ক্লিয়ারিংয়ের পরে এটি যথারীতি কাজ করবে, নতুন জায়গা থেকে শুরু করে।
asukasz Zaroda

5
এটি সাধারণ পরিস্থিতি নাও হতে পারে তবে কখনও কখনও কিছু সিস্টেমড
ডিফাইকাট

1
লগগুলি নির্দিষ্ট আকারে পৌঁছানোর পরিবর্তে নির্দিষ্ট সময়ের পরে পরিষ্কার করতে, আপনি MaxRetentionSecপরিবর্তে প্যারামিটার সেট করতে পারেন SystemMaxUse। দেখুন man journald.confআরো বিস্তারিত জানার জন্য।
joelostblom

51

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

সুতরাং, সমস্ত এন্ট্রি অপসারণের সম্পূর্ণ উত্তর বলে মনে হচ্ছে

journalctl --rotate
journalctl --vacuum-time=1s

(দ্রষ্টব্য যে আপনি এটি একটি journalctlকমান্ডের সাথে সংযুক্ত করতে পারবেন না ))

উপায় দ্বারা, কিছু ডিস্ট্রিবিউশনগুলি কনফিগার করা হয়েছে যাতে এটি ডিস্কে লগ লিখতে ( /var/log/journal) অন্যরা মেমরিতে লগ রাখে ( /run/log/journal)। আমি প্রত্যাশা করি যে কিছু কিছু ক্ষেত্রে journalctl --flushপ্রথমে সমস্ত কিছু অপসারণ করার জন্য ব্যবহার করা প্রয়োজন হতে পারে ।

আপনার যদি --rotateআপনার সংস্করণে না থাকে , আপনি --sinceএন্ট্রি ফিল্টার করতে যুক্তিটি ব্যবহার করতে পারেন :

--since "2019-01-30 14:00:00"
--since today

জার্নালটিএল: অপরিজ্ঞাত বিকল্প '--rotate'
sct

1
যখন আমি অন্যান্য উত্তরগুলি কাছে আসছি (দীর্ঘমেয়াদী কৌশল) পেয়ে যাচ্ছি - প্রশ্নটি সহজ: আপনি এখন লগগুলি কীভাবে সাফ করবেন (সম্ভবত আপনি আপনার বর্তমান কাজের জন্য দীর্ঘমেয়াদে আগ্রহী নন)। এটি অন্যান্য অনুমান করা ছাড়াই এই প্রশ্নের উত্তর দেয় এবং জার্নাক্টল বোঝার জন্য অন্যান্য দুর্দান্ত মান যুক্ত করে। এই উত্তর হওয়া উচিত।
মার্ক

1
এটি আমার জন্য একমাত্র সহায়ক উত্তর ছিল। ধন্যবাদ!
ফ্রিডো

18

আর্চ লিনাক্সে, আমার কাছে সবচেয়ে কাছেরটি ছিল:

  • SystemMaxUse = 1M সেট করতে /etc/systemd/jorterd.conf সম্পাদনা করুন
  • পুনঃসূচনা জার্নাল: sudo systemctl restart systemd-journald
  • SystemMaxUse = 200M পুনরায় সেট করা
  • জার্নালটি পুনরায় চালু করা হচ্ছে

আমার সিস্টেমে প্রতিটি জার্নাল ফাইল 8MB, এবং উপরেরগুলি 3 টি ব্যতীত সমস্তগুলি সাফ করে, মোট আকারটি 25MB ডলারে নিয়ে আসে।

আমার ব্যবহার-কেস Btrfs জন্য গাভী নিষ্ক্রিয় ছিল (ঠিক জার্নাল ডিরেক্টরি ও সাব জন্য): sudo chattr +C /var/log/journal/*। সমস্যাটি হ'ল, বৈশিষ্ট্যটি কেবলমাত্র নতুন নির্মিত ফাইলগুলিতে সেট করা থাকে, সুতরাং জার্নালটি ফ্লাশ করার ইচ্ছা।


4
আপনার ব্যবহারের ক্ষেত্রে আসলে প্রয়োজন ছিল না। জার্নালে CoW অক্ষম করার বিষয়টি হ'ল এটি প্রায়শই লিখিত হয়। পুরানো ঘোরানো জার্নাল ফাইলগুলির ক্ষেত্রে এটি নয়, তারা কেবল সেখানে বসে।
হুজুল

1
আমি সেট করেছি SystemMaxUse=1K, আবার শুরু করেছি systemd-journald, তবে জার্নাল্টেল এখনও যেতে চাইছে এমন এন্ট্রি দেখায়। ফ্ল্যাট টেক্সট ফাইল থেকে এই অগ্রগতিটি কীভাবে হয়?
ড্যান ড্যাসক্লেস্কু

13

যেহেতু --vacuum-timeএবং --vacuum-sizeআমার জন্য কোনও কাজ করেনি আমি নিম্নলিখিতগুলি করেছি:

$ sudo find /var/log/journal -name "*.journal" | xargs sudo rm 
$ sudo systemctl restart systemd-journald

এটি সঠিক নয়, তবে এটি কাজ করেছে।


ডেবিয়ান জেসির উপর, পথটি /run/log
সিঙ্ক্রো

1
কেবল এটিই আমাকে সাহায্য করেছিল!
টুডো

এটি বর্তমানে সঠিক উত্তর। জার্নাল্টেল কমান্ড এটি করতে পারলে এটি দুর্দান্ত তবে এটি অক্ষম বলে মনে হচ্ছে।
কেভিন লিদা

11

সম্পূর্ণ লগ পরিষ্কার করার জন্য একটি খুব জোর বল পদ্ধতি:

$ sudo journalctl --vacuum-time=1seconds

আপনি --vacuum-sizeমাইকেল পরামর্শদাতা হিসাবেও ব্যবহার করতে পারেন ।


5
কাজ হয়নি। 15 মিনিটের জন্য এন্ট্রি আগে এখনও দেখা চলমান পরে এমনকি systemctl restart systemd-journald
ড্যান ড্যাসক্লেস্কু

1
একই অবস্থা. এটি আমার পক্ষেও কার্যকর হয়নি। আমি CentOS7 চালাচ্ছি।
জার্সি শিম

5

উভয় - প্রোটেট এবং - ভ্যাকুয়াম-টাইম = 1 এস সেন্টোজে আমার পক্ষে কাজ করেনি। আমি এটি এটিকে পরিষ্কার করতে সক্ষম হয়েছি:

sudo rm -rf /run/log/journal/*

আমি হেক্সাডেসিমাল নামের 2 টি ডিরেক্টরি খুঁজে পেয়েছি ./journaljournalctlকমান্ড শুধুমাত্র সাম্প্রতিকতম এক কাজ করে। সুতরাং আমাকে পুরানো ডিরেক্টরিটি ম্যানুয়ালি মুছে ফেলতে হয়েছিল এবং এটি নিরাপদ। আমি কেবল জার্নাল কনফেয়ারে আকার সীমাবদ্ধ করার পরে।
কিটেলডোগ

1
  1. ভবিষ্যতে আপনার প্রয়োজনে এটি ব্যাক আপ করুন:
    cp /run/log/journal/<temp-string>/system.journal /mylog/dir/back/system.journal.bak

  2. ফাইল সাফ করুন:
    cd /run/log/journal/<temp-string>/ >system.journal

  3. সর্বশেষ লগগুলি দেখতে চেক করুন:
    journalctl -xe


1

journalctl -bশুধুমাত্র সাম্প্রতিক বুট থেকে প্রদর্শিত হবে। এছাড়াও আপনি ব্যবহার করতে পারেন -b -1, -b -2ইত্যাদি তোমার ভয়ঙ্কর দিন এখনও আছে কিন্তু আপনি তা দেখতে, যদি না আপনি প্রয়োজন থাকবে না।


0

আমার পূর্ববর্তী উত্তরটি "নকল" হওয়ার কারণে সবেমাত্র মুছে ফেলা হয়েছে। ঠিক আছে, আমার আগের উত্তরটিতে যথেষ্ট পরিষ্কার না হওয়ার জন্য দুঃখিত, তবে এটি বিদ্যমান উত্তরগুলির চেয়ে পৃথক ছিল। সুতরাং এখানে আরও বিস্তৃত সংস্করণ:

journalctl -m --vacuum-time=1sআমার জন্য কৌশলটি। দয়া করে -mপতাকাটি লক্ষ্য করুন , এটি আপনার সমস্ত জার্নালগুলিকে একত্রিত করে এবং তারপরে সেগুলি পরিষ্কার করে। -mপতাকা ব্যতীত এটি আমার ক্ষেত্রে কোনও কিছুই সাফ করেনি (সেন্টোজ-7 এ)।

আশা করি এটা সাহায্য করবে.

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