Perintah Linux & Keterampilan Shell
curl: Klien Web Baris Perintah yang Menjalankan Web
curl adalah klien HTTP saku dari setiap kotak alat operasi: diagnostik, ramah saluran, dan jujur tentang apa yang dihasilkan. Permukaan benderanya terlihat sangat besar dan sebagian besar tidak digunakan: sekitar selusin bendera mencakup penggunaan operasional sehari-hari, dan mengetahui bendera tersebut adalah perbedaan antara pemeriksaan kesehatan tertulis dan yang beruntung. Aturan yang paling menghemat paging adalah sepele: setel --max-time setiap saat, karena kesabaran curl tidak terbatas dan kesabaran Anda tidak.
Poin Utama
- Lihat sebelum Anda mengunduh: curl -sSI https://host mengembalikan metode, header, dan status tanpa isi; tambahkan -v ketika jabat tangan TLS, proxy, atau header host berperilaku aneh.
- Disiplin batas waktu tidak dapat dinegosiasikan: --connect-timeout 5 mematikan koneksi yang mati, --max-time 15 mematikan koneksi yang lambat; pemeriksaan kesehatan tanpa keduanya dapat bertahan lebih lama dari pemadaman yang seharusnya dideteksi.
- Kode keluar adalah kontrak dalam skrip: 7 adalah koneksi ditolak, 28 adalah batas waktu, 22 adalah kesalahan HTTP yang muncul dengan --fail; baca kodenya, bukan hanya outputnya, atau pemantauan Anda tidak mempelajari apa pun.
- Pasangkan visibilitas dengan penegakan: -w '%{http_code} %{time_total}\n' melaporkan apa yang terjadi, sementara --fail-with-body menampilkan isi kesalahan; tanpa salah satu dari ini, kegagalan akan terlihat seperti kesuksesan.
- Uji apa yang sebenarnya ditemukan pengguna: --resolve example.com:443:10.1.2.3 memeriksa backend bernama tanpa permainan DNS, dan -H 'Host: vhost.example.com' mencakup sisi vhost dari permintaan yang sama.
- Transfer mendapatkan tanda yang disengaja: -o memberi nama output, -L mengikuti pengalihan yang telah Anda ulas, --retry 3 --retry-delay 2 memperhalus upstream yang tidak stabil, dan -F menangani unggahan multibagian yang tidak pernah dipedulikan.
- Header dan soket membawa dunia non-browser: -H 'Authorization: Bearer ...' untuk API dan --unix-socket /run/app/app.sock untuk menyelidiki layanan lokal yang tidak pernah menyentuh TCP sama sekali.
- Ketahui dua jebakan klasik: variabel lingkungan proxy yang membajak permintaan yang -v terekspos dalam hitungan detik, dan pengalihan yang secara diam-diam mengubah POST menjadi GET kecuali Anda bersungguh-sungguh.
Catatan Lapangan
Pemeriksaan kesehatan yang digantung selama lima belas menit adalah curl tanpa --max-time di dalam loop cron, dan bertahan lebih lama dari pemadaman yang seharusnya dideteksi. Pada prinsipnya, batas waktu sekarang masuk sebelum URL.
Pertanyaan Umum
Mengapa curl keluar 0 ketika situs mengembalikan 500?
keberhasilan curl berarti transportasi berhasil; Kesalahan tingkat HTTP tidak terlihat tanpa --fail (keluar 22) atau pembacaan %{http_code} dari -w. Skrip pemantauan bersikeras pada salah satu dari keduanya.
curl atau wget untuk skrip?
curl untuk API, header, badan POST, dan kontrol presisi; wget untuk mirroring dan rekursi. Untuk one-shot GET, keduanya berfungsi, dan pipeline yang menggabungkan keduanya biasanya merupakan tanda bahwa tidak ada yang memutuskan siapa yang memiliki pekerjaan tersebut.
Apakah melewatkan verifikasi TLS dapat dibenarkan?
Untuk satu diagnostik interaktif terhadap sertifikat lab yang ditandatangani sendiri, terkadang; dalam skrip apa pun atau yang digerakkan oleh cron, tidak. -k menonaktifkan satu-satunya cek yang menghentikan orang di tengah untuk memiliki transfer Anda.
Bagaimana cara mengetahui di mana sebenarnya permintaan yang lambat terhenti?
Variabel waktu: -w 'dns:%{time_namelookup} connect:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer} total:%{time_total}\n' dijalankan beberapa kali memisahkan kelemahan DNS dari gangguan jabat tangan akibat terhentinya backend.
Bagaimana Kinetikatech membantu dengan perintah linux & keterampilan shell
Ini adalah yang kami lakukan setiap hari: Perintah dan kebiasaan skrip yang menentukan apakah administrator mengoperasikan server atau melawannya: mencari, mengubah, mentransfer, dan mengawasi teks dan proses dengan alat yang ada di setiap instalasi dasar. Layanan kami Keamanan Server Linux dan Manajemen Server melindungi Anda dari ujung ke ujung: evaluasi, implementasi, pemantauan 24/7, dan respons darurat 30 menit.