web-dev-qa-db-ja.com

OSX El Capitanでcrontabが壊れていますか?

質問cronはOSX El Capitanで動作するはずですか?

背景私はOSXで何年もcrontabを使用しましたが、El Capitanでは動作しないようです。ユーザー名を/usr/lib/cron/cron.allowに追加し、マシンを再起動しましたが、それでもcronジョブは何もしませんし、エラーでメールを送信しません。マンページでは、Appleはcronを使用することを望まないが、それが(まだ)機能していないとは言わない。

23
dank

私にはうまくいくようですが、エディターを指定する必要があると思います:

env EDITOR=nano crontab -e

Cronを追加し、指定された名前と場所でファイルを保存します。私の場合、/tmp/crontab.xxxxのファイルです。

その後、crontab -lを実行すると、cronが表示されます。

18
Jesús Carrera

これは、Googleでこれを見つけた人にとっての別の答えです。多くの結果はありません。

私にとっては、何らかの形で/usr/lib/cron/var/at(私も聞いたこともない…)にシンボリックリンクされ、/var/atにはcron.allowファイルがありましたが、ユーザー名はそうではありませんでしたで、Sudo vi /var/at/cron.allowを実行してユーザー名を追加した(どういうわけかechoをそのファイルにリダイレクトできなかった…)修正しました。

16
nickcoxdotme

Mojaveの場合、フルディスクアクセスは、システムファイル(プライバシー関連のデータやcrontabなどのシステム構成を含む)を変更できないようにします。

アクセスを有効にするには:

  • システム環境設定> セキュリティとプライバシー> プライバシー> フルディスクアクセス
  • +ボタンを押す
  • ターミナルアプリを追加します(例:/Applications/Utilities/Terminal.appまたは/Applications/iTerm.app)
  • 端末アプリを再起動します
  • Cronを構成する
  • オプションですが、強くお勧めします:ターミナルアプリをフルディスクアクセスから削除します
10
Berik

El Capitan(10.11.5)を使用するMacBookでは、「cron」は引き続き正常に機能します。

「/usr/lib/cron.deny」がデフォルトであり(「Guest」のみがリストされます)、「cron.allow」はありません。動作させるためにカスタマイズを行ったことを思い出さないでください(init/configファイルのmod、chmodのない、file/dirの作成/削除がないなど)。

(4月にMacBookが死ぬまで10.6。*を使用していました。5月中旬に10.11を使用し始め、10.11.5アップデート(?5月後半?)後にcrontabを復元しました。 10.11.5アップデートにより再び有効になりました。)

次の簡単なテストを試してください:「crontab -e」、次に「*/5 * * * * date >> /tmp/z.date」。 5分ごとに新しい日付が表示されるはずです。

動作する場合は、「*/5 * * * * env >> /tmp/z.date.1」を試して、環境を確認してください。たとえば、デフォルトのPATHは非常に短いです。

ところで、「at」はバッチジョブキューです。 「at」、「batch」、および「cron」は、同じことのバリエーションを行うため、しばしばグループ化されます。

5
geezer

cd /usr/lib/cronと入力すると、lsと入力すると、at.denycron.denyが表示されますが、at.allowまたはcron.allowは表示されません。 Sudo nano cron.allowを実行し、ユーザー名を1行に1つずつ入力します。 at.allowのコピーを作成します。これらの2つのファイルを作成し、実行を開始しました。

3
Max

cronは、マシンがスリープ中にすべてのジョブを完全にスキップします。省エネ設定を確認してください(以下を参照)。

launchd(Appleが推奨する代替手段)も、マシンがスリープしている間は実行されませんが、ジョブをスキップしません。代わりに、マシンが起動するとジョブが実行されます。

Energy Saver Settings

2
E L

Appleによると、cronはしばらく前に廃止されました。彼らは最終的にエルキャピタンのGMのプラグを抜いたに違いありません。 Appleは、cronの代わりにlaunchdを使用することを提案します。これがチュートリアルです: launchd

0
Lawson