Rumah > Operasi dan penyelenggaraan > Docker > Bagaimana buruh pelabuhan menyelesaikan masalah yang crontab tidak berkuat kuasa

Bagaimana buruh pelabuhan menyelesaikan masalah yang crontab tidak berkuat kuasa

WBOY
Lepaskan: 2022-08-16 18:18:36
asal
7874 orang telah melayarinya

Penyelesaian: 1. Semak sama ada "/etc/init.d/crond status" dalam bekas berada dalam status berjalan; 2. Ubah suai fail "/etc/pam.d/crond" dan tukar " diperlukan" "Tukar kepada "cukup"; 3. Gunakan "/etc/init.d/crond restart" untuk memulakan semula perkhidmatan crond.

Bagaimana buruh pelabuhan menyelesaikan masalah yang crontab tidak berkuat kuasa

Persekitaran pengendalian tutorial ini: sistem linux7.3, docker versi 19.03, komputer Dell G3.

Cara menyelesaikan masalah crontab tidak berkuat kuasa dalam docker

Imej centos digunakan secara lalai dalam docker, dan crond tidak dipasang dalam imej Selepas pemasangan yang berjaya melalui yum, crontab tidak berkuat kuasa.

1 Mula-mula semak sama ada /etc/init.d/crond status dalam bekas berada dalam keadaan berjalan.

Jika penyelesaian tidak dapat diselesaikan melalui langkah pertama, sila rujuk kaedah berikut:

2 Ubah suai fail /etc/pam.d/crond, tukar yang diperlukan kepada mencukupi, dan kemudian mulakan semula crond Perkhidmatan: /etc/init.d/crond restart

Bagaimana buruh pelabuhan menyelesaikan masalah yang crontab tidak berkuat kuasa

Nota: Masalah ini nampaknya tidak wujud dalam imej asas centos7.

Perluaskan pengetahuan

Penyelesaian terawal

1. Dalam mesin hos

       1 3  * * * root  cd /data/wwwroot/xxx && docker-compose exec app php think xxx >> /var/log/crontab_xxx.log
Salin selepas log masuk

docker -compose exec app php think xxx telah tidak berjaya dilaksanakan

2. Kemudian pasang crontab dalam bekas, tetapi pelaksanaan masih gagal. Semak bahawa crontab juga dimulakan. /etc/init.d/cron status

3. Pasang rsyslog, apt-get install rsyslog, perkhidmatan rsyslog start

Lihat /var/log/syslog

Dec 25 09:07:07 1a8e4fd5c766 crontab[15120]: (root) BEGIN EDIT (root)
Dec 25 09:07:34 1a8e4fd5c766 crontab[15120]: (root) REPLACE (root)
Dec 25 09:07:34 1a8e4fd5c766 crontab[15120]: (root) END EDIT (root)
Dec 25 09:08:01 1a8e4fd5c766 cron[15100]: (root) RELOAD (crontabs/root)
Dec 25 09:08:01 1a8e4fd5c766 CRON[15133]: Cannot make/remove an entry for the sp
Salin selepas log masuk

4. Ubah suai /etc/pam.d/cron

Sesi komen keluar diperlukan pam_loginuid.so

5. Mulakan semula cron dan jalankan dengan jayanya

Juga, tambah Tambah baris ini ke fail docker

RUN sed -i '/session    required   pam_loginuid.so/c\#session    required   pam_loginuid.so' /etc/pam.d/crond
Salin selepas log masuk

Terdapat juga perangkap dalam pelaksanaan crontab Tiada masalah dalam melaksanakan skrip secara manual kerana pembolehubah persekitaran dibaca dan PHP perlu menulis laluan mutlak

 /usr/local/bin/php think xxx
Salin selepas log masuk

Pembelajaran yang disyorkan: "tutorial video buruh pelabuhan"

Atas ialah kandungan terperinci Bagaimana buruh pelabuhan menyelesaikan masalah yang crontab tidak berkuat kuasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan