


Terdapat banyak log dalam pelayan Linux Bagaimana untuk membaca log dengan betul dan cepat mencari ralat? Anda mesti belajar!
Cepat cari ralat dalam sejumlah besar log
Lihat log secara dinamik
tail -f catalina.ou
Buka fail log dari awal
cat catalina.ou
Anda boleh menggunakan >nanjiangtest.txt
untuk mengeluarkan log baharu untuk dilihat
[root@yesky logs]# cat -n catalina.out |grep 717892466 >nanjiangtest.txt

ekor/kepala penggunaan arahan mudah:
[root@yesky logs]# tail -n number catalina.out 查询日志尾部最后number行的日志 [root@yesky logs]# tail -n +number catalina.out 查询number行之后的所有日志 [root@yesky logs]# head -n number catalina.out 查询日志文件中的前number行日志 [root@yesky logs]# head -n -number catalina.out 查询日志文件除了最后number行的其他所有日志
Cara pertama (cari nombor perjalanan berdasarkan kata kunci):
Terdapat sedikit log yang diperoleh dengan grep, kita perlu menyemak log berdekatan. Inilah yang saya lakukan, pertama: cat -n test.log | grep “关键词”
Dapatkan nombor baris log kunci
[root@yesky logs]# cat -n catalina.out |grep 717892466 13230539 [11:07 17:47:11] INFO nanjiang:Edit Old Article:717892466-2020-11- 07 17:47:11 13230593 [11:07 17:47:15] INFO nanjiangSave Article ID IS:717892466 13230595 717892466 article.getDisplayTime()1 = 2020-11-07 16:25:11 13230596 717892466 article.getDisplayTime()2 = 2020-11-07 16:25:11 13230601 [11:07 17:47:15] INFO 南江 10.10.10.39 edit article 717892466 编辑 文章
「kucing -n catalina.keluar|ekor -n +13230539|kepala -n 10」
-
tail -n +13230539
bermaksud menanyakan log selepas baris 13230539 -
head -n 10
bermaksud menyemak 10 rekod pertama dalam keputusan pertanyaan sebelumnya
Kaedah kedua: Lihat log dalam tempoh masa yang ditentukan
Pertama sekali, anda perlu menanyakan log dalam tempoh masa julat untuk melihat sama ada log itu wujud dalam masa semasa
[root@yesky logs]# cat -n catalina.out |tail -n +13230539|head -n 10 13230539 [11:07 17:47:11] INFO nanjiang:Edit Old Article:717892466- 2020-11-07 17:47:11 13230540 [11:07 17:47:11] INFO Takes:2 ms class com.tmg.cms.manager. dao.article.impl.ArticleContentDaoImpl getListByArticleId [NzE3ODkyNDY2] [int] 13230541 [11:07 17:47:11] INFO Takes:1 ms class com.tmg.cms.manager. dao.resourceImage.impl.ResourceImageDaoImpl load 13230542 [11:07 17:47:11] INFO Takes:0 ms class com.tmg.cms.manager. dao.resourceImage.impl.ResourceImageDaoImpl load 13230543 [11:07 17:47:11] INFO Takes:1 ms class com.tmg.cms.manager. dao.resourceImage.impl.ResourceImageDaoImpl load 13230544 [11:07 17:47:11] INFO article.getImage3:/uploadImages/2020/ 312/02/3NXCRK4U3589_2.jpg 13230545 [11:07 17:47:11] INFO Takes:0 ms class com.tmg.cms.manager. dao.resourceImage.impl.ResourceImageDaoImpl load 13230546 [11:07 17:47:11] INFO Takes:2 ms class com.tmg.cms.manager. dao.privilege.impl.UserDaoImpl getUserByid 13230547 [11:07 17:47:11] INFO Takes:57 ms class com.tmg.cms.manager .dao.sitemap.impl.SitemapDaoImpl selectSitemapWithoutAudit [MQ==] [int] 13230548 [11:07 17:47:11] INFO Takes:5 ms class com.tmg.cms.manager .dao.forbidword.impl.ForbidwordDaoImpl getForbidwordBysiteid [MjI=] [int]
Pertanyaan dalam julat masa
sed -n '/11:07 18:29:20/,/11:07 18:31:11/p' catalina.out sed -n '/11:07 18:29:/,/11:07 18:31:/p' catalina.out
第三种方式:查看日志中特定字符的匹配数目
[root@yesky logs]# grep '1175109632' catalina.out | wc -l 154
第四种方式:查询最后number行,并查找关键字“结果”
[root@yesky logs]# tail -n 20 catalina.out | grep 'INFO Takes:1' [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.config.impl.ConfigInfoDaoImpl load [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [NTkwOTQ5] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzI0] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzI3] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzMw] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzA5NA==] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [Mzc4Mg==] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [OTM1MA==] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MTE5MDMw] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [NTQ2MzQw] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [NTg2NzYy] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzYyMjA=] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.configModule.impl.ConfigModuleDaoImpl getPersonMenuList
第五种方式:查询最后number行,并查找关键字“结果”并且对结果进行标红
[root@yesky logs]# tail -n 20 catalina.out | grep 'INFO Takes:1' --color [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.config.impl.ConfigInfoDaoImpl load [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [NTkwOTQ5] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzI0] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzI3] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzMw] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzA5NA==] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [Mzc4Mg==] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [OTM1MA==] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MTE5MDMw] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [NTQ2MzQw] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [NTg2NzYy] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzYyMjA=] [int]
第六种方式:查询最后number行,并查找关键字“结果”并且对结果进行标红,上下扩展两行
[root@yesky logs]# tail -n 20 catalina.out | grep 'INFO Takes:1' --color -a2 [11:11 22:02:51] INFO Takes:0 ms class com.tmg.cms.manager.dao.article.impl.ArticleContent DaoImpl getArticlePageNum [NzE4MTM2ODky] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.config.impl.ConfigInfoDaoImpl load [com.tmg.cms.manager.model.config.ConfigInfo] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [NTkwOTQ5] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzI0] [int] [11:11 22:02:51] INFO Takes:0 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzI1] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzI3] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzMw] [int] [11:11 22:02:51] INFO Takes:0 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzAzNg==] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzA5NA==] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [Mzc4Mg==] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [OTM1MA==] [int] [11:11 22:02:51] INFO Takes:0 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MTE0MjQ4] [int] [11:11 22:02:51] INFO Takes:0 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MTE4MDc4] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MTE5MDMw] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [NTQ2MzQw] [int] [11:11 22:02:51] INFO Takes:0 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [NTQ3MTIw] [int] [11:11 22:02:51] INFO Takes:0 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [NTY4OTYx] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [NTg2NzYy] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.sitemap.impl.SitemapDaoImpl getSitemapTop [MzYyMjA=] [int] [11:11 22:02:51] INFO Takes:1 ms class com.tmg.cms.manager.dao.configModule.impl.ConfigModuleDaoImpl getPersonMenuList [com.tmg.cms.manager.model.config.ConfigPersonMenu]
第七种方式:分页查看,使用空格翻页(使用more/less)
[root@yesky logs]# tail -n 2000 catalina.out | grep 'INFO Takes:1' --color -a2 | more [root@yesky logs]# tail -n 2000 catalina.out | grep 'INFO Takes:1' --color -a2 | less
附加
1.全屏导航
-
ctrl + F
– 向前移动一屏 -
ctrl + B
– 向后移动一屏 -
ctrl + D
– 向前移动半屏 -
ctrl + U
– 向后移动半屏
2.单行导航
-
j
– 向前移动一行 -
k
– 向后移动一行
3.其它导航
-
G
– 移动到最后一行 -
g
– 移动到第一行 -
q / ZZ
– 退出 less 命令
Atas ialah kandungan terperinci Terdapat banyak log dalam pelayan Linux Bagaimana untuk membaca log dengan betul dan cepat mencari ralat? Anda mesti belajar!. 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



Sebab utama mengapa anda tidak boleh log masuk ke MySQL sebagai akar adalah masalah kebenaran, ralat fail konfigurasi, kata laluan tidak konsisten, masalah fail soket, atau pemintasan firewall. Penyelesaiannya termasuk: periksa sama ada parameter pengikat di dalam fail konfigurasi dikonfigurasi dengan betul. Semak sama ada kebenaran pengguna root telah diubahsuai atau dipadam dan ditetapkan semula. Sahkan bahawa kata laluan adalah tepat, termasuk kes dan aksara khas. Semak tetapan dan laluan kebenaran fail soket. Semak bahawa firewall menyekat sambungan ke pelayan MySQL.

C Language Conditional Compilation adalah mekanisme untuk selektif menyusun blok kod berdasarkan keadaan kompilasi masa. Kaedah pengenalan termasuk: menggunakan arahan #if dan #Else untuk memilih blok kod berdasarkan syarat. Ekspresi bersyarat yang biasa digunakan termasuk STDC, _WIN32 dan LINUX. Kes praktikal: Cetak mesej yang berbeza mengikut sistem operasi. Gunakan jenis data yang berbeza mengikut bilangan digit sistem. Fail header yang berbeza disokong mengikut pengkompil. Penyusunan bersyarat meningkatkan kebolehgunaan dan fleksibiliti kod, menjadikannya boleh disesuaikan dengan pengkompil, sistem operasi, dan perubahan seni bina CPU.

Lima komponen asas Linux adalah: 1. Kernel, menguruskan sumber perkakasan; 2. Perpustakaan sistem, menyediakan fungsi dan perkhidmatan; 3. Shell, antara muka pengguna untuk berinteraksi dengan sistem; 4. Sistem fail, menyimpan dan menganjurkan data; 5. Aplikasi, menggunakan sumber sistem untuk melaksanakan fungsi.

Terdapat banyak sebab mengapa permulaan MySQL gagal, dan ia boleh didiagnosis dengan memeriksa log ralat. Penyebab umum termasuk konflik pelabuhan (periksa penghunian pelabuhan dan ubah suai konfigurasi), isu kebenaran (periksa keizinan pengguna yang menjalankan perkhidmatan), ralat fail konfigurasi (periksa tetapan parameter), rasuah direktori data (memulihkan data atau membina semula ruang meja), isu ruang jadual InnoDB (semak fail ibdata1) Apabila menyelesaikan masalah, anda harus menganalisisnya berdasarkan log ralat, cari punca utama masalah, dan mengembangkan tabiat sandaran data secara teratur untuk mencegah dan menyelesaikan masalah.

MySQL tidak boleh berjalan secara langsung di Android, tetapi ia boleh dilaksanakan secara tidak langsung dengan menggunakan kaedah berikut: menggunakan pangkalan data ringan SQLite, yang dibina di atas sistem Android, tidak memerlukan pelayan yang berasingan, dan mempunyai penggunaan sumber kecil, yang sangat sesuai untuk aplikasi peranti mudah alih. Sambungkan jauh ke pelayan MySQL dan sambungkan ke pangkalan data MySQL pada pelayan jauh melalui rangkaian untuk membaca dan menulis data, tetapi terdapat kelemahan seperti kebergantungan rangkaian yang kuat, isu keselamatan dan kos pelayan.

Penyelesaian kepada ralat pemasangan MySQL adalah: 1. Berhati -hati memeriksa persekitaran sistem untuk memastikan keperluan perpustakaan ketergantungan MySQL dipenuhi. Sistem operasi dan keperluan versi yang berbeza adalah berbeza; 2. Berhati -hati membaca mesej ralat dan mengambil langkah -langkah yang sepadan mengikut arahan (seperti fail perpustakaan yang hilang atau kebenaran yang tidak mencukupi), seperti memasang kebergantungan atau menggunakan arahan sudo; 3 Jika perlu, cuba pasang kod sumber dan periksa dengan teliti log kompilasi, tetapi ini memerlukan pengetahuan dan pengalaman Linux tertentu. Kunci untuk menyelesaikan masalah akhirnya adalah dengan teliti memeriksa persekitaran sistem dan maklumat ralat, dan merujuk kepada dokumen rasmi.

Sebab utama kegagalan pemasangan MySQL adalah: 1. Isu kebenaran, anda perlu menjalankan sebagai pentadbir atau menggunakan perintah sudo; 2. Ketergantungan hilang, dan anda perlu memasang pakej pembangunan yang relevan; 3. Konflik pelabuhan, anda perlu menutup program yang menduduki port 3306 atau mengubah suai fail konfigurasi; 4. Pakej pemasangan adalah korup, anda perlu memuat turun dan mengesahkan integriti; 5. Pembolehubah persekitaran dikonfigurasikan dengan salah, dan pembolehubah persekitaran mesti dikonfigurasi dengan betul mengikut sistem operasi. Selesaikan masalah ini dan periksa dengan teliti setiap langkah untuk berjaya memasang MySQL.

Kegagalan pemasangan MySQL biasanya disebabkan oleh kekurangan ketergantungan. Penyelesaian: 1. Pengurus Pakej Sistem Penggunaan (seperti Linux Apt, Yum atau DNF, Windows Visualc Redistributable) untuk memasang perpustakaan pergantungan yang hilang, seperti sudoaptinstalllibmysqlclient-dev; 2. Berhati -hati semak maklumat ralat dan selesaikan kebergantungan kompleks satu demi satu; 3. Pastikan sumber Pengurus Pakej dikonfigurasi dengan betul dan boleh mengakses rangkaian; 4. Untuk Windows, muat turun dan pasang perpustakaan runtime yang diperlukan. Membangunkan kebiasaan membaca dokumen rasmi dan memanfaatkan enjin carian yang baik dapat menyelesaikan masalah dengan berkesan.
