Anacron cron.dailyがスクリプトを実行していません


0

Linux(Ubuntu)16.04を使用しています。/etc/cron.dailyanacronが処理する一連のスクリプトがあります。以前は毎日正常に動作していましたが、最近は動作していないことに気付きました。それがアップデートなのか他の何かなのかわかりません。結果を出さずに考えることができるすべてを試したので、それは私を怒らせています。これまでに確認したことは次のとおりです。

1)grep "Nov 22" /var/log/syslog | grep "cron.daily" -B 5 -A 5

Nov 22 06:24:47 ubuntu16 dbus[816]: [system] Successfully activated service 'org.freedesktop.nm_dispatcher'
Nov 22 06:24:47 ubuntu16 systemd[1]: Started Network Manager Script Dispatcher Service.
Nov 22 06:24:47 ubuntu16 nm-dispatcher: req:1 'dhcp4-change' [enp1s0]: new request (1 scripts)
Nov 22 06:24:47 ubuntu16 nm-dispatcher: req:1 'dhcp4-change' [enp1s0]: start running ordered scripts...
Nov 22 06:25:01 ubuntu16 CRON[6455]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
**Nov 22 06:25:01 ubuntu16 CRON[6456]: (root) CMD (test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily ))**
Nov 22 06:30:01 ubuntu16 CRON[6485]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Nov 22 06:35:01 ubuntu16 CRON[6513]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Nov 22 06:39:01 ubuntu16 CRON[6536]: (root) CMD (  [ -x /usr/lib/php/sessionclean ] && /usr/lib/php/sessionclean)
Nov 22 06:40:01 ubuntu16 CRON[6583]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)
Nov 22 06:45:01 ubuntu16 CRON[6612]: (root) CMD (cupsenable HP-HP-OfficeJet-Pro-8710)

そのため、cron.dailyスクリプトが実行されているか、anacronが実行を試行しているように見え、syslogにエラーはありません。また、cron.dailyをチェックすると、毎日のようにsyslogにログエントリがあります。

2)スクリプトが実行可能であることを確認しましたls -l /etc/cron.daily/

-rwxr-xr-x 1 root root  139 Nov 20 16:24 bingbot
-rwxr-xr-x 1 root root  142 Nov 20 16:24 bingbotb
-rwxr-xr-x 1 root root  142 Nov 20 16:25 bingbotc

3)/etc/cron.daily/bingbotスクリプトを呼び出す前に、スクリプトに問題がないことを確認するために、実行した日付のファイルを作成する行も追加しました(echo "Time: $(date). BINGREWARDS SCRIPT RAN." >> /home/user/bingbot.txt)、しかし、翌日bingbot.txt、私はそれが実行されなかったことを知っています。

4)から手動でスクリプトを実行したところ、/etc/cron.daily/bingbot完全に機能し、日付付きのファイルが作成されました。

5)私のスクリプトはsudo許可を必要としません。

6)の内容/etc/cron.daily/bingbot

#!/bin/sh
echo "Time: $(date). BINGREWARDS SCRIPT RAN." >> /home/toshiba/bingbot.txt
python /home/user/Desktop/BingRewards/mainpy

7)更新 anacronを手動sudo run-parts /etc/cron.dailyで実行して、スクリプトを正常に実行しようとしました。興味深いことに...私が得るログで:

Nov 22 17:01:14 ubuntu16 anacron[15605]: Anacron 2.3 started on 2017-11-22
Nov 22 17:01:14 ubuntu16 anacron[15605]: Can't open timestamp file for job cron.daily: Permission denied
Nov 22 17:01:14 ubuntu16 anacron[15605]: Aborted

それが終わった後、私はsudo run-parts /etc/cron.daily再び走ったが、そのエラーは出なかった。多分それは許可エラーだったと言っNov 22 17:35:55 ubuntu16 anacron[16777]: Updated timestamp for job cron.daily' to 2017-11-22 ていて、動作し始めるでしょう。しかし、この許可の問題の原因は何でしょうか?

UPDATE2 Anacronは今日もスクリプトの実行に失敗しました。上記のログと同じ「Permission Denied」エラー。また、以下の行/etc/crontabはanacronをrootとして実行します:

25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )

更新3コンピューターを再起動した後、問題は約3日間消えましたが、その後再び現れました。25日、syslogでcron.dailyが終了したと言いましたが、これは奇妙な動作のようです。しかし、26日には、タイムスタンプが更新されたとsyslogで言ったため、動作しているように見えました。27日には、実行に完全に失敗しました。これは非常識です。何が原因なのかわかりません。

スクリプトが実行されない理由は何でしょうか?


悪いフォーマットで申し訳ありませんが、modで修正できた場合、何らかの理由ですべてを正しく表示できませんでした。
NULL

1
書式設定の問題は、自動番号付けがコード引用と競合するためでした。そこで、手動番号付けに変更しました。改善してください。
AFH

誰も?:((してください。
NULL

私はあなたの更なる更新を見たばかりで、原因がどこにあるのか、どのテストがさらに診断できるのかさえ考えられません。問題が発生したときにcron、タスクを実行する追加のシェルを起動して、sleepそれらの間で呼び出しを行うことにより、それらの周りで作業しました。探している答えではありませんが、cron問題を解決するまで仕事は完了です。確かに、私の自家製のスケジューラは非常にうまく機能するので、タスクをに切り替えることはありませんでしcroncron。これらの価値があるのはcrontab -e、ではなくで追加されたため/etc/cron.dailyです。
AFH

回答:


1

私はEL6(debianではない)でも同じ問題を抱えていましたが、理由は同じかもしれません。セキュリティスクリプトが原因で、/ etc / cron.hourly / 0anacron(wrong = chmod 600)のアクセス権が間違っていました。cronie-anacronを再インストールし、実行ビット(つまりchmod 755)を復元し、動作を開始しました。

/ usr / bin / run-partsは、/ etc / cron.hourly内の「パーツ」またはファイルが実行可能かどうかを確認します。

if [ -x $i ]; then

読み取り可能かどうかではありません...これらのファイルの権限を監視してください。また、anacron自体が実際にcron.hourlyを使い果たしていることにも注意してください(指定したジョブは毎日でしたが)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.