Cara menulis pekerjaan cron dengan wget

Saya mencoba menulis pekerjaan cron yang mengambil informasi dari server web menggunakan wget.

Untuk lebih spesifiknya, saya mengambil data dari National Data Buoy Center (NDBC) dari National Oceanic and Atmospheric Administrations (NOAA). Data ini gratis untuk umum.

Perintah berikut berhasil membuat file .txt di direktori saya:

wget https://www.ndbc.noaa.gov/data/realtime2/46237.spec

Sekarang saya mencoba mengotomatiskan perintah ini setiap 30 menit dengan menulis pekerjaan cron. Saya menggunakan vim untuk menulis kode berikut:

0,30 * * * * wget https://www.ndbc.noaa.gov/data/realtime2/46237.spec

Saya juga memverifikasi keberadaan tugas cron ini dengan menjalankan "crontab -l"

Adakah yang tahu mengapa ini tidak dijalankan dengan benar?

P.S. Saya baru mengenal pemrograman, mohon koreksi saya jika saya menyalahgunakan terminologi apa pun. Terima kasih


person Connor Cantrell    schedule 21.12.2018    source sumber


Jawaban (1)


Mungkin ada banyak alasan tetapi sebagai pendekatan umum sebaiknya menggunakan jalur absolut dan secara paksa mengarahkan output wget ke file tertentu. Sebaiknya abaikan pemeriksaan sertifikasi saat mengakses https. Dan cron Anda akan menjadi seperti:

0,30 * * * * /usr/bin/wget -O /tmp/my_result.file --no-check-certificate https://www.ndbc.noaa.gov/data/realtime2/46237.spec

Di atas semua jalur dan nama file adalah contohnya!

Namun praktik terbaiknya adalah membuat skrip shell (misalnya di direktori home Anda) dan menjalankan skrip ini melalui cron

person Romeo Ninov    schedule 21.12.2018
comment
$ /usr/sbin/cron start cron: tidak dapat membuka atau membuat /var/run/cron.pid: Izin ditolak - person Connor Cantrell; 26.12.2018
comment
Saya telah memperbaiki cron saya, tetapi masih belum mendapatkan apa pun. Saya menjalankan /usr/sbin/cron start, Silakan lihat di atas untuk mengetahui hasilnya - person Connor Cantrell; 26.12.2018
comment
@ConnorCantrell, cron dimulai sebagai daemon dan biasanya tidak diperlukan untuk memulainya secara manual karena dimulai ketika OS dimulai. Tunggu saja dan periksa log. - person Romeo Ninov; 26.12.2018