crontab のスケジュールされたタスクが実行されない理由をご存知ですか?
crontab スケジュールされたタスクが実行されない理由の概要
更新日時:2019年1月9日 09:34:57作成者:Hope on the Field
この記事は主に、crontab のスケジュールされたタスクが実行されない理由を要約して紹介します。また、考えられるすべての誘発に対する解決策も提供します。この問題に遭遇した同僚にとって、一定の参考および学習価値があります。必要な学生は、お読みください。編集者をフォローして一緒に学びましょう
###序文###最近、仕事でいくつかの問題が発生しました。crontab でスケジュールされたタスクが実行されませんでした。後でインターネットで検索したところ、インターネットでは主に次の 5 つのインセンティブについて言及されていることがわかりました。
1crond サービスが開始されていませんcrontab は Linux カーネルの機能ではありませんが、crond サービスに依存しています。このサービスは開始または停止できます。停止すると、スケジュールされたタスクを実行することが困難になります。解決策は、これを開くことです:
リーリー
###または###
リーリーcrond コマンドが存在しないというメッセージが表示された場合は、削除されている可能性があります。次のコマンドを使用して CentOS に再インストールできます:
リーリー
2権限の問題
例: スクリプトには x の実行権限がありません。解決策:
実行権限を減らすか、bashabc.sh を使用して
を実行してください
crontab タスクが属するユーザーに特定のディレクトリへの書き込み権限がない場合、タスクは失敗する可能性もあります。3 パスの問題
一部のコマンドはシェルでは正常に実行されますが、crontab で実行すると必ず失敗します。 crontab で使用される sh がパスを正しく認識していない可能性があります。例: root としてシェルにログインし、/root/test.sh を実行した後、単に
を実行してください。
リーリー### それでおしまい。そして、このスクリプトは crontab には見つかりません。たとえば、完全に記述します:
リーリー
4 時差の問題
サーバーとクライアントの間には時差があるため、crontab 時間はサーバー時間に基づいています。
時差ぼけは本当に悩ましいもので、私も経験したことがありますが、その現象は次のとおりです。
(1) スケジュールされたスクリプトを設定し、date コマンドを使用してスクリプトの実行時間に達したサーバー時間を観察しましたが、実行されていないことがわかりました
くそー、サーバー時間は正しいですか?どのタイムゾーンを追加する必要がありますか?そこで、スクリプト時間を 10 時間、12 時間、または 8 時間短縮しようとしましたが、うまくいきませんでした。
然而很显著是时间不一致引起的不执行。
最后用如下两行解决了问题:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime service crond restart
参考这篇文章:
5变量问题
有时侯命令中富含变量,但crontab执行时却没有,也会导致执行失败。
验证后,我的定时脚本test.sh不执行不是上述任何一种缘由,虽然我的脚本就一句话:
#!/bin/bash echo 123 >> testFile
我希望通过这些方法来测试我设置的定时脚本起作用了,于是我设置了该脚本每分钟执行一次,而且死活在脚本所在目录看不到这个文件linux 计划任务没执行,我自动执行
# sh test.sh
却能看见在脚本所在目录能看见这个文件
我怀疑是crontab根本没有执行,于是我在crontab中直接添加了
*/1 * * * * echo 123 >> /home/denglinjie/testFile
testFile文件生成了,说明crontab是执行了的,那看来是我脚本自身存在问题
最后发觉,原先是testFile这儿必须写完整的路径,我天真的以为testFile会生成在脚本所在的目录,所以改成了如下方式
#!/bin/bash echo 123 >> /data/denglinjie/testFile
之后就可以了。
虽然路径是个十分容易出问题的地方,假定在/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
一开始我的定时任务是这样写的:
0 * * * * cd /data/denglinjie/work/UpdateModuleSwitch;python update_switch.py
发觉到了时间点竟然没有执行,其中update_switch.py的部份内容如下:
import pymongo
就是我的脚本中引入了自己安装的pymongo,注意,这个pymongo是安装到了指定的python版本上的
不执行缘由:crontab定时任务执行的时侯,使用的python不是我的那种python,使用的这个python没有安装pymongo,致使import失败
解决办法,改成如下方式:
0 * * * * cd /data/denglinjie/work/UpdateModuleSwitch;/data/zhoumi/install_evn/bin/python update_switch.py
指定运行使用的python,这个python早已安装绑定了pymongo,或则用如下方式:
0 * * * * export PATH=/data/zhoumi/install_evn/bin/:$PATH;cd /data/denglinjie/work/UpdateModuleSwitch;python update_switch.py
由于我的这个python是安装在我自己的用户目录下linux 计划任务没执行,所以系统找不到这个python,所以只要将我的python也加入到系统PATH环境变量中就可以了
总结
以上就是这篇文章的全部内容了,希望本文的内容对你们的学习或则工作具有一定的参考学习价值,假如有疑惑你们可以留言交流,感谢你们对本站的支持。
以上がcrontab のスケジュールされたタスクが実行されない理由をご存知ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









crontab のスケジュールされたタスクが実行されない原因まとめ 更新日時: 2019年1月9日 09:34:57 作成者: Hope on the field. この記事では主に、crontab のスケジュールされたタスクが実行されない原因をいくつかまとめて紹介します。考えられるトリガーごとに解決策が示されており、この問題に遭遇した同僚にとって一定の参照と学習価値があります。必要な学生はエディターに従って一緒に学習できます。序文: 最近仕事でいくつかの問題に遭遇しました。crontab のスケジュール設定タスクが実行されませんでした後、インターネットで検索したところ、インターネットでは主に次の 5 つのインセンティブについて言及されていることがわかりました: 1. crond サービスが開始されていない Crontab は Linux カーネルの機能ではなく、cron に依存しています。

Orange3 は、強力なオープンソース データ視覚化および機械学習ツールであり、豊富なデータ処理、分析、モデリング機能を備えており、ユーザーにシンプルかつ高速なデータ マイニングおよび機械学習ソリューションを提供します。この記事では、Orange3 の基本的な機能と使用法を簡単に紹介し、実際のアプリケーション シナリオや Python コードのケースと組み合わせて、読者が Orange3 の使用スキルをよりよく習得できるようにします。 Orange3 の基本機能には、データのロード、データの前処理、特徴の選択、モデルの確立と評価などが含まれます。ユーザーは直感的なインターフェイスを使用してコンポーネントをドラッグ アンド ドロップし、データ プロセスを簡単に構築できます。同時に、より複雑なデータ処理やモデリングのタスクも Python スクリプトを通じて実行できます。以下、実践的な内容を見ていきます

PyCharm は、開発者の効率向上に役立つ豊富な機能とツールを提供する強力な Python 統合開発環境です。その中でも、PyInstaller は、Python コードを実行可能ファイル (EXE 形式) にパッケージ化して、Python 環境のないマシンでの実行を容易にする、一般的に使用されるツールです。この記事では、PyCharm で PyInstaller を使用して Python コードを EXE 形式にパッケージ化し、特定の

1. まず pycharm を開いて、pycharm ホームページに入ります。 2. 次に、新しい Python スクリプトを作成し、右クリックして [新規] をクリックし、[Pythonfile] をクリックします。 3. 文字列、コード: s="-" を入力します。 4. 次に、文字列内のシンボルを 20 回繰り返す必要があります (コード: s1=s*20)。 5. 印刷出力コード、コード: print(s1) を入力します。 6. 最後にスクリプトを実行すると、下部に戻り値が表示されます。 - 20 回繰り返しました。

PyCharmを使用してExcelデータを読み取るにはどうすればよいですか?手順は次のとおりです: openpyxl ライブラリのインストール、openpyxl ライブラリのインポート、Excel ワークブックのロード、特定のワークシートへのアクセス、ワークシート内のセルへのアクセス、行と列の走査。

Flask のインストールと構成チュートリアル: Python Web アプリケーションを簡単に構築するためのツール、特定のコード サンプルが必要です はじめに: Python の人気が高まるにつれ、Web 開発は Python プログラマーにとって必要なスキルの 1 つになりました。 Python で Web 開発を実行するには、適切な Web フレームワークを選択する必要があります。数ある Python Web フレームワークの中でも、Flask はシンプルで使いやすく柔軟なフレームワークとして開発者に好まれています。この記事ではFlaskフレームワークのインストールについて紹介します。

Web サイトのサブドメイン クエリ ツールには次のものが含まれます: 1. Whois Lookup: サブドメイン名を含むドメイン名の登録情報をクエリできます; 2. Sublist3r: 検索エンジンやその他のツールを利用してドメイン名のサブドメイン名を自動的にスキャンできます; 3 . DNSdumpster: ドメイン名のサブドメイン名、IP アドレス、DNS レコードなどの情報を照会できます; 4. Fierce: DNS サーバーを通じてドメイン名のサブドメイン名情報を照会できます: 5. Nmap; 6. Recon- NG; 7. Google ハッキング。

タイトル: PHP スケジュールされたタスクの実装: 10 分ごとに注文をキャンセルする操作手順 電子商取引プラットフォームやオンライン取引 Web サイトでは、注文処理は重要なリンクです。場合によっては、ユーザーが注文後長期間支払わない場合や、その他の理由で注文をキャンセルする必要がある場合があります。注文を自動的にキャンセルするには、PHP スケジュールされたタスクを使用して注文を確認し、10 分ごとにキャンセルします。ステップ 1: スケジュールされたタスクをセットアップする まず、サーバー上でスケジュールされたタスクをセットアップする必要があります。
