Shell Linux adalah bagian dari pengetahuan yang sulit untuk digerogoti.
Gambaran
Banyak teman yang mengatakan bahwa shell Linux adalah bagian dari pengetahuan yang sulit untuk digerogoti.Mereka belajar dengan cermat dan menguasai semua tata bahasa yang berhubungan dengan shell, tetapi ketika mereka mendapat permintaan, mereka tidak dapat menulis atau menulis skrip shell yang sempurna.
Fenomena ini wajar. Misalnya, dalam novel seni bela diri Jin Yong, ada banyak rahasia seni bela diri (misalnya, delapan belas telapak tangan naga). Bagi orang biasa, meskipun setiap gerakan dapat dimainkan dengan baik, tidak ada. Apa gunanya telur, karena dia tidak punya tenaga internal apapun.
Dan skrip shell ini sebenarnya adalah "pengetahuan unik", tetapi jika Anda tidak mempraktikkan "kekuatan internal", tidak peduli seberapa baik Anda mempelajari pengetahuan shell, Anda tetap tidak dapat menulis kode yang baik.
Yang disebut "kekuatan internal" di sini adalah pengalaman. Kami sering mendengar dari teman yang merupakan pengembang bahwa mereka tidak memenuhi syarat jika mereka tidak menulis cukup 100.000 baris kode. Beberapa perusahaan merekrut pengembang dan lebih peduli tentang berapa banyak baris kode yang telah dia tulis. Semakin banyak kode yang ditulis oleh pengembang, itu berarti miliknya Semakin banyak pengalaman yang Anda miliki.
Bukankah kita menulis skrip shell serta kode? Ingat, ketika saya baru melakukan operasi dan pemeliharaan, saya menulis skrip shell hampir setiap hari, dua atau tiga baris sederhana, ratusan baris kompleks, berbagai kebutuhan kecil, saya merasa hanya satu atau dua bulan, skrip shell saya Telah terjadi peningkatan yang signifikan.
Dua puluh kasus praktis dibagikan di bawah ini!
20 studi kasus
Kasus 1, Gunakan skrip shell untuk membuat cadangan database MySQL
Pentingnya database sudah terbukti dengan sendirinya, jadi melakukan pekerjaan backup data yang baik adalah suatu keharusan bagi teknisi operasi dan pemeliharaan yang berkualifikasi.
Kasus 2, pantau apakah kode status server Nginx memiliki kode status 502
502 ada di mana-mana di server Nginx, yang sangat memengaruhi pengalaman pengguna. Setelah masalah 502 terjadi, Anda harus segera menemukan dan menemukan masalahnya.
Kasus 3: Tambahkan 100 pengguna dalam batch, dan atur kata sandi acak untuk pengguna. Setelah kata sandi disetel, kata sandi perlu disimpan dalam file log untuk memudahkan kueri.
Kasus 4, gunakan skrip shell untuk secara otomatis memblokir IP dengan lalu lintas abnormal, dan membuka blokir IP yang tidak lagi memulai permintaan secara berkala
Fitur ini sepertinya sangat berguna di web server.
Kasus 5, gunakan skrip untuk memantau penggunaan disk mesin
Termasuk ruang terpakai dan penggunaan inode. Setelah ruang disk penuh, ini akan mempengaruhi operasi normal sistem. Penggunaan disk perlu diperiksa secara real time. Setelah ambang batas yang ditetapkan tercapai, kami harus diberi tahu secepatnya.
Kasus 6, Periksa apakah ada perbedaan dalam file di direktori yang sama pada dua mesin
Dalam cluster load balancing, situs web yang sama biasanya dijalankan di beberapa server, jadi penting untuk memastikan bahwa konten file konsisten.
Kasus 7, gunakan skrip shell untuk memantau arsitektur master-slave MySQL untuk melihat apakah status master-slave normal
Master dan budak yang tidak normal akan menyebabkan data menjadi tidak sinkron, dan ketidakkonsistenan data akan sangat memengaruhi ketersediaan bisnis.
Kasus 8, menggunakan skrip shell untuk menulis alat operasi dan pemeliharaan
Saat menjalankannya, daftar perintah akan dicantumkan, dan pengguna hanya perlu menekan nomor yang sesuai untuk menjalankan perintah dalam daftar.
Kasus 9, gunakan skrip shell untuk memantau lalu lintas kartu jaringan mesin
Ketika lalu lintas kartu jaringan adalah 0, kartu jaringan perlu direstart.
Kasus 10: Gunakan skrip shell untuk mendeteksi apakah nama domain yang ditentukan akan segera kedaluwarsa, untuk mencegah nama domain dipulihkan tanpa pembaruan.
Kasus 11, diberikan daftar orang, gunakan skrip shell untuk mengelompokkan orang-orang ini
Misalnya, tentukan jumlah grup, lalu skrip dapat secara otomatis membagi orang-orang ini menjadi beberapa grup secara acak.
Kasus 12, cadangan multi-utas
Jika jumlah database yang akan di-backup besar, akan membutuhkan waktu lama untuk menggunakan metode traversal loop tradisional. Hal ini karena shell script secara default adalah single-threaded, dan script ini perlu multi-threaded, sehingga kecepatan backup database dapat ditingkatkan. .
Kasus 13, memantau node CDN
Dalam kasus CDN, node yang diakses oleh pengguna di tempat yang berbeda berbeda, tetapi jika sebuah node mengalami masalah, hal itu akan mempengaruhi akses beberapa pengguna, sehingga perlu untuk menulis skrip shell untuk memantau apakah semua node normal.
Kasus 14, konfigurasi penyebaran satu-klik
Dengan asumsi bahwa server menjalankan layanan Apache + PHP + MySQL, ada banyak situs web yang menjalankannya, setiap situs web tambahan perlu dimodifikasi httpd.conf untuk menambahkan host virtual, dan database perlu ditambahkan ke database MySQL dan pengguna MySQL ditambahkan. Jika sulit untuk mengoperasikan langkah-langkah ini secara manual, skrip shell dapat mengimplementasikan operasi ini dalam batch.
Kasus 15, keluaran yang diformat
Dalam pekerjaan, Anda akan menemukan berbagai file berformat xml, dan terkadang permintaannya adalah konten dalam file xml perlu diformat dan dikeluarkan.
Kasus 16, restart setiap node kucing jantan dari jarak jauh
Dalam lingkungan produksi, sering kali ada beberapa server Tomcat yang berjalan, dan terkadang layanan Tomcat perlu dimulai ulang. Jika Anda menjalankannya secara manual, Anda harus masuk ke setiap mesin, yang sangat merepotkan. Kemudian perlu menulis skrip shell untuk masuk secara otomatis ke mesin jarak jauh dan memulai ulang layanan Tomcat. .
Kasus 17, pemotongan batang kayu
Ada berbagai layanan yang berjalan di server kami, jadi ada banyak log. Pemotongan log dapat dilakukan dengan skrip shell. Namun, akan ada lebih banyak log lama setelah pemotongan dari waktu ke waktu, jadi bagaimana caranya Arsip log lama ini perlu menulis skrip untuk diselesaikan sesuai dengan aturan preset.
Kasus 18, pantau penggunaan IO disk
Misalkan Alibaba Cloud ECS menjalankan layanan Nginx + PHP-FPM + MySQL, dan baru-baru ini menerima alarm penggunaan IO yang tinggi, tetapi masalah ini hanya sesaat, waktu yang sangat singkat, setiap kali saya masuk ke mesin ini, saya menemukan bahwa tidak ada IO Masalah, jadi tulis skrip untuk memantau penggunaan IO disk. Jika ada masalah, Anda perlu melihat lebih dekat masalah tertentu.
Kasus 19, skrip yang disesuaikan
Misalkan ada beberapa instance yang berjalan di server Tomcat, dan setiap instance memiliki log. Saat Anda mengalami masalah atau memiliki persyaratan khusus, Anda perlu memeriksa log dari instance ini satu per satu. Untuk meningkatkan efisiensi, Anda perlu menulis Skrip shell.
Kasus 20, kode penerapan sekali klik
Meskipun ada berbagai alat untuk mengimplementasikan penerapan kode, tidak ada alat yang nyaman dan mudah digunakan pada masa-masa awal. Tentu saja, beberapa perusahaan kecil tidak membutuhkan alat seperti itu, tetapi menggunakan skrip shell untuk mengimplementasikannya.
Apa yang akan Anda dapatkan setelah mempelajari 20 kasus ini?
Apakah Anda pemula Linux berbasis 0 atau veteran yang telah berkecimpung di industri ini selama beberapa tahun, setelah membaca 20 kasus ini, Anda akan belajar cara menulis skrip shell dan keterampilan terkait Linux. Untuk teman-teman yang ingin cepat meningkatkan kemampuan skrip shell mereka, 20 kasus ini seperti obat yang baik, mereka akan membantu Anda dalam operasi dan pekerjaan pemeliharaan lebih lancar!
Sesuatu terjadi beberapa waktu yang lalu, tetapi telah rusak, dan akan dipulihkan hari ini!
Kami akan membagikan lebih banyak developer dan konten DBA pengoperasian dan pemeliharaan nanti, dan teman yang tertarik dapat memperhatikannya!
- Kecepatan pengiriman iPhone X bahkan lebih cepat, dan iPhone 8 benar-benar tragedi. Xianyu telah jatuh di bawah 4000!
- Perbedaan generasi! Tidak puas pacar kelahiran tahun 80-an dan kakak perempuan kelahiran tahun 70-an terlalu dekat, dan generasi kelahiran tahun 90-an bertengkar
- Wanita manja memiliki kehidupan terbaik, pada kenyataannya wanita yang baik seumur hidup tidak akan bertingkah seperti wanita manja
- Ekor kecil 20 / potong! iPhoneX kembali menjelma dengan artefak "X", netizen: ucapkan selamat tinggal pada IQ