Bagaimana cara mengatur tugas cron pada OS X untuk menjalankan perintah ikal pada waktu tertentu setiap hari?

20

Saya punya perintah CURL yang ingin saya jalankan setiap hari pada jam 3 pagi, tapi saya tidak yakin bagaimana mengaturnya dan panduannya aneh.

Asumsikan saya memiliki banyak pengalaman terminal / bash, tapi saya belum pernah menyiapkan cron sebelumnya.

Mungkinkah tugas cron untuk membangunkan komputer saya, bahkan jika sedang tidur dan tutupnya ditutup (macbook pro), hanya untuk menjalankan perintah ikal yang satu ini dan kemudian mengembalikannya ke mode tidur?

Bagaimana cara mengaturnya?

marcamillion
sumber

Jawaban:

22

Mulai dengan menjalankan perintah:

crontab -e

Ini akan membuka crontab untuk pengguna Anda dalam editor teks. Cron menggunakan notasi khusus untuk pekerjaan yang dijadwalkan. Format di bawah ini memperlihatkan bidang untuk entri crontab pengguna (yang perlu dipisahkan dengan tab).

min  hour  day_of_month  month  day_of_week  command

Untuk menjadwalkan perintah ikal agar berjalan pukul 3 pagi setiap hari, Anda dapat memasukkan baris:

0  3  *  *  *  curl args...

Perhatikan bagaimana menit dan jam sesuai dengan 3 pagi (catatan samping: cron menggunakan format waktu 24 jam, tidak ada pagi atau sore). Tanda bintang yang mengikuti berarti setiap hari dalam sebulan, setiap bulan, setiap hari dalam seminggu.

Cron tidak akan dapat membangunkan komputer Anda dari tidur tetapi Anda mungkin menemukan postingan ini membantu crontab untuk membangunkan osx dari tidur

diametralpitch
sumber
1
Ketika saya melakukannya crontab -esaya melihat ini di terminal saya:, $ crontab -e crontab: no changes made to crontabdan kemudian membuka editor teks saya dengan file crontab.some-random-stringdari folder /tmp. Setelah saya mengedit dan menyimpannya, tidak ada yang terjadi di terminal saya. Jika saya melakukannya crontab -l, pekerjaan yang baru saja saya masukkan tidak muncul. Lalu jika saya lakukan crontab -elagi, itu membuka kosong lain crontab.some-random-string. Saya juga menguji crontab pertama yang saya simpan dengan menetapkan waktu menjadi 2 menit dari saat saya menyimpannya dan cron tidak pernah berlari. Apa yang mungkin terjadi?
marcamillion
Editor teks mana yang dibuka saat Anda menjalankan 'crontab -e'?
diametralpitch
Yang standar saya atom,. Itulah yang diluncurkan ketika saya membuka sesuatu untuk diedit di terminal saya. Ini adalah apa yang saya miliki dalam saya ~/.bash_profile, export EDITOR='open -a "/Applications/Atom.app"'.
marcamillion
Hmm, jika Anda menjalankan atom dari baris perintah sendiri, apakah menunggu atom untuk keluar sebelum meminta perintah lain (jika tidak, Anda mungkin ingin mencoba editor teks yang berbeda).
Adam Luchjenbroers
@AdamLuchjenbroers Saya tidak yakin saya sepenuhnya memahami pertanyaan Anda. Saya menggunakan atom untuk semua pengeditan kode saya. Jadi jika saya ingin mengedit file apa pun, saya cukup lakukan atom .di dalam direktori atau atom <filepath>.
marcamillion
0

jika Anda suka melakukannya dengan cara GUI saya dapat merekomendasikan Anda CronniX dari roaringapps https://roaringapps.com/app/cronnix

konqui
sumber
Terima kasih atas tipnya .... tapi saya rasa saya lebih suka melakukannya secara manual di baris perintah atau melalui editor teks untuk belajar :)
marcamillion