6

私はcronジョブに慣れようとしていますが、基本的な考え方(スケジューリング、構文など)は理解できたと思いますが、ターミナルを備えたMacでは正しく理解できないようです。 Crontab?スクリプトへのパスをどのように参照する必要がありますか?

私がやろうとしているのは、リモートマシン(http:// ..。)でphpスクリプトをヒットすることです-それは可能ですか?

4

6 に答える 6

8

入力crontab -eして、cron テーブルを編集crontab -lし、現在の内容を一覧表示します。man 1 crontabそのコマンドman 5 crontabの詳細と、cron テーブル ファイル形式の詳細については、入力してください。

たとえば、毎日 10:00a に stackoverflow ページをダウンロードするには、 を実行しcrontab -e、この行を入力してから保存/終了します。出力は、ホーム ディレクトリのファイルに書き込まれます。

0 10 * * * /usr/bin/curl -s http://stackoverflow.com > ~/stackoverflow.html
于 2009-11-05T21:18:16.740 に答える
5

(cron の代わりに) launchd を使い始めるには、まず空の.plistファイルを作成する必要があります。たとえばlocal.mytask.plist、どこかに配置します。~/Library/LaunchAgentsおそらく良い場所です。それをテキストエディターで開き、以下のコードをコピーします

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<false/>
<key>Label</key>
<string>local.mytask</string>
<key>ProgramArguments</key>
<array>
<string>/opt/local/bin/wget</string>
<string>http://someserver/somepage.php</string>
</array>
<key>StartInterval</key>
<integer>300</integer>
<key>RunAtLoad</key>
<true />
<key>StandardErrorPath</key>
<string>/dev/null</string>
<key>StandardOutPath</key>
<string>/dev/null</string>
</dict>
</plist>

次に、コマンド ラインからファイルを「アクティブ化」します。

sudo launchctl load /Users/my_username/Library/LaunchAgents/local.mytask.plist

~/.launchd.conf自動的に読み込まれるようにするには、同じ行(マイナスsudo launch)でファイルを作成します

load /Users/my_username/Library/LaunchAgents/local.mytask.plist

上記の手順は、www.davidlanier.comからコピーされ、参照用にここに再掲載されています。

于 2009-11-05T23:26:41.020 に答える
4

万一、Snow Leopard で cron と戦っている他の誰かがこれに出くわす機会があれば、私はこの古いスレッドを掘り起こします。

はい、launchd は cron を置き換えることになっていますが、実際には、cron ができる特定のことを実行できません。

Cron はうまく統合されていません。メッセージを送信すると、もちろん Apple Mail が何も知らない /var/mail/user_name に行き着きます。

crontab -e は、「一時ファイルをその場で編集する必要があります」と言ってスローします。どうやらvimはviと互換性がありません。その後、crontab "< /tmp/crontab.whatever" を実行できます (/tmp を調べて、実際に使用されている名前を確認します)。正しい場所に配置され、タイプミスがなければ動作します。

はい、これをすべて整理するのに時間がかかりました:(

于 2012-01-18T22:48:53.833 に答える
3

launchdは強力ですが、plistを自分で作成する必要はありません。Lingonを入手してください。これは、システムの起動タスクを作成および管理するための、オープンソースで非常によく設計されたGUIです。

于 2009-11-06T03:54:01.450 に答える
1

Cronは、10.4以降launchdに置き換えられました。ある時点でタスクをLinux/Unixシステムに移植する予定がない限り、おそらくこれを使用してタスクを作成する必要があります。

とにかくcronを使用することにした場合は、crontab -eまたはを入力してみてくださいsudo crontab -e。これらは異なるcrontabファイルを提供します。前者は現在実行しているユーザー用で、後者はrootユーザー用です。

URLを「ヒット」するには、さまざまな方法があります。「ヒット」するために使用しているローカルスクリプトに応じて、言語の組み込みメソッド/クラスの一部を使用できます。たとえば、Rubyスクリプトはnet / httpを使用しますが、bashスクリプトを作成しているだけの場合は、curlも試すことができます。詳細を確認するために実行しますman curlが、基本的なコマンドはcurl http://google.com

于 2009-11-05T21:13:19.363 に答える
0

cron を使用する必要がなくなりました。他の人がすでに述べているように、launchd に置き換えられており、launchd が Mac OS X の将来になることは明らかです。

MacTech Magazine は最近、launchd に関する一連の記事を掲載しており、それらを読むことを強くお勧めします。私は確かに多くのことを学んだことを知っています。

2009 年 9 月 (第 25 巻、第 9 号) 25.09 MacEnterprise: ランチ用に launchd

2009 年 10 月 (第 25 巻、第 10 号) Snow Leopard、Launchd、Lunch さらに多くの Launchd レシピと Snow Leopard の変更点

MacTech には他にも記事がありましたので、それらのサイトを検索することをお勧めします。

于 2009-11-06T14:16:04.673 に答える