Saya ingin melakukan pemeriksaan kesehatan layanan dengan memanggil url tertentu di atasnya. Terasa seperti solusi paling sederhana adalah menggunakan cron untuk melakukan pemeriksaan setiap menit atau lebih. Jika terjadi kesalahan, cron mengirimi saya email.
Saya mencoba menggunakan cUrl untuk ini, tetapi saya tidak dapat menampilkan pesan hanya pada kesalahan. Jika saya mencoba mengarahkan output ke /dev/null, itu akan mencetak laporan kemajuan.
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5559 100 5559 0 0 100k 0 --:--:-- --:--:-- --:--:-- 106k
Saya mencoba melihat melalui opsi ikal, tetapi saya tidak dapat menemukan apa pun yang sesuai dengan situasi di mana Anda menginginkannya diam pada kesuksesan tetapi membuat kesalahan pada kesalahan.
Apakah ada cara untuk membuat curl melakukan apa yang saya inginkan atau adakah alat lain yang harus saya lihat?
Jawaban yang Diterima:
Bagaimana dengan -sSf
? Dari halaman manual:
-s/--silent Silent or quiet mode. Do not show progress meter or error messages. Makes Curl mute. -S/--show-error When used with -s it makes curl show an error message if it fails. -f/--fail (HTTP) Fail silently (no output at all) on server errors. This is mostly done to better enable scripts etc to better deal with failed attempts. In normal cases when a HTTP server fails to deliver a document, it returns an HTML document stating so (which often also describes why and more). This flag will prevent curl from outputting that and return error 22. This method is not fail-safe and there are occasions where non-successful response codes will slip through, especially when authentication is involved (response codes 401 and 407).
Misalnya:
curl -sSf http://example.org > /dev/null