Điểm:0

Sự cố khi thực thi công việc CRON trên Ubuntu 20.04 với PHP 7.4 FPM

lá cờ cn

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.

Điểm:0
lá cờ it

Công việc chạy qua cron không chạy trong cùng một môi trường thời gian chạy mà bạn có trên máy tính để bàn của mình. Không ai trong số bạn CON ĐƯỜNG thay đổi hoặc cài đặt biến môi trường khác từ ~/.bashrc được tự động lan truyền đến bạn cron Công việc. Ví dụ, không có $HIỂN THỊ, vì vậy các chương trình GUI cần được xử lý đặc biệt (đọc người đàn ông xhost).

Người ta có thể đặt các biến môi trường cho tất cả mọi người cron công việc trong crontab tập tin Đọc người đàn ông 5 crontab.

Nhìn vào kết quả của echo "=== id ==="; id;echo "=== set ==="; set; echo "=== env ==="; env | sort;echo "=== bí danh ==="; bí danh trong mỗi môi trường của bạn.

Ý tôi là "mỗi" cron và Máy tính để bàn, bạn có thể rời khỏi lô hàng và "thiết bị đầu cuối không phải GUI" để xem sau, nếu bạn tò mò.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.