
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
)。