Điểm:-1

WP-CLI không chạy từ cronjob

lá cờ cn

Tôi có một tập lệnh bash đang truy xuất thông tin từ cơ sở dữ liệu của mình, dựa trên thông tin mà nó nhận được, tạo một số thư mục chứa các tệp WP trên mỗi tệp và sau đó thực hiện cài đặt. Tập lệnh hoạt động hoàn hảo khi tôi gọi nó theo cách thủ công, tuy nhiên, WP CLI không hoạt động khi được gọi từ Cronjob ubuntu của tôi

Đây là kịch bản bash:

#!/bin/bash 

set -f # vô hiệu hóa toàn cầu
IFS=$'\n' # đặt dấu tách trường thành NL (chỉ)



arr=($(sudo mysql -u root -h localhost -e "SỬ DỤNG mysite; CHỌN * TỪ các trang web WHERE status = 'pending'" | awk 'NR>1'))



cho tôi trong "${arr[@]}"
làm
siteid=$(echo $i | awk '{print $1}')
instance=$(echo $i | awk '{print $2}')
chủ sở hữu=$(echo $i | awk '{print $3}')
status=$(echo $i | awk '{print $4}')
tạm thời=$(echo $i | awk '{print $5}')
url=$(echo $i | awk '{print $6}')
dbname=$(echo $i | awk '{print $7}')
dbuser=$(echo $i | awk '{print $8}')
dbpass=$(echo $i | awk '{print $9}')
dbprefix=$(echo $i | awk '{print $10}')
title=$(echo $i | awk '{print $11}')
admin_user=$(echo $i | awk '{print $12}')
admin_password=$(echo $i | awk '{print $13}')
admin_email=$(echo $i | awk '{print $14}')

sudo mysql -u root -h localhost -e "TẠO cơ sở dữ liệu $url; CẤP tất cả các đặc quyền trên $url.* cho $dbuser@'localhost' được xác định bởi '$dbpass'"

Sudo cp -r /var/www/mysite.com/wordpressfiles /var/www/mysite.com/$url

Sudo chown iosef:iosef -R /var/www/mysite.com/$url
sudo find /var/www/mysite.com/$url -type d -exec chmod 777 {} \;
sudo find /var/www/mysite.com/$url -type f -exec chmod 777 {} \;
sudo find /var/www/mysite.com/$url/wp-content/ -type d -exec chmod 777 {} \;
sudo find /var/www/mysite.com/$url/wp-content/ -type f -exec chmod 777 {} \;


cd /var/www/mysite.com/$url && /usr/local/bin/wp cấu hình lõi --dbname=$url --dbuser=$dbuser --dbpass=$dbpass --dbprefix=$dbprefix;

cd /var/www/mysite.com/$url && /usr/local/bin/wp cài đặt lõi --url=www.mysite.com/$url --title=$title --admin_user=$admin_user --admin_password =$admin_password --admin_email=$admin_email;


xong

Và đây là cronjob (được chạy với quyền root)

* * * * * /bin/bash /home/iosef/createinstanceinfolder.sh >/dev/null 2>&1

Bất kỳ ý tưởng?

vautee avatar
lá cờ kr
Có bất kỳ đầu ra lỗi nào từ công việc định kỳ của bạn trong/var/log/syslog không? Có thể xóa phần >/dev/null 2>&1 để bạn sẽ thấy bất kỳ lỗi nào xuất hiện. Thêm chúng vào câu hỏi của bạn.
user9517 avatar
lá cờ cn
Bản sao gần như chắc chắn sẽ giúp bạn giải quyết vấn đề của mình, Nếu không, nó sẽ giúp bạn thu thập thông tin giúp mọi người giúp bạn.
lá cờ cn
Bây giờ tôi đang gặp lỗi, nói như sau: Error: YIKES! Có vẻ như bạn đang chạy cái này với quyền root. Bạn có thể muốn chạy cái này với tư cách là người dùng mà bản cài đặt WordPress của bạn tồn tại. Nếu bạn THỰC SỰ muốn chạy cái này với quyền root, chúng tôi sẽ không ngăn bạn, nhưng hãy nhớ rằng bất kỳ mã nào trên trang web này sau đó sẽ có toàn quyền kiểm soát máy chủ của bạn, khiến nó trở nên khá NGUY HIỂM.
lá cờ cn
Nếu bạn muốn tiếp tục với quyền root, vui lòng chạy lại phần này, thêm cờ này: --allow-root Nếu bạn muốn chạy nó với tư cách là người dùng của trang web này, bạn có thể chạy phần sau để trở thành người dùng tương ứng: sudo -u NGƯỜI DÙNG -i -- wp
Điểm:0
lá cờ cn

user9517 cung cấp câu trả lời: Điều này có trả lời câu hỏi của bạn không? Tại sao crontab của tôi không hoạt động và làm cách nào để khắc phục sự cố? â

Đă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.