( এই প্রশ্নটি একই ধরণের সমস্যার সাথে সম্পর্কিত তবে এটি একটি ঘোরানো লগ ফাইল সম্পর্কে কথা বলে))
আজ আমি খুব কম /var
স্থান সম্পর্কিত একটি সিস্টেম বার্তা পেয়েছি ।
যথারীতি আমি কমান্ডগুলি সম্পাদন করেছি sudo apt-get clean
যার প্রেক্ষিতে দৃশ্যের সামান্য উন্নতি হয়েছে। তারপরে আমি ঘোরানো লগ ফাইলগুলি মুছলাম যা আবার খুব সামান্য উন্নতি করেছিল।
পরীক্ষার পরে আমি দেখতে পেলাম যে কিছু লগ ফাইল /var/log
বড় হয়ে গেছে। নির্দিষ্ট হতে, ls -lSh /var/log
দেয়,
total 28G -rw-r----- 1 syslog adm 14G Aug 23 21:56 kern.log -rw-r----- 1 syslog adm 14G Aug 23 21:56 syslog -rw-rw-r-- 1 root utmp 390K Aug 23 21:47 wtmp -rw-r--r-- 1 root root 287K Aug 23 21:42 dpkg.log -rw-rw-r-- 1 root utmp 287K Aug 23 20:43 lastlog
আমরা দেখতে পাচ্ছি, প্রথম দুটি হ'ল আপত্তিজনক। এত বড় ফাইল কেন ঘোরানো হয়নি তা নিয়ে আমি মৃদু অবাক হয়েছি।
তাহলে আমার কি করা উচিৎ? কেবল এই ফাইলগুলি মুছুন এবং তারপরে পুনরায় বুট করবেন? বা আরও কিছু বিচক্ষণ পদক্ষেপের জন্য যেতে চান?
আমি উবুন্টু 14.04 ব্যবহার করছি।
আপডেট 1
শুরুতে, সিস্টেমটি বেশ কয়েক মাস পুরাতন। একটি হার্ড ডিস্ক ক্রাশের কয়েকমাস আগে স্ক্র্যাচ থেকে সিস্টেমটি ইনস্টল করতে হয়েছিল।
এখন, এই উত্তরে যেমন পরামর্শ দেওয়া হয়েছে , আমি প্রথমে আক্রমণাত্মক লগ ফাইলগুলি ব্যবহার করে পরীক্ষা করেছিলাম tail
, সেখানে কোনও আশ্চর্যের কিছু নেই। তারপরে, গভীর তদন্তের জন্য, আমি একই স্ক্রিপ্টটি এই উত্তরটি থেকে সম্পাদন করেছি ।
for log in /var/log/{syslog,kern.log}; do
echo "${log} :"
sed -e 's/\[[^]]\+\]//' -e 's/.*[0-9]\{2\}:[0-9]\{2\}:[0-9]\{2\}//' ${log} \
| sort | uniq -c | sort -hr | head -10
done
প্রক্রিয়াটি কয়েক ঘন্টা সময় নিয়েছে। আউটপুটটি লাইনে ছিল,
/var/log/syslog : 71209229 Rafid-Hamiz-Dell kernel: sda3: rw=1, want=7638104968240336200, limit=1681522688 53929977 Rafid-Hamiz-Dell kernel: attempt to access beyond end of device 17280298 Rafid-Hamiz-Dell kernel: attempt to access beyond end of device 1639 Rafid-Hamiz-Dell kernel: EXT4-fs warning (device sda3): ext4_end_bio:317: I/O error -5 writing to inode 6819258 (offset 0 size 4096 starting block 54763121030042024) <snipped> /var/log/kern.log.1 : 71210257 Rafid-Hamiz-Dell kernel: attempt to access beyond end of device 71209212 Rafid-Hamiz-Dell kernel: sda3: rw=1, want=7638104968240336200, limit=1681522688 1639 Rafid-Hamiz-Dell kernel: EXT4-fs warning (device sda3): ext4_end_bio:317: I/O error -5 writing to inode 6819258 (offset 0 size 4096 starting block 954763121030042024)
( /dev/sda3
আমার হোম ডিরেক্টরি।
lsblk /dev/sda NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 931.5G 0 disk ├─sda1 8:1 0 122.1G 0 part / ├─sda2 8:2 0 7.6G 0 part [SWAP] └─sda3 8:3 0 801.8G 0 part /home
কোনও প্রক্রিয়া কেন সীমা ছাড়িয়ে লিখতে চাইবে তা আসলে আমার বোধগম্যতার বাইরে। সিস্টেম আপডেটের পরেও যদি এটি অব্যাহত থাকে তবে সম্ভবত আমি এই ফোরামে একটি আলাদা প্রশ্ন জিজ্ঞাসা করতে চাই))
তারপর, থেকে এই উত্তর (আপনি চেক করতে পারেন এই গভীরভাবে জন্য), আমি মৃত্যুদন্ড কার্যকর,
sudo su -
> kern.log
> syslog
এখন, এই ফাইলগুলির শূন্য আকার রয়েছে। রিবুট করার আগে এবং পরে সিস্টেমটি ঠিক চলছে।
আমি এই ফাইলগুলি (অন্যদের সাথে) পরের কয়েক দিন দেখব এবং
তাদের লাইন থেকে বাইরে আচরণ করা উচিত তবে তাদের প্রতিবেদন করব ।
একটি চূড়ান্ত নোট হিসাবে, উভয় আপত্তিজনক ফাইল ( kern.log
এবং syslog
) ঘোরানো হবে, ফাইলগুলির grep
অভ্যন্তরীণ /etc/logrotate.d/
শো ( সহায়তা)
হিসাবে পরিদর্শন হিসাবে ।
আপডেট 2
লগ ফাইলগুলি আসলে ঘোরানো হয়। দেখে মনে হচ্ছে বড় বড় মাপগুলি একদিনেই অর্জিত হয়েছে।