Linux Komutları ve Kabuk Becerileri
curl: Web'i Çalıştıran Komut Satırı Web İstemcisi
curl, her operasyon araç kutusunun cep HTTP istemcisidir: tanılayıcı, boru hattı dostu ve geri gelenler konusunda dürüst. Bayrağın yüzeyi çok büyük görünüyor ve çoğunlukla kullanılamıyor: yaklaşık bir düzine bayrak günlük operasyonel kullanımı kapsıyor ve bunları bilmek, yazılı sağlık kontrolleri ile şanslı olanlar arasındaki farktır. Sayfalamayı en çok kurtaran kural önemsizdir: her seferinde --max-time değerini ayarlayın, çünkü curl'un sabrı sonsuzdur ve sizinki değildir.
Ana noktalar
- İndirmeden önce bir bakın: curl -sSI https://host, gövde olmadan yöntemi, başlıkları ve durumu döndürür; TLS anlaşmaları, proxy'ler veya ana bilgisayar başlıkları garip davrandığında -v ekleyin.
- Zaman aşımı disiplini tartışılamaz: --connect-timeout 5 ölü bağlantıları öldürür, --max-time 15 yavaş olanları öldürür; Her ikisinin de bulunmadığı bir durum kontrolü, tespit etmesi gereken kesintiden daha uzun süre dayanabilir.
- Çıkış kodları, komut dosyalarındaki sözleşmedir: 7, bağlantının reddedildiğini, 28, zaman aşımını, 22, --fail ile ortaya çıkan bir HTTP hatasını gösterir; Sadece çıktıyı değil kodu da okuyun, aksi takdirde izlemeniz hiçbir şey öğrenmez.
- Görünürlüğü yaptırımla eşleştirin: -w '%{http_code} %{time_total}\n' ne olduğunu bildirirken --fail-with-body hata gövdesini ortaya çıkarır; bunlardan biri olmadan başarısızlık tam olarak başarıya benzer.
- Kullanıcıların gerçekte neyi vurduğunu test edin: --resolve example.com:443:10.1.2.3, DNS oyunları olmayan adlandırılmış bir arka ucu kontrol eder ve -H 'Host: vhost.example.com' aynı isteğin sankon tarafını kapsar.
- Aktarımlar kasıtlı işaretler alır: -o çıktıyı adlandırır, -L incelediğiniz yönlendirmeleri takip eder, --retry 3 --retry-delay 2 kesintili yukarı akışları yumuşatır ve -F, hiç umursamadığımız çok parçalı yüklemeleri yönetir.
- Başlıklar ve yuvalar tarayıcı dışı dünyayı taşır: -H 'Yetkilendirme: Taşıyıcı ...' API'ler için ve --unix-socket /run/app/app.sock TCP'ye hiçbir zaman dokunmayan yerel hizmetleri araştırmak için.
- İki klasik tuzağı bilin: -v'nin saniyeler içinde ortaya çıkardığı bir isteği ele geçiren proxy ortam değişkenleri ve siz gerçekten istemediğiniz sürece bir POST'u sessizce bir GET'e dönüştüren yönlendirmeler.
Saha notu
On beş dakika boyunca asılı kalan durum kontrolü, bir cron döngüsü içinde --max-time olmadan kıvrılmaydı ve tespit etmesi gereken kesintiden daha uzun süre dayandı. Zaman aşımları artık prensip olarak URL'den önce başlıyor.
Sık sorulan sorular
Site 500 değerini döndürdüğünde neden curl 0'dan çıktı?
curl'un başarısı taşımanın işe yaradığı anlamına geliyor; HTTP düzeyindeki hatalar --fail (çıkış 22) olmadan veya -w'den %{http_code} okunmadan görünmez. İzleme senaryoları ikisinden birinde ısrar ediyor.
Komut dosyaları için curl veya wget?
API'ler, başlıklar, POST gövdeleri ve hassas kontrol için curl; Aynalama ve özyineleme için wget. Tek seferlik bir GET için her ikisi de işe yarar ve her ikisini de karıştıran bir boru hattı genellikle işin hangisinin sahibi olduğuna kimsenin karar vermediğinin bir işaretidir.
TLS doğrulamasını atlamak hiç haklı mı?
Kendinden imzalı bir laboratuvar sertifikasına karşı etkileşimli bir teşhis için bazen; komut dosyasıyla yazılmış veya cron odaklı herhangi bir şeyde, hayır. -k, ortadaki adamın transferinizin sahibi olmasını engelleyen tek kontrolü devre dışı bırakır.
Yavaş bir isteğin gerçekte nerede durduğunu nasıl öğrenebilirim?
Zamanlama değişkenleri: -w 'dns:%{time_namelookup} connect:%{time_connect} tls:%{time_appconnect} ttfb:%{time_starttransfer} total:%{time_total}\n' birkaç kez çalıştırmak, DNS kesintisini arka uç duraklamalarından kaynaklanan el sıkışma ağrısından ayırır.
Kinetikatech linux komutları ve kabuk becerileri konusunda nasıl yardımcı oluyor
Her gün yaptığımız iş budur: Bir yöneticinin bir sunucuyu mu çalıştıracağına yoksa onunla mücadele mi edeceğine karar veren komutlar ve komut dosyası oluşturma alışkanlıkları: her temel kurulumda bulunan araçlarla metin ve süreçleri arayın, dönüştürün, aktarın ve denetleyin. Linux Sunucu Güvenliği ve Sunucu Yönetimi servisimiz bunu baştan sona kapsar: değerlendirme, uygulama, 7/24 izleme ve 30 dakika içinde acil müdahale.