Tôi đang gặp sự cố khi thiết lập đúng tác vụ CRON sau đây để tự động sao lưu trên trang web của khách hàng của mình.
Trang web dựa trên Joomla và tôi đang sử dụng Akeeba Backup để xử lý các bản sao lưu. Các đề xuất cho các công việc CRON dòng lệnh như sau:
Sử dụng lệnh sau trong giao diện CRON của máy chủ lưu trữ của bạn: /path/to/php /var/www/domain.com/cli/akeeba-backup.php
Hãy nhớ thay thế /path/to/php bằng đường dẫn thực tới tệp thực thi PHP CLI (Giao diện dòng lệnh) của máy chủ lưu trữ của bạn. Hãy nhớ rằng bạn phải sử dụng tệp thực thi PHP CLI; tệp thực thi PHP CGI (Giao diện cổng chung) sẽ không hoạt động với tập lệnh CRON của chúng tôi. Nếu không chắc điều này có nghĩa là gì, vui lòng tham khảo ý kiến chủ nhà của bạn. Họ là những người duy nhất có thể cung cấp thông tin này.
domain.com được sử dụng làm ví dụ
Tôi đã cài đặt và chạy CRON trên Ubuntu 20.04.
Đoạn mã sau nằm trong crontab -e
0 3 * * * /usr/bin/php7.4 /var/www/domain.com/cli/akeeba-backup.php --profile=1 --description="Sao lưu tự động hoàn toàn"
Trang web đang chạy PHP 7.4 với cài đặt FPM.
Khi tôi chạy php nào
sau đây được trả lại: /usr/bin/php
Khi tôi chạy ls -l /usr/bin/php
sau đây được trả lại: lrwxrwxrwx 1 root root 21 ngày 31 tháng 8 18:09 /usr/bin/php -> /etc/alternatives/php
Khi tôi chạy ls -l /etc/alternatives/php
sau đây được trả lại: lrwxrwxrwx 1 root root 15 tháng 8 31 18:53 /etc/alternatives/php -> /usr/bin/php8.0
Vì điều này hiển thị phiên bản 8.0 thay vì 7.4 mà trang web đang sử dụng, điều này có nghĩa là công việc CRON nên sử dụng phiên bản 8 thay thế.
Đầu ra nhật ký mẫu từ /var/log/syslog
Ngày 1 tháng 10 11:39:01 miền CRON[38538]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; then /usr/lib/ php/sessionclean; fi)
Bất kỳ trợ giúp nào cũng được đánh giá rất cao.