Macでcronジョブを実行するにはどうすればよいですか?


12

Mac(最新のOSを実行している)に1日に1回自動的にタスクを実行させるにはどうすればよいですか?たとえば、このオープンソースの代数幾何学の教科書のコピーを1日に1回自動的にダウンロードしたいです。wgetとcronのいくつかの組み合わせが動作するはずだと感じていますが、グーグルでcronドキュメントを読んだ後、正しく動作させることができませんでした。


2
Crontabを使用せず、代わりに既に提案したようにLaunchdの使用を学ぶことをお勧めします。
マーティンマルコンチーニ

回答:


9

OS Xではlaunchctl「cronジョブ」に使用すべきだと思います。
ただし、それ以外の場合は、cronjobを使用してタスクを簡単に実行できます。
sudo crontab -e
55 23 * * * wget http://www.math.columbia.edu/algebraic_geometry/stacks-git/book.pdf

これは毎日23:55に実行する必要があります

更新

WGETの出力場所を指定する必要があります -O /path/to/file


2
launchdを使用する場合は、apple.stackexchange.com

2
必ずしもsudoは必要ありません。個々のユーザーが自分のcrontabを持つことができます
ダグ・ハリス

6

cronデーモンは、簡単な方法でアクティブ化できます。

sudo touch /private/etc/crontab

次に、/ usr / local / bin / wget(またはそれが存在する場所)のフルパスを入力することをお勧めします。Cronはユーザーの$ PATHを知りません。それが役に立てば幸い。



4

コマンドラインの構文(など)がわかりにくい/難解である場合は、これらのジョブを表示/編集/作成するためのGUIツールを使用します。

過去にLingonを使用しましたが、これは現在Mac App Storeでも利用可能になっています。頻繁に使用する必要はありませんが、使用すると非常に便利です。


1

(cronよりも)よりエレガントなソリューションは、iCal通知+ Applescriptを使用することです。

まず、(/ Application / Utilitiesの下にある)AppleScript Editorを起動し、次のコードを貼り付けます。

set the destination_file to ("~/Downloads/book.pdf")

set the contentLink to "http://www.math.columbia.edu/algebraic_geometry/stacks-git/book.pdf"

tell application "URL Access Scripting"
    download contentLink to destination_file replacing yes
end tell

スクリプトを保存し、applescriptエディターを終了します。

iCalを開いて、今日の新しいイベントを作成し、希望の時間を設定し、「繰り返し:毎日」を選択し、アラームとして「スクリプトを実行」を選択し、AppleScriptを選択します。

ダウンロードごとに通知する場合は、「音声付きメッセージ」、「開始日」で別のアラームを追加できます。


1

私はマカロニをお勧めします。その利点は、1日1回実行するようにジョブを設定すると、時間に関係なく、コンピューターの電源が入っているときにいつでも実行されることです。そのため、指定した時間にコンピューターがオフになったため、仕事を逃すことはありません。

Macaroniは、Mac OS Xの修理特権プロセスやUnixスタイルのメンテナンスを含む、Mac OS Xの定期的なメンテナンスを処理するツールです。あなたは自分でこれを行うことができますが、あなたはあなたの時間でもっと面白いことをしませんか?

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