Chú ý: Demo được thực hiện trên CentMinMod những VPS khác thì thay được dẫn File log nhé
Tham khảo thêm: Các dòng lệnh bỏ túi trong Linux
Lệnh tail để liệt kê các dòng cuối cùng trong file, ở đây ví dụ là 10 bạn có thể thay đổi thành 100, 1000… tùy theo muốn xem nhiều hay ít.
I. Đơn giản
Check log chung của Server
tail -10 /usr/local/nginx/logs/access.log tail -10 /usr/local/nginx/logs/error.log
Check log từng Domain:
tail -10 /home/nginx/domains/domainname.com/log/access.log tail -10 /home/nginx/domains/domainname.com/log/error.log
Kiểm tra trong /var/log
ls -lhrt /var/log
Check PHP-FPM
tail -10 /var/log/php-fpm/www-error.log /var/log/php-fpm/www-php.error.log
Kiểm tra log trong cơ sơ dữ liệu MySQL / MariaDB
tail -10 /var/log/mysqld.log
Kiểm tra log trong CSF firewall
tail -10 /var/log/lfd.log
Kiểm tra log trong Mail
tail -10 /var/log/maillog
For Cron job
tail -10 /var/log/cron
II. Nâng cao
Lấy tất cả các log trong 1 ngày
Ví dụ mình lấy các log trong ngày 5/12/2015
grep -w '05/Dec/2015' /home/nginx/domains/domain.com/log/access.log
Lấy log trong nhiều ngày bất kỳ
Lấy tất cả các log trong ngày 5/12/2015 và ngày 4/12/2015
grep -w '05/Dec/2015\|04/Dec/2015' /home/nginx/domains/domain.com/log/access.log
Lấy tất cả IP trong file log
grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' /home/nginx/domains/domain.com/log/access.log
Lấy log trong ngày được và chuyển hướng google
Chỉ lấy các dòng có chuổi là “05/Dec/2015” VÀ “google” (Được hiểu là Log của ngày 5/12/2015 và được chuyển hướng từ google)
grep -w '05/Dec/2015.*google' /home/nginx/domains/domain.com/log/access.log
Xuất ra log trong ngày và điều kiện “hoặc”
Chỉ lấy các dòng có chuổi là “05/Dec/2015” và “google” HOẶC có chuổi là “04/Dec/2015” và “google”
grep -w '05/Dec/2015.*google\|04/Dec/2015.*google' /home/nginx/domains/domain.com/log/access.log
Xuất ra tất cả IP với điều kiện
Xuất tất cả các IP được chuyển hướng từ Google được ghi nhận từ ngày 4 và 5/12/2015
grep -w '05/Dec/2015.*google\|04/Dec/2015.*google' /home/nginx/domains/domain.com/log/access.log | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}'
Xuất số kết nối của IP đến server trong ngày
Đếm xem số lần kết nối của một IP được chuyển hướng từ Google trong ngày 5/12/2015
grep -w '05/Dec/2015.*google' /home/nginx/domains/domain.com/log/access.log | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | soft | uniq -cd | sort -nr
Xuất ra tất cả các IP có >10 kết nối trong ngày
Kiểm tra tất cả các IP có > 10 kết nối trong ngày 5/12/2015
grep -w '05/Dec/2015' /home/nginx/domains/domain.com/log/access.log | grep -o '[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}' | sort | uniq -cd | sort -nr | grep -v '^ *[1-9] '
Xem toàn bộ chuyển hướng từ google trong 1 tháng
Xuất ra màn hình toàn bộ log được chuyển hướng từ google tháng 12/2015 nhưng không chứa bot.html
grep -w 'Dec/2015.*google.com' /home/nginx/domains/domain.com/log/access.log | grep -v 'bot.html'
Xem link có nhiều lượt truy cập nhất trong tháng
Link có nhiều lượt truy cập nhất từ google trong tháng 12/2015, không tính bot
grep -w 'Dec/2015.*google.com' /home/nginx/domains/domain.com/log/access.log | grep -v 'bot.html' | grep -oP '(?<=GET ).*/ ' | sort | uniq -cd | sort -nr | grep -v '^ *1 '