Rumah Tutorial sistem LINUX Adakah anda tahu beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan?

Adakah anda tahu beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan?

Mar 09, 2024 am 09:49 AM
tugas yang dijadualkan crontab skrip python

Ringkasan beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan

Kemas kini: 9 Januari 2019 09:34:57 Penulis: Harapan di Padang

Artikel ini terutamanya meringkaskan dan memperkenalkan kepada anda beberapa sebab mengapa tugasan berjadual crontab tidak dilaksanakan Ia juga menyediakan penyelesaian kepada setiap dorongan yang mungkin Ia mempunyai rujukan dan nilai pembelajaran tertentu untuk rakan sekerja yang menghadapi masalah ini editor untuk belajar bersama

Mukadimah

Baru-baru ini, saya menghadapi beberapa masalah di tempat kerja Tugasan yang dijadualkan crontab tidak dilaksanakan Kemudian, apabila saya mencari dalam talian, saya mendapati bahawa Internet terutamanya menyebut 5 pencetus ini.

Servis 1crond belum dimulakan

crontab bukan fungsi kernel Linux, tetapi bergantung pada perkhidmatan crond Perkhidmatan ini boleh dimulakan atau dihentikan. Jika ia berhenti, ia akan menjadi sukar untuk melaksanakan sebarang tugas yang dijadualkan Penyelesaiannya adalah untuk membukanya:

crond
Salin selepas log masuk

atau

service crond start
Salin selepas log masuk

Jika ia menggesa bahawa arahan crond tidak wujud, ia mungkin telah dipadamkan bukan sahaja di bawah CentOS melalui arahan ini:

yum -y install crontabs
Salin selepas log masuk

2 Isu kebenaran

Contohnya: skrip tidak mempunyai kebenaran pelaksanaan x, penyelesaian:

Kurangkan kebenaran pelaksanaan, atau gunakan bashabc.sh untuk melaksanakan

Ada kemungkinan juga pengguna yang mempunyai tugas crontab tidak mempunyai kebenaran menulis untuk direktori tertentu, dan ia juga akan gagal

3 masalah laluan

Sesetengah arahan dilaksanakan seperti biasa dalam shell, tetapi sentiasa gagal apabila dilaksanakan dalam crontab. Mungkin sh yang digunakan oleh crontab tidak mengenali laluan dengan betul Contohnya: log masuk ke shell sebagai root dan laksanakan /root/test.sh

./test.sh
Salin selepas log masuk

Itu sahaja. Dan skrip ini tidak akan ditemui dalam crontab, contohnya, tulis sepenuhnya:

/root/test.sh
Salin selepas log masuk

4Masalah perbezaan masa

linux任务计划_linux 计划任务没执行_linux任务计划不生效Disebabkan perbezaan masa antara pelayan dan klien, masa crontab adalah berdasarkan masa pelayan.

Masalah jet lag memang menjengkelkan saya sendiri mengalami fenomena ini:

(1) Saya menyediakan skrip pemasaan dan menggunakan arahan tarikh untuk memerhati masa pelayan apabila ia mencapai masa pelaksanaan skrip dan mendapati ia tidak dilaksanakan

(2) Dan saya tetapkan skrip untuk dilaksanakan sekali setiap minit, dan tidak mengapa

Sial, adakah masa pelayan betul? Adakah saya perlu menambah zon waktu yang mana? Jadi saya cuba mengurangkan masa skrip sebanyak 10, 12, atau 8 jam, tetapi ia tidak berjaya.

然而很显著是时间不一致引起的不执行。

最后用如下两行解决了问题:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
service crond restart
Salin selepas log masuk

参考这篇文章:

5变量问题

有时侯命令中富含变量,但crontab执行时却没有,也会导致执行失败。

验证后,我的定时脚本test.sh不执行不是上述任何一种缘由,虽然我的脚本就一句话:

#!/bin/bash
echo 123 >> testFile
Salin selepas log masuk

我希望通过这些方法来测试我设置的定时脚本起作用了,于是我设置了该脚本每分钟执行一次,而且死活在脚本所在目录看不到这个文件linux 计划任务没执行,我自动执行

# sh test.sh
Salin selepas log masuk

却能看见在脚本所在目录能看见这个文件

我怀疑是crontab根本没有执行,于是我在crontab中直接添加了

*/1 * * * * echo 123 >> /home/denglinjie/testFile
Salin selepas log masuk

testFile文件生成了,说明crontab是执行了的,那看来是我脚本自身存在问题

最后发觉,原先是testFile这儿必须写完整的路径,我天真的以为testFile会生成在脚本所在的目录,所以改成了如下方式

#!/bin/bash
echo 123 >> /data/denglinjie/testFile
Salin selepas log masuk

之后就可以了。

linux任务计划_linux 计划任务没执行_linux任务计划不生效

虽然路径是个十分容易出问题的地方,假定在/home/denglinjie目录下有一个脚本文件test1.sh,之后在该目录下还有一个脚本文件test2.sh

在test1.sh中执行了test2.sh,并且用的是相对路径,即相对test1.sh所在的路径。

若果在crontab-e中编辑的时侯,执行的方法是

sh/home/denglinjie/test1.sh,当执行到调用shtest2.sh的时侯,系统会觉得是从crontab文件所在的目录去找test2.sharm linux,而且显然是找不到的,导致执行失败

最开始我想的方式是,我要将我写的待执行的脚本文件以及被调用的其他的脚本和crontab文件放在一个地方,这样就可以拉,并且失败了,可能是由于权限问题,我进不去/var/spool/cron目录。

所以另外一个解决方式就是在执行脚本之前先通过cd/home/denglinjie命令步入到脚本所在目录

------------------------------------------------------------------

近来又发觉一种新的导致crontab不执行的诱因

这儿我要执行的是python脚本,我python脚本的目录为:

/data/denglinjie/work/UpdateModuleSwitch
Salin selepas log masuk

一开始我的定时任务是这样写的:

linux任务计划_linux任务计划不生效_linux 计划任务没执行

0 * * * * cd /data/denglinjie/work/UpdateModuleSwitch;python update_switch.py
Salin selepas log masuk

发觉到了时间点竟然没有执行,其中update_switch.py的部份内容如下:

import pymongo
Salin selepas log masuk

就是我的脚本中引入了自己安装的pymongo,注意,这个pymongo是安装到了指定的python版本上的

不执行缘由:crontab定时任务执行的时侯,使用的python不是我的那种python,使用的这个python没有安装pymongo,致使import失败

解决办法,改成如下方式:

0 * * * * cd /data/denglinjie/work/UpdateModuleSwitch;/data/zhoumi/install_evn/bin/python update_switch.py
Salin selepas log masuk

指定运行使用的python,这个python早已安装绑定了pymongo,或则用如下方式:

0 * * * * export PATH=/data/zhoumi/install_evn/bin/:$PATH;cd /data/denglinjie/work/UpdateModuleSwitch;python update_switch.py
Salin selepas log masuk

由于我的这个python是安装在我自己的用户目录下linux 计划任务没执行,所以系统找不到这个python,所以只要将我的python也加入到系统PATH环境变量中就可以了

总结

以上就是这篇文章的全部内容了,希望本文的内容对你们的学习或则工作具有一定的参考学习价值,假如有疑惑你们可以留言交流,感谢你们对本站的支持。

Atas ialah kandungan terperinci Adakah anda tahu beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Adakah anda tahu beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan? Adakah anda tahu beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan? Mar 09, 2024 am 09:49 AM

Ringkasan beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan Masa kemas kini: 9 Januari 2019 09:34:57 Penulis: Harapan di medan ini terutamanya meringkaskan dan memperkenalkan kepada anda beberapa sebab mengapa tugas berjadual crontab tidak dilaksanakan setiap orang Penyelesaian diberikan untuk setiap pencetus yang mungkin, yang mempunyai rujukan dan nilai pembelajaran tertentu untuk rakan sekerja yang menghadapi masalah ini. Pelajar yang memerlukan boleh mengikuti editor untuk belajar bersama-sama: Saya telah menghadapi beberapa masalah di tempat kerja yang dijadualkan tugas tidak dilaksanakan Kemudian, apabila saya mencari di Internet, saya mendapati bahawa Internet terutamanya menyebut lima insentif ini: 1. Perkhidmatan crontab bukan fungsi kernel Linux, tetapi bergantung pada cron.

Meneroka Orange3: Membuka dunia baharu perlombongan data dan pembelajaran mesin! Meneroka Orange3: Membuka dunia baharu perlombongan data dan pembelajaran mesin! Mar 04, 2024 pm 08:16 PM

Orange3 ialah alat visualisasi data sumber terbuka dan pembelajaran mesin yang berkuasa Ia mempunyai pemprosesan data yang kaya, analisis dan fungsi pemodelan, menyediakan pengguna dengan penyelesaian perlombongan data dan pembelajaran mesin yang mudah dan pantas. Artikel ini akan memperkenalkan secara ringkas fungsi asas dan penggunaan Orange3, dan menggabungkannya dengan senario aplikasi sebenar dan kes kod Python untuk membantu pembaca menguasai kemahiran penggunaan Orange3 dengan lebih baik. Fungsi asas Orange3 termasuk pemuatan data, prapemprosesan data, pemilihan ciri, penubuhan dan penilaian model, dsb. Pengguna boleh menggunakan antara muka intuitif untuk menyeret dan melepaskan komponen untuk membina proses data dengan mudah. Pada masa yang sama, pemprosesan data dan tugas pemodelan yang lebih kompleks juga boleh diselesaikan melalui skrip Python. Di bawah ini kita akan melalui praktikal

Tutorial Lanjutan PyCharm: Gunakan PyInstaller untuk membungkus kod ke dalam format EXE Tutorial Lanjutan PyCharm: Gunakan PyInstaller untuk membungkus kod ke dalam format EXE Feb 20, 2024 am 09:34 AM

PyCharm ialah persekitaran pembangunan bersepadu Python yang berkuasa yang menyediakan pelbagai fungsi dan alatan untuk membantu pembangun meningkatkan kecekapan. Antaranya, PyInstaller ialah alat yang biasa digunakan yang boleh membungkus kod Python ke dalam fail boleh laku (format EXE) untuk memudahkan berjalan pada mesin tanpa persekitaran Python. Dalam artikel ini, kami akan memperkenalkan cara menggunakan PyInstaller dalam PyCharm untuk membungkus kod Python ke dalam format EXE, dan menyediakan khusus

Bagaimana untuk membaca data excel dalam pycharm Bagaimana untuk membaca data excel dalam pycharm Apr 03, 2024 pm 08:42 PM

Bagaimana untuk membaca data Excel menggunakan PyCharm? Langkah-langkahnya adalah seperti berikut: pasang perpustakaan openpyxl, muatkan buku kerja Excel dalam lembaran kerja;

Panduan Lengkap: Memastikan anda melihat versi Django dengan tepat Panduan Lengkap: Memastikan anda melihat versi Django dengan tepat Feb 19, 2024 pm 06:33 PM

Panduan Profesional: Cara menyemak versi Django dengan tepat, contoh kod khusus diperlukan Pengenalan: Django ialah rangka kerja Web Python yang sangat popular, dan versinya yang sentiasa dikemas kini sangat penting untuk pembangun. Menyemak versi Django adalah penting untuk memastikan anda menggunakan ciri terkini dan pembetulan pepijat. Artikel ini akan menerangkan cara menyemak versi Django dengan tepat dan memberikan contoh kod tertentu. 1. Gunakan baris arahan untuk menyemak versi Django Menggunakan baris arahan adalah cara yang paling mudah dan terpantas untuk menyemak Django.

Tutorial pemasangan dan konfigurasi kelalang: alat untuk membina aplikasi web Python dengan mudah Tutorial pemasangan dan konfigurasi kelalang: alat untuk membina aplikasi web Python dengan mudah Feb 20, 2024 pm 11:12 PM

Tutorial pemasangan dan konfigurasi kelalang: Alat untuk membina aplikasi Web Python dengan mudah, contoh kod khusus diperlukan Pengenalan: Dengan peningkatan populariti Python, pembangunan Web telah menjadi salah satu kemahiran yang diperlukan untuk pengaturcara Python. Untuk menjalankan pembangunan web dalam Python, kita perlu memilih rangka kerja web yang sesuai. Di antara banyak rangka kerja Web Python, Flask ialah rangka kerja yang ringkas, mudah digunakan dan fleksibel yang digemari oleh pembangun. Artikel ini akan memperkenalkan pemasangan rangka kerja Flask,

Bagaimana untuk mengulangi rentetan dalam python_python mengulangi tutorial rentetan Bagaimana untuk mengulangi rentetan dalam python_python mengulangi tutorial rentetan Apr 02, 2024 pm 03:58 PM

1. Mula-mula buka pycharm dan masukkan halaman utama pycharm. 2. Kemudian buat skrip python baru, klik kanan - klik baru - klik pythonfile. 3. Masukkan rentetan, kod: s="-". 4. Kemudian anda perlu mengulang simbol dalam rentetan sebanyak 20 kali, kod: s1=s*20 5. Masukkan kod output cetakan, kod: print(s1). 6. Akhir sekali jalankan skrip dan anda akan melihat nilai pulangan kami di bahagian bawah: - diulang 20 kali.

Apakah alat pertanyaan subdomain tapak web? Apakah alat pertanyaan subdomain tapak web? Mar 07, 2024 am 09:49 AM

Alat pertanyaan subdomain tapak web termasuk: 1. Whois Lookup: boleh menanyakan maklumat pendaftaran nama domain, termasuk nama subdomain 2. Sublist3r: boleh mengimbas nama subdomain nama domain secara automatik dengan bantuan enjin carian dan alat lain; . DNSdumpster: boleh menanyakan Maklumat seperti nama subdomain, alamat IP dan rekod DNS bagi nama domain 4. Fierce: Anda boleh menanyakan maklumat nama domain melalui pelayan DNS: 5. Nmap; ng; 7. Penggodaman Google.

See all articles