Pada server linux, saya ingin mengurangi ukuran file log yang beberapa GB besar. Memotong bagian atas, atau mungkin satu juta baris pertama akan berhasil.
11
Ini muncul dalam wawancara cukup sering ...
Apakah Anda ingin memotong file tanpa mengganggu prosesnya? Apakah ada informasi dalam file log yang berharga? Jika demikian, saya biasanya "nol" file dengan string bash sederhana.
: > /var/log/badlogfile
Ini muncul dalam situasi di mana Anda mungkin memiliki aplikasi yang tidak dapat dimulai kembali secara terkendali. Katakanlah ini adalah aplikasi perdagangan keuangan dan program tidak dapat dihentikan atau dimulai kembali selama hari perdagangan. Namun, file log tumbuh pada tingkat cabul karena bug aplikasi. Memotong file log menggunakan metode di atas atau di bawah ini dapat membuat sistem tetap berjalan.
Lihat juga: http://www.cyberciti.biz/faq/truncate-large-text-file-in-unix-linux/
Anda bisa memasukkannya ke dalam logrotate, maka itu tidak akan lepas kendali dengan mudah
sumber
Jika secara aktif ditulis untuk Anda tidak memiliki banyak hal yang dapat Anda lakukan dengan memotong. Satu-satunya pilihan Anda adalah mengosongkan file (Anda dapat menyalinnya di tempat lain terlebih dahulu.)
Dengan begitu file tersebut berakhir kosong tetapi masih berupa file / inode yang sama sehingga tidak akan mengganggu program yang sedang login.
sumber
Anda juga dapat mencoba cat / dev / null> / var / log /. Tapi, saya harus memperingatkan / dev / null tidak diterapkan di beberapa versi yang lebih lama ...
sumber