shell实现网络client方法
需要把线上的access日志发送到另一个程序接收
开始想着用python实现,虽然python也有实现类似tail -F的方式,但太麻烦,而且效率也有折扣
偶然发现了shell可以实现网络client,并且只用几行代码就可以实现
先上代码:
trap "exec 8<&-;exec 8>&-" 0 file='/data/nginx/llogs/access.log' exec 8<>/dev/tcp/10.3.0.200/9001 tail -F "$file" | grep --line-buffered "sid">&8
超级简单,实际处理的逻辑的代码就2行以下是代码说明:
第一行主要是捕获程序退出状态,退出后关闭连接
第二行定义日志文件
第三行建立网络连接,linux有个特殊的文件/dev/(udp|tcp)/ip/port
把这个文件绑定到一个文件描述符上即可建立对应的网络连接,文件描述符大于3即可
第四行发送数据到这个建立好的通道中
因为grep会有缓冲区,默认等缓冲区满了后才会输出数据,因此必须加上--line-buffered参数,使用行缓冲
不然server端收到的数据会有断行。
这种agent超级简单功能性能也不错但有个弊端
agent和server建立通道后,若server挂了,那么agent通道断开就也挂了,程序就会退出(tcp client有这个问题,upd没有)
或是网络不好也可能导致agent退出(我这次没有这个问题都是光纤互联网络)
所以需要有对应的监控程序检测agent,异常时自动重启,或者如果网络质量不错的话考虑使用udp
Atas ialah kandungan terperinci shell实现网络client方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas
![Modul pengembangan WLAN telah berhenti [fix]](https://img.php.cn/upload/article/000/465/014/170832352052603.gif?x-oss-process=image/resize,m_fill,h_207,w_330)
Jika terdapat masalah dengan modul pengembangan WLAN pada komputer Windows anda, ia mungkin menyebabkan anda terputus sambungan daripada Internet. Keadaan ini sering mengecewakan, tetapi mujurlah, artikel ini menyediakan beberapa cadangan mudah yang boleh membantu anda menyelesaikan masalah ini dan membolehkan sambungan wayarles anda berfungsi dengan baik semula. Betulkan Modul Kebolehlanjutan WLAN Telah Berhenti Jika Modul Kebolehlanjutan WLAN telah berhenti berfungsi pada komputer Windows anda, ikuti cadangan ini untuk membetulkannya: Jalankan Penyelesai Masalah Rangkaian dan Internet untuk melumpuhkan dan mendayakan semula sambungan rangkaian wayarles Mulakan semula Perkhidmatan Konfigurasi Auto WLAN Ubah Suai Pilihan Kuasa Ubah suai Tetapan Kuasa Lanjutan Pasang Semula Pemacu Penyesuai Rangkaian Jalankan Beberapa Perintah Rangkaian Sekarang, mari kita lihat secara terperinci

Kita perlu menggunakan DNS yang betul apabila menyambung ke Internet untuk mengakses Internet. Dengan cara yang sama, jika kita menggunakan tetapan dns yang salah, ia akan menyebabkan ralat pelayan dns Pada masa ini, kita boleh cuba menyelesaikan masalah dengan memilih untuk mendapatkan dns secara automatik dalam tetapan rangkaian penyelesaian. Cara menyelesaikan ralat pelayan dns rangkaian win11 Kaedah 1: Tetapkan semula DNS 1. Pertama, klik Mula dalam bar tugas untuk masuk, cari dan klik butang ikon "Tetapan". 2. Kemudian klik arahan pilihan "Rangkaian & Internet" di lajur kiri. 3. Kemudian cari pilihan "Ethernet" di sebelah kanan dan klik untuk masuk. 4. Selepas itu, klik "Edit" dalam tugasan pelayan DNS, dan akhirnya tetapkan DNS kepada "Automatik (D

Apakah isu "Muat turun ralat rangkaian gagal"? Sebelum kita menyelidiki penyelesaiannya, mari kita fahami dahulu maksud isu "Muat Turun Ralat Rangkaian Gagal". Ralat ini biasanya berlaku apabila sambungan rangkaian terganggu semasa memuat turun. Ia boleh berlaku atas pelbagai sebab seperti sambungan internet yang lemah, kesesakan rangkaian atau isu pelayan. Apabila ralat ini berlaku, muat turun akan berhenti dan mesej ralat akan dipaparkan. Bagaimana untuk membetulkan muat turun yang gagal dengan ralat rangkaian? Menghadapi "Ralat Rangkaian Muat Turun Gagal" boleh menjadi penghalang semasa mengakses atau memuat turun fail yang diperlukan. Sama ada anda menggunakan penyemak imbas seperti Chrome atau platform seperti Google Drive dan Google Photos, ralat ini akan muncul yang menyebabkan kesulitan. Di bawah ialah perkara untuk membantu anda menavigasi dan menyelesaikan isu ini
![Pelanggan VMware Horizon tidak boleh dibuka [Betulkan]](https://img.php.cn/upload/article/000/887/227/170835607042441.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
VMware Horizon Client membantu anda mengakses desktop maya dengan mudah. Walau bagaimanapun, kadangkala infrastruktur desktop maya mungkin mengalami masalah permulaan. Artikel ini membincangkan penyelesaian yang boleh anda ambil apabila klien VMware Horizon gagal dimulakan dengan jayanya. Mengapa klien VMware Horizon saya tidak boleh dibuka? Apabila mengkonfigurasi VDI, ralat mungkin berlaku jika klien VMWareHorizon tidak dibuka. Sila sahkan bahawa pentadbir IT anda telah memberikan URL dan bukti kelayakan yang betul. Jika semuanya baik-baik saja, ikuti penyelesaian yang dinyatakan dalam panduan ini untuk menyelesaikan isu tersebut. Betulkan Klien VMWareHorizon Tidak Dibuka Jika VMW tidak dibuka pada komputer Windows anda

Jika WDMyCloud tidak muncul pada rangkaian dalam Windows 11, ini boleh menjadi masalah besar, terutamanya jika anda menyimpan sandaran atau fail penting lain di dalamnya. Ini boleh menjadi masalah besar bagi pengguna yang kerap perlu mengakses storan rangkaian, jadi dalam panduan hari ini, kami akan menunjukkan kepada anda cara untuk menyelesaikan masalah ini secara kekal. Mengapa WDMyCloud tidak muncul pada rangkaian Windows 11? Peranti MyCloud, penyesuai rangkaian atau sambungan Internet anda tidak dikonfigurasikan dengan betul. Fungsi SMB tidak dipasang pada komputer. Gangguan sementara dalam Winsock kadangkala boleh menyebabkan masalah ini. Apakah yang perlu saya lakukan jika awan saya tidak muncul pada rangkaian? Sebelum kami mula membetulkan masalah, anda boleh melakukan beberapa semakan awal:

Artikel ini akan memperkenalkan penyelesaian kepada masalah bahawa simbol glob dipaparkan pada rangkaian sistem Win10 tetapi tidak boleh mengakses Internet. Artikel itu akan menyediakan langkah terperinci untuk membantu pembaca menyelesaikan masalah rangkaian Win10 yang menunjukkan bahawa bumi tidak boleh mengakses Internet. Kaedah 1: Mulakan semula secara langsung, periksa sama ada kabel rangkaian tidak dipasang dengan betul dan sama ada jalur lebar tertunggak. Jika tiada perkara penting yang sedang dilakukan pada komputer, anda boleh memulakan semula komputer secara langsung Kebanyakan masalah kecil boleh diselesaikan dengan cepat dengan memulakan semula komputer. Jika ditentukan jalur lebar tidak tertunggak dan rangkaiannya normal, itu adalah perkara lain. Kaedah 2: 1. Tekan kekunci [Win], atau klik [Start Menu] di sudut kiri bawah Dalam item menu yang terbuka, klik ikon gear di atas butang kuasa Ini ialah [Settings].

Wake on LAN ialah ciri rangkaian pada Windows 11 yang membolehkan anda membangunkan komputer anda dari jauh dari mod hibernasi atau tidur. Walaupun pengguna biasa tidak sering menggunakannya, ciri ini berguna untuk pentadbir rangkaian dan pengguna kuasa yang menggunakan rangkaian berwayar, dan hari ini kami akan menunjukkan kepada anda cara untuk menyediakannya. Bagaimanakah saya tahu jika komputer saya menyokong Wake on LAN? Untuk menggunakan ciri ini, komputer anda memerlukan yang berikut: PC perlu disambungkan kepada bekalan kuasa ATX supaya anda boleh membangunkannya daripada mod tidur dari jauh. Senarai kawalan akses perlu dibuat dan ditambah pada semua penghala dalam rangkaian. Kad rangkaian perlu menyokong fungsi wake-up-on-LAN. Untuk ciri ini berfungsi, kedua-dua komputer perlu berada pada rangkaian yang sama. Walaupun kebanyakan penyesuai Ethernet menggunakan
![Pelanggan VMware Horizon membeku atau terhenti semasa menyambung [Betulkan]](https://img.php.cn/upload/article/000/887/227/170942987315391.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Apabila menyambung ke VDI menggunakan klien VMWareHorizon, kami mungkin menghadapi situasi di mana aplikasi membeku semasa pengesahan atau blok sambungan. Artikel ini akan meneroka isu ini dan menyediakan cara untuk menyelesaikan situasi ini. Apabila klien VMWareHorizon mengalami masalah pembekuan atau sambungan, terdapat beberapa perkara yang boleh anda lakukan untuk menyelesaikan isu tersebut. Betulkan klien VMWareHorizon membeku atau tersekat semasa menyambung Jika klien VMWareHorizon membeku atau gagal menyambung pada Windows 11/10, ikuti penyelesaian yang dinyatakan di bawah: Semak sambungan rangkaian Mulakan semula klien Horizon Semak status pelayan Horizon Kosongkan cache klien Betulkan Ho
