centos 100% đĩa đầy - Làm thế nào để loại bỏ các tệp nhật ký, lịch sử, vv?


8

mysqld sẽ không bắt đầu vì không gian đĩa đã đầy:

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

đang chạy 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 *trong /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

trong /dev/sda5, có tập tin trang web trong /var/www.

bởi vì đây là lần đầu tiên, tôi không biết nên xóa tập tin nào ngoài việc chuyển /var/wwwsang phân vùng khác

Và một điều nữa, cách đúng đắn để loại bỏ các tệp nhật ký, lịch sử, vv trong là /dev/sda5gì?

Câu trả lời:


2

Nhanh và bẩn: Di chuyển /var/wwwđến /home/www, sau đó tạo liên kết tượng trưng:

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

Lâu dài hơn: Có thể đặt thư mục /var/www/var/logthư mục của bạn vào các phân vùng chuyên dụng của riêng họ. Bạn có thể thu nhỏ /homevà sử dụng không gian được giải phóng để tạo các phân vùng phù hợp.


2
  1. tôi sẽ mv /var/log/*gz /var/log/*.0 /home/backup/var/log
  2. yum clean packages hoặc apt-get clean để xóa nội dung khỏi / var / cache
  3. Có di chuyển / var / www để ví dụ / nhà
  4. có lẽ loại bỏ phân vùng / var ..

FWIW: Tôi không thực sự thích sử dụng phân vùng khi không có sử dụng thực sự cho chúng. Nếu bạn muốn sử dụng chúng làm ranh giới hành chính, tốt hơn hết bạn nên có LVM / ZFS hoặc một số cách dễ dàng để mở rộng chúng ..
Erik Johansson

Tôi thực sự không thích sử dụng phân vùng ...
kopeklan

1

Sự cố là /var/libgì? Nếu nó giống như hệ thống của tôi, hầu hết số đó (giả sử 500 MB) sẽ bị chiếm bởi /var/lib/mysql?

Các con số khác đều trông khá bình thường và hợp lý, rất cảm động /var/lib/mysql/var/wwwlà giải pháp dài hạn thực tế duy nhất.

Để loại bỏ các file log cũ, được các bản ghi của bạn được luân chuyển, ví dụ như bạn có /var/log/messages, /var/log/messages.1, /var/log/messages.2.gz, vv, hoặc có thể /var/log/messages-20101221, /var/log/messages-20101220.gz, vv?

Cách rõ ràng để loại bỏ những thứ đó là theo độ tuổi, vd

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

Ngoài ra, hãy kiểm tra xem cài đặt logrotate của bạn /etc/logrotate.confcó đúng như những gì bạn muốn không. Tôi muốn nói rằng bạn không nên thay đổi chúng, vì chúng không phải là vấn đề chính của bạn, nhưng có lẽ bạn chỉ muốn giữ nhật ký của một tuần, trong trường hợp đó hãy thử một cái gì đó như thế này:

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

Sau đó, có các tệp cho mỗi dịch vụ, ví dụ: syslog, mysql, apache, v.v. để định cấu hình xoay vòng nhật ký cho từng dịch vụ. Trên hệ thống Debian và Red Hat, điều đó đã được thiết lập cho bạn.

Nếu bạn chưa có logrotate thì sẽ khó hơn một chút. Tôi sẽ xem xét việc sử dụng grep hoặc tail để lưu các mục gần đây sau đó xóa tệp và khởi động lại syslogd (ví dụ: service syslogd restarthoặc pkill -HUP syslogd.

Cuối cùng, một kịch bản tôi đã viết cho tình huống này là 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
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.