Score:0

ปัญหาเกี่ยวกับการทำงานของ CRON บน Ubuntu 20.04 ด้วย PHP 7.4 FPM

ธง cn

ฉันมีปัญหาในการตั้งค่างาน CRON ต่อไปนี้อย่างถูกต้องเพื่อสำรองข้อมูลอัตโนมัติบนเว็บไซต์ของลูกค้า

ไซต์นี้ใช้ Joomla และฉันใช้ Akeeba Backup เพื่อจัดการการสำรองข้อมูล คำแนะนำสำหรับงาน CRON แบบบรรทัดคำสั่งมีดังนี้:

ใช้คำสั่งต่อไปนี้ในอินเทอร์เฟซ CRON ของโฮสต์ของคุณ: /path/to/php /var/www/domain.com/cli/akeeba-backup.php

อย่าลืมแทนที่ /path/to/php ด้วยเส้นทางจริงไปยังไฟล์ปฏิบัติการ PHP CLI (Command Line Interface) ของโฮสต์ อย่าลืมว่าคุณต้องใช้ไฟล์ปฏิบัติการ PHP CLI; โปรแกรมปฏิบัติการ PHP CGI (Common Gateway Interface) จะไม่ทำงานกับสคริปต์ CRON ของเรา หากไม่แน่ใจว่าหมายความว่าอย่างไร โปรดปรึกษาโฮสต์ของคุณ พวกเขาเป็นคนเดียวที่สามารถให้ข้อมูลนี้ได้

domain.com ใช้เป็นตัวอย่าง

ฉันติดตั้ง CRON และใช้งานบน Ubuntu 20.04 แล้ว

รหัสต่อไปนี้อยู่ใน crontab -e

0 3 * * * /usr/bin/php7.4 /var/www/domain.com/cli/akeeba-backup.php --profile=1 --description="การสำรองข้อมูลอัตโนมัติเต็มรูปแบบ"

ไซต์กำลังเรียกใช้ PHP 7.4 โดยติดตั้ง FPM

เมื่อฉันวิ่ง ซึ่ง php.ini ต่อไปนี้จะถูกส่งกลับ: /usr/bin/php

เมื่อฉันวิ่ง ls -l /usr/bin/php.ini ต่อไปนี้จะถูกส่งกลับ: lrwxrwxrwx 1 รูทรูท 21 ส.ค. 31 18:09 /usr/bin/php -> /etc/alternatives/php

เมื่อฉันวิ่ง ls -l /etc/ทางเลือก/php.ini ต่อไปนี้จะถูกส่งกลับ: lrwxrwxrwx 1 รูทรูท 15 ส.ค. 31 18:53 /etc/alternatives/php -> /usr/bin/php8.0

เนื่องจากสิ่งนี้แสดงเวอร์ชัน 8.0 แทนที่จะเป็น 7.4 ซึ่งไซต์กำลังใช้ นี่หมายความว่างาน CRON ควรใช้เวอร์ชัน 8 แทน

เอาต์พุตบันทึกตัวอย่างจาก /var/log/syslog

1 ต.ค. 11:39:01 น. โดเมน CRON[38538]: (root) CMD ( [ -x /usr/lib/php/sessionclean ] && if [ ! -d /run/systemd/system ]; จากนั้น /usr/lib/ php/sessionclean; fi)

ความช่วยเหลือใด ๆ ที่ชื่นชมอย่างมาก

Score:0
ธง it

งานวิ่งผ่าน ครอน ไม่ได้ทำงานในสภาพแวดล้อมรันไทม์เดียวกันกับที่คุณมีบนเดสก์ท็อป ไม่มีของคุณ เส้นทาง การเปลี่ยนแปลงหรือการตั้งค่าตัวแปรสภาพแวดล้อมอื่นๆ จาก ~/.bashrc จะถูกเผยแพร่ไปยังคุณโดยอัตโนมัติ ครอน งาน. ตัวอย่างเช่นไม่มี $จอแสดงผลดังนั้นโปรแกรม GUI จึงต้องการการดูแลเป็นพิเศษ (อ่าน ผู้ชาย xhost).

หนึ่งสามารถตั้งค่าตัวแปรสภาพแวดล้อมสำหรับทุกคน ครอน งานใน crontab ไฟล์ อ่าน ผู้ชาย 5 crontab.

ดูผลลัพธ์ของ echo "=== id ===;id;echo "=== ชุด ==";set;echo "=== env ==";env | sort;echo "=== นามแฝง ===";นามแฝง ในแต่ละสภาพแวดล้อมของคุณ

โดย "แต่ละคน" ฉันหมายถึง ครอน และเดสก์ท็อป คุณสามารถออกไปได้ ชุด และ "เทอร์มินัลที่ไม่ใช่ GUI" ในภายหลัง หากคุณสงสัย

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา