Việc xem file log là công việc thường làm của người quản trị server. Trong Linux, toàn bộ log file của server được lưu trong thư mục /var/log.

Để di chuyển đến thư mục này bạn dùng lệnh:

cd /var/log/

Dùng ls -l để liệt kê hết file trong thư mục này bạn sẽ thấy một số file log chính:

/var/log/auth.log: Lưu các log về xác thực

/var/log/boot.log : Log các hoạt động trong quá trình khởi động hệ thống

/var/log/cron: Log lưu các lịch hoạt động tự động

/var/log/dmesg : Giống log message bên dưới nhưng chủ yếu là log bộ đệm

/var/log/message: Log lưu thông tin chung của hệ thống

/var/log/httpd/: Thư mục chứa log của dịch vụ Apache

/var/log/maillog: Các log hoạt động mail trên máy chủ

/var/log/secure: Log bảo mật

/var/log/wtmp  : Ghi log đăng nhập

/var/log/yum.log: Các log của Yum

Nếu bạn cài thêm các phần mềm khác, sẽ có các file log với tên tương ứng ở đây.

Để xem file log chúng ta thường dùng lệnh tail hoặc less

more -f /var/log/secure
tail -n 30 /var/log/secure //xem 30 dòng đầu của log

Nguồn: Thủ thuật Việt Nam

Comment của bạn

Lưu ý: tất cả comment đều được kiểm duyệt cẩn thận! Nếu có code bạn hãy up lên pastebin.com rồi để lại link trong comment.

41 Comments

  1. tinhtiennet 23 comment

    Cho mình hỏi các file Log ngày càng phình to ra, mình xóa bớt hệ thống có tự sinh lại không ad? Có bị lỗi gì không?

    1. Việt Phương Moderator

      Bạn xóa xong thì tạo ra file mới tên tương tự và có owner:group tương tự file gốc. Để đơn giản, bạn xóa nội dung bên trong log là được

      1. tinhtiennet 23 comment

        Cảm ơn ad, chắc mình chọn phương án 1: Bạn xóa xong thì tạo ra file mới tên tương tự. Vì file log của mình lên tới hàng GB nên mở để xóa nội dung không được luôn, hic, thanks ad,…

        1. Việt Phương Moderator

          Bạn dùng lệnh trên SSH là được mà, chứ ai xóa thủ công. Ví dụ
          > access.log

    1. Việt Phương Moderator

      Bạn cần thông tin gì bên /var/log/message nhỉ? Thường chỉ có thông báo từ hệ thống thôi. Nên ít khi có log bên đó

  2. Thành 2 comment

    Cho mình hỏi mình cần xem log của mysql thì xem ở đâu ạ.

    Cảm ơn ad

    1. Việt Phương Moderator

      Bạn kiểm tra xem cấu hình MySQL quy định log ở đâu để check nhé
      Cấu hình MySQL thường là file /etc/my.cnf
      Vì mỗi hệ thống sẽ đặt Log ở một vị trí khác nhau. Thông thường thì là /var/log/mysql. Còn như HocVPS sẽ đặt trong /home/domain_chính/logs

  3. Tiến 7 comment

    2018/08/22 01:31:41 [error] 13663#13663: *3626 open() “/home/songkhoedep.us/public_html/50x.html” failed (2: No such file or directory), client: 89.216.113.17, server: songkhoedep.us, request: “GET / HTTP/1.0”, upstream: “fastcgi://127.0.0.1:9000”

    File log của em bị lỗi như vầy. Tất cả các website trên VPS của em đều không vào được, báo lỗi là 502 bad gateway. Lỗi này thì em xử lý sao vậy anh

    Em định xóa tất cả folder /home/songkhoedep.us/public_html/, vì website này em không còn dùng nữa. Không biết như vậy thì có fix được lỗi không anh ?

    1. Việt Phương Moderator

      1. Không dùng nữa thì bạn xóa đi
      2. Lỗi 502 nhiều vấn đề lắm, nhiều khi mình cần đọc log toàn bộ của Nginx và PHP-FPM, đặc biệt là log error của service và cũng như rà soát các vấn đề có thể. Vì lỗi 502 thường không chỉ được cụ thể do đâu

  4. thanh 1 comment

    Ad cho mình hỏi, Mình có một website làm bằng Joomla giao diện web thì vẫn vào được bình thường nhưng không thể đăng nhập quản trị được, mặc dù đúng tên đăng nhập và mật khẩu. Hỏi thì có người bảo do bản joomla version thấp. Vậy cách nâng cấp lên joomla phiên bản cao hơn thì như thế nào ạ?

    1. Việt Phương Moderator

      Bạn search GG thêm nhé, do khác biệt do ở phiên bản gốc và phiên bản bạn muốn nâng cấp lên nên không thể tư vấn cụ thể được

    1. Việt Phương Moderator

      access.log của Nginx nhé bạn. Bạn xem cấu hình Nginx của domain quy định nó ở đâu thì tìm chỗ đó

        1. Việt Phương Moderator

          Bạn đọc Nginx Conf của domain có quy định accesslog không? Ví dụ HocVPS là access_log /home/domain/logs/access.log;
          Nếu có thì có log, không có thì không có log

    1. Việt Phương Moderator

      Log theo cấu hình của service quy định, ví dụ bảo Nginx/PHP-FPM/MySQL ghi file log vào đâu thì sẽ tìm ở đó.
      Ví dụ, PHP-FPM có file php.ini và php-fpm.conf để cấu hình service. Nếu bạn tự thiết lập hệ thống thì tìm ở file cấu hình service. Còn nếu các hệ thống tự thiết lập thì xem họ note ở đâu.
      Lỗi bạn chắc ở URLRewrite Rule.

  5. Kien Phan 8 comment

    Hi admin,
    Khi mình xem log của vps thấy rất nhiều thông báo dạng:
    “Failed password for root from 61.177.172.14 port 14332 ssh2”
    trong khi port mình để mặc định là 22, nhưng trong thông báo bên trên là 14332 (và nhiều port khác nữa), vậy đó có phải là người khác đang cố gắng dò và đăng nhập vào vps của mình không?

    1. Việt Phương Moderator

      Uhm bạn. Brute Force Attack, dò port SSH rồi đăng nhập thử liên tục

      1. Kien Phan 8 comment

        Cảm ơn bạn đã trả lời giúp mình.
        Có cách nào để ngăn chặn tình trạng này không bạn? Giới hạn số lần đăng nhập sai, hay làm cách nào đó để họ ko tìm ra mình… Mình đã đọc bài thay đổi port nhưng không thấy nhắc đến phần giới hạn số lần đăng nhập sai.

        1. Việt Phương Moderator

          Trong bài viết Fail2Ban có hướng dẫn, áp dụng cho login trên port SSH 2222 và port Admin HocVPS. Các port khác đã được đóng nên bạn không cần lo lắng. Ví dụ port 14332 đã được đóng thì nó login hàng vạn lần qua port này cũng vậy mà. Bạn cũng có thể chặn truy cập từ IP đó luôn

          1. Kien Phan 8 comment

            Đã cài đặt thành công Fail2Ban cảm ơn bạn nhiều :))

      1. kieuqtoan 27 comment

        À, mình muốn xem log của cả MySQL ý, nhiều khi cần xem log của nó thì xem ở đâu được nhỉ, xem ở domain thì hình như chỉ database của domain ấy phải không bạn

  6. Thanh 1 comment

    Các log trong bài viết có thể xóa được không? có ảnh hưởng gì không?

  7. Đinh Văn Vũ 6 comment

    Chào bạn !! VPS của mình hay bị virus tân công , mình đã cài CFS Firewall, mình muốn tìm hiểu là làm sao để xem được địa chỉ IP nào đã upload file virus lên VPS của mình và làm thế nào để mình có thể khóa hết chỉ cho các IP mình cho phép mới up file lên VPS đc ??? Làm vậy thì các website trong VPS có bị ảnh hưởng ko ??

    1. Luân Trần Admin

      Vấn đề này rất khó, bạn cài CSF không ngăn được website bị hack đâu. Hãy check lại toàn bộ code. Không dùng plugin hay theme lậu không rõ nguồn gốc.
      Nếu bị hack thì toàn bộ site trong hệ thống sẽ bị lây lan nhé.

      1. Dinh Van Vu 6 comment

        Vậy có cách nào chặn IP chỉ chừa lại 1-2 IP truy cập tải file lên không bác ???

  8. Châu 11 comment

    Bạn ơi mình xem ở var/log
    Có mấy cái folder nginx với mysql nó chưa dung lượng log vô cùng kinh khủng, 150gb disk của mình mà chưa đc 1 tháng nó full nên lỗi web error database, có cách nào khắc phục hay tự động xoá ko bạn!

    1. Luân Trần Admin

      File log thì bạn có thể xóa đi. Ngoài ra bạn có thể tìm hiểu thêm về log rotation, tự động nén và xóa log cũ.

        1. Luân Trần Admin

          Hiện giờ thì chưa có, thời gian tới mình sẽ post bài giới thiệu sau.

  9. Canh Nguyen 4 comment

    Chào bạn
    Bạn ơi cho mình hỏi là khi mình xem file log thấy rất nhiều truy cập cố gắng đăng nhập vps của mình:
    vd:Failed password for root from 38.108.7.2 port 24934 ssh2
    Giờ có biện pháp nào hạn chế số lần đăng nhập thất bại không bạn.