সেন্টোস 100% ডিস্ক পূর্ণ - লগ ফাইল, ইতিহাস ইত্যাদি কীভাবে সরিয়ে ফেলবেন?


8

ডিস্কের স্থান পূর্ণ থাকার কারণে mysqld শুরু হবে না:

101221 14:06:50 [ERROR] /usr/libexec/mysqld: Error writing file '/var/run/mysqld/mysqld.pid' (Errcode: 28)
101221 14:06:50 [ERROR] Can't start server: can't create PID file: No space left on device

চলমান df -h:

Filesystem            Size  Used Avail Use% Mounted on
/dev/sda2              16G  3.2G   12G  23% /
/dev/sda5             4.8G  4.6G     0 100% /var
/dev/sda3             430G  855M  407G   1% /home
/dev/sda1              76M   24M   49M  33% /boot
tmpfs                 956M     0  956M   0% /dev/shm

du -sh *ইন /var:

12K     account
56M     cache
24K     db
32K     empty
8.0K    games
1.5G    lib
8.0K    local
32K     lock
221M    log
16K     lost+found
0       mail
24K     named
8.0K    nis
8.0K    opt
8.0K    preserve
8.0K    racoon
292K    run
70M     spool
8.0K    tmp
76K     webmin
2.6G    www
20K     yp

ইন /dev/sda5, ওয়েবসাইট ফাইল আছে /var/www

কারণ এটি প্রথমবারের মতো, কোন /var/wwwপার্টিশন অন্য পার্টিশনে যাওয়ার চেয়ে অপসারণ করার আমার কোনও ধারণা নেই

এবং আরও একটি, লগ ফাইল, ইতিহাস, ইত্যাদি অপসারণ করার সঠিক উপায় /dev/sda5কী?

উত্তর:


2

দ্রুত এবং নোংরা: আপনার এখান /var/wwwথেকে সরান /home/www, তারপরে একটি সিমিলিংক তৈরি করুন:

rsync -a /var/www /home &&
rm -r /var/www &&
ln -s /home/www /var/www

দীর্ঘ মেয়াদী: সম্ভবত আপনার /var/wwwএবং /var/logডিরেক্টরিগুলি তাদের নিজস্ব উত্সর্গীকৃত পার্টিশনে রাখুন। আপনি যথাযথ /homeপার্টিশন তৈরি করতে সম্ভবত সঙ্কুচিত হয়ে এবং ফাঁকা স্থানটি ব্যবহার করতে পারেন।


2
  1. আমি করতাম mv /var/log/*gz /var/log/*.0 /home/backup/var/log
  2. yum clean packages অথবা / var / ক্যাশে থেকে স্টাফগুলি সরাতে প্রস্তুত থাকুন
  3. হ্যাঁ / var / www এ / home এ যান
  4. সম্ভবত / var পার্টিশনটি মুছে ফেলুন ..

এফডাব্লুআইডাব্লু: তাদের পক্ষে সত্যিকারের ব্যবহার না থাকলে আমি পার্টিশনটি ব্যবহার করতে পছন্দ করি না। আপনি যদি এগুলি প্রশাসনিক সীমানা হিসাবে ব্যবহার করতে চান তবে আপনার কাছে LVM / জেডএফএস বা তাদের প্রসারিত করার জন্য কোনও সহজ উপায় থাকতে হবে ..
এরিক জোহানসন

আমি খুব বেশি পার্টিশন ব্যবহার করতে পছন্দ করি না ...
kopeklan

1

ব্রেকডাউন কি /var/lib? যদি এটি আমার সিস্টেমের মতো হয় তবে বেশিরভাগটি (500 এমবি বলুন) গ্রহণ করে /var/lib/mysql?

অন্যান্য নম্বরগুলি দেখতে বেশ স্বাভাবিক এবং যুক্তিসঙ্গত লাগে, তাই চলন্ত /var/lib/mysqlএবং /var/wwwএকমাত্র বাস্তবসম্মত দীর্ঘমেয়াদী সমাধান।

পুরোনো লগ ফাইলের সরানোর জন্য, আপনার লগ আবর্তিত হচ্ছে, যেমন আপনার আছে কি /var/log/messages, /var/log/messages.1, /var/log/messages.2.gz, ইত্যাদি, হয়তো বা /var/log/messages-20101221, /var/log/messages-20101220.gz, ইত্যাদি?

এগুলি সরানোর সুস্পষ্ট উপায় হ'ল বয়স অনুসারে by

# find /var/log -type f -mtime +14 -print
# find /var/log -type f -mtime +14 -exec rm '{}' \;

এছাড়াও, আপনার লোগ্রোটেট সেটিংসের মধ্যে /etc/logrotate.confযা চান তা যাচাই করে দেখুন । আমি বলব যে এগুলি আপনার প্রধান সমস্যা না হওয়ায় আপনার এগুলি পরিবর্তন করা উচিত নয় তবে সম্ভবত আপনি কেবল এক সপ্তাহের লগ রাখতে চান, সেক্ষেত্রে এই জাতীয় কিছু চেষ্টা করুন:

daily
rotate 7
create
compress
include /etc/logrotate.d

তারপরে প্রতিটি সেবার জন্য ফাইল রয়েছে যেমন, সিসলগ, মাইএসকিএল, অ্যাপাচি, ইত্যাদি যার যার জন্য লগ রোটেশন কনফিগার করতে। ডেবিয়ান এবং রেড হ্যাট সিস্টেমে এটি আপনার জন্য ইতিমধ্যে সেট আপ করা উচিত।

আপনার যদি ইতিমধ্যে লোগ্রোটেট না থাকে তবে এটি কিছুটা শক্ত। আমি সাম্প্রতিক এন্ট্রিগুলি সেভ করার জন্য গ্রেপ বা লেজ ব্যবহার করে ফাইলটি মুছে ফেলা এবং সিসলগড পুনরায় চালু করার চেষ্টা করব (যেমন service syslogd restartবা pkill -HUP syslogd

অবশেষে, আমি কেবল এই পরিস্থিতির জন্য লিখেছিলাম একটি স্ক্রিপ্ট diskuse

# test -d ~/bin || mkdir ~/bin
# svn cat http://svn.mikelward.com/svn/scripts/diskuse > ~/bin/diskuse
# chmod +x ~/bin/diskuse
# ~/bin/diskuse -A /var > ~/biggest-files-in-var.txt
# head ~/biggest-files-in-var.txt
# ~/bin/diskuse -T -A /var > ~/biggest-dirs-in-var.txt
# head ~/biggest-dirs-in-var.txt
# ~/bin/diskuse -a 1d /var > ~/biggest-files-in-var-that-changed-today.txt
# head ~/biggest-files-in-var-that-changed-today.txt
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.