crontabを初めて使用するユーザーとして、定期的にstdoutに日付/時刻を入力して学習しようとしています。

crontabを初めて使用するユーザーとして、定期的にstdoutに日付/時刻を入力して学習しようとしています。

crontabを使用して定期的にbashコマンドを実行する方法を学びます。私はまず、crontabに1分の標準出力で日付と時刻を読み取るような簡単なことを試してみると思いました。しかし、これをしようとすると、次のことが起こります。

Nicholass-MacBook-Air-2:cron_test nick$ crontab 1 * * * * date
crontab: 1: No such file or directory

どのように機能させますか?

ありがとう、

ギャップ

答え1

端末に次の行を入力してください

crontab -e

次の行を入力してファイルを保存します。

1 * * * * date >> /tmp/output.txt

しばらくすると出力ファイルが表示されます。

cat /tmp/output.txt

答え2

このcrontabコマンドはコマンドラインからcron作業項目を取得しません。クローン作業項目を追加するには、実行してcrontab -eエディタを開きます。

macOSではこれは機能しないため、cronエントリを含むテキストファイルを準備して提供する必要があります。それ入力するcrontab

$ vi crontab.txt   # use whatever editor you want

ここにアイテムを追加します。

* * * * * date >>/tmp/date.out

このエントリは、コマンドが1分ごとに、永久に(またはcronジョブが削除されるまで)実行されるようにスケジュールし、実行されるたびに新しい出力行を追加してdate出力を作成します。/tmp/date.out

ファイルを保存してエディタを終了します。

次に実際にcronエントリをロードします。

$ crontab crontab.txt

しかし、この点を参考にしてください現在のユーザーの既存のcrontabエントリをすべて置き換えます。もしそうなら。

到着次へ追加macOSのエントリは、既存のエントリを保持しながら、まずcrontab.txt既存のcrontabエントリを使用してファイルを作成、編集、および再読み込みします。

$ crontab -l >crontab.txt
$ vi crontab.txt
$ crontab crontab.txt

削除するみんなアイテム、使用crontab -r

macOSのCronは、特定の予約時間のため、などの短い名前も理解@rebootでき@hourlyます@daily@weeklyバラよりcrontab(5)手動システムの詳細をご覧ください(man 5 crontab)。

関連情報