Tác vụ định kỳ (Crontab)
Trong quá trình vận hành website, dữ liệu không cần thiết như thông tin thành viên đã rời đi, thumbnail của ảnh đã xóa, thông báo cũ sẽ tích tụ. Thiết lập tác vụ định kỳ (Crontab) giúp dọn dẹp tự động để giữ dung lượng đĩa và hiệu năng.
Chỉ dành cho máy chủ riêng (có truy cập SSH). Với web hosting, bạn chỉ có thể đăng ký cùng lệnh nếu nhà cung cấp có chức năng cron.
Cú pháp chạy
php index.php 모듈명.스크립트명 [변수]Chạy bằng PHP CLI tại đường dẫn cài đặt. Không hỗ trợ cách gọi qua địa chỉ web (web cron).
Các script dọn dẹp có sẵn
| Lệnh | Việc thực hiện | Mốc mặc định |
|---|---|---|
file.cleanGarbageFiles | Dọn tệp đính kèm không gắn với bài viết | 10 ngày |
file.cleanThumbnails | Xóa thumbnail cũ | 90 ngày |
file.cleanEmptyDirs | Xóa thư mục rỗng | - |
module.cleanMiscLogs | Xóa nhật ký cũ | 30 ngày |
ncenterlite.cleanNotifications | Xóa thông báo cũ | - |
Ví dụ đăng ký crontab
Chỉnh sửa bằng crontab -e. Để tránh quá tải, nên chạy lần lượt cách nhau vài phút vào khung giờ rạng sáng.
5 5 * * * cd /var/www/mysite && php index.php file.cleanGarbageFiles
10 5 * * * cd /var/www/mysite && php index.php file.cleanThumbnails
15 5 * * * cd /var/www/mysite && php index.php module.cleanMiscLogs
20 5 * * * cd /var/www/mysite && php index.php ncenterlite.cleanNotificationsLưu ý
- Hãy chạy bằng cùng tài khoản với máy chủ web (www-data...). Nếu đăng ký vào crontab của root, quyền sở hữu tệp được tạo ra sẽ bị lệch và web không truy cập được. Bạn có thể đăng ký cho tài khoản đó bằng
crontab -e -u www-data. - Sau khi đăng ký, hãy kiểm tra hoạt động trong
files/cron.log. - Hướng dẫn này dành cho máy chủ Linux. Với máy chủ Windows, hãy đăng ký cùng lệnh bằng Task Scheduler.