Saya baru di Ubuntu dan saya mencoba menyiapkan Postfix. Pertanyaan login adalah /var/log/mail.log
. Saya bertanya-tanya apakah ada cara yang benar untuk menghapusnya, daripada saya masuk dan menghapus semua baris dan menyimpannya. Saya menemukan bahwa terkadang kesalahan tidak segera ditulis setelah saya menghapus log dan menyimpannya
Catatan tambahan. Saya mengalami masalah saat menyiapkan Postfix dan mencoba mempermudah saya untuk membaca log dengan harapan dapat membantu saya, alih-alih harus menggulir sepenuhnya ke bawah
Temukan di bawah semua kemungkinan solusi atau saran untuk pertanyaan di atas
Saran. 1
Kamu bisa memakai
> /var/log/mail.log
Itu akan memotong log tanpa Anda harus mengedit file. Ini juga merupakan cara yang andal untuk mendapatkan ruang kembali. Kadang-kadang orang membuat kesalahan dengan menggunakan rm pada log kemudian membuat ulang nama file, jika proses lain membuka file maka Anda tidak mendapatkan ruang kembali sampai proses itu menutupnya dan Anda dapat mengacaukan izinnya
Juga jika Anda melihat isi log, Anda mungkin ingin menggunakan perintah tail
tail -f /var/log/mail.log
_Ctrl-C akan memutuskan tailing
Saran. 2
Ya, ada cara yang tepat. Anda tidak menghapus log sama sekali. Anda memutarnya. Rotasi melibatkan pengalihan keluaran log ke file baru, dengan nama yang sama, dengan file log N sebelumnya disimpan di bawah satu set nama file terkait N
Bagaimana seseorang memutar log tergantung dari bagaimana seseorang menulisnya di tempat pertama. Ini adalah poin yang sering diabaikan. Beberapa jawaban di sini setidaknya menyentuhnya, menyebutkan bahwa beberapa program logging menyimpan deskriptor file terbuka untuk file log, jadi menghapus file saja tidak akan mengosongkan ruang, atau bahkan mengalihkan keluaran ke file log baru
Jika program menulis file log adalah multilog
dari paket daemontools
, misalnya, maka Anda tidak melakukan apa pun untuk memutar log sama sekali — tidak ada skrip manual, tidak ada
tail -f /var/log/mail.log
0 pekerjaan. Cukup beri tahu multilog
bahwa output log adalah ke direktori, dan itu sendiri akan mempertahankan kumpulan file N log yang diputar dan dibatasi ukurannya secara otomatis di direktori ituJika program yang menulis file log adalah
tail -f /var/log/mail.log
_2 dari paket tail -f /var/log/mail.log
3, untuk contoh lain, maka hal yang sama berlaku. Anda tidak melakukan apa pun selain mengarahkan alat ke direktori. Itu sendiri akan mempertahankan kumpulan file N log yang diputar dan dibatasi ukurannya secara otomatis di direktori ituJika Anda menggunakan
tail -f /var/log/mail.log
4 untuk menulis file log, maka program logging dapat disuruh berhenti setelah file log mencapai ukuran tertentu dan menjalankan skrip. Anda harus menulis inti skrip, untuk benar-benar mengganti nama file log dan menghapus file log lama berdasarkan batasan ukuran total, tetapi setidaknya program logging telah menutup file dan menghentikan penulisan log saat ini terjadiCara
tail -f /var/log/mail.log
_5 lama untuk memutar log, masih diharapkan oleh program logging seperti syslog-ng dan seperti yang dicontohkan oleh alat seperti tail -f /var/log/mail.log
6 yang disebutkan oleh tail -f /var/log/mail.log
7 dalam jawaban lain di sini, agak lebih serampangan. Seseorang menjalankan pekerjaan tail -f /var/log/mail.log
0 yang secara berkala mengganti nama file log, dan memulai ulang daemon logging [menggunakan supervisor daemon apa pun yang menjalankannya]. Masalah dengan ini, tentu saja, tidak menerapkan batas ukuran keseluruhan. Pada minggu-minggu yang lambat seseorang bisa mendapatkan N file log harian yang sangat kecil, sedangkan pada hari-hari sibuk seseorang bisa mendapatkan 1 file log yang sangat besar yang melebihi batas ukuranInilah sebabnya mengapa nanti dan alat yang lebih baik seperti multilog
dan
tail -f /var/log/mail.log
2 memiliki opsi konfigurasi ukuran file dan benar-benar memeriksa sendiri ukuran file log, tentu saja. Dunia telah belajar bahwa polling log pada jadwal dengan tail -f /var/log/mail.log
0 pekerjaan, atau bahkan tail -f /var/log/mail.log
6 daemon, meninggalkan jendela untuk ukuran yang salah, dan bahwa tempat yang tepat untuk pemeriksaan ini, dan dengan ketat menegakkan batas ukuran yang ditentukan administrator sehingga Saran. 3
Anda dapat menggunakan ini juga
truncate /opt/package/logs/*.log --size 0
Di sini semua file log di /opt/package/logs akan menjadi kosong
Saran. 4
Ya, ada alat untuk linux bernama LogRotate
Saran. 5
Jika alasan Anda menghapus log adalah untuk mengosongkan ruang, Anda dapat cat /dev/null ke log tersebut, tanpa mengganggu penulisan program di dalamnya. Jangan pernah menghapusnya. beberapa perangkat lunak mungkin mengeluh dengan berhenti bekerja atau mengabaikan log sepenuhnya hingga restart berikutnya
cat /dev/null > /path/to/logfile
# to empty all the logs in a directory
for i in /var/log/*; do cat /dev/null > $i; done
Saran. 6
Penimpaan konten pendek dan kompatibel
truncate /opt/package/logs/*.log --size 0
3Tapi ada juga truncate[2] system call, dan alat userspace terkait
truncate /opt/package/logs/*.log --size 0
4 di banyak *NIXSaran. 7
Jika Anda ingin menyimpan file sebelum membersihkannya, Anda bisa melakukannya
cp /var/log/mail.log /var/log/mail.log.1 && echo -n "" > /var/log/mail.log
Jika Anda ingin mencari teks atau email tertentu di log, Anda dapat menggunakan grep. Jika Anda ingin menyimpan beberapa grafik tentang penggunaan email, Anda dapat menggunakan AWStats
Saran. 8
Inilah cara saya melakukannya, dan ini hanya untuk NGINX, Anda dapat menghapusnya agar berfungsi di semua file log
# Clear nginx logs.
# @usage delnginxlogs
function delnginxlogs[] {
echo "--------------- ⏲ Clearing logs.. ---------------"
# Clear logs.
for i in /var/log/nginx/*; do cat /dev/null > $i; done
echo "--------------- ⏲ Deleting .gz log files.. ---------------"
# Delete .gz files.
find /var/log/nginx -type f -regex ".*\.gz$" -delete
echo "--------------- 💯 DONE: NGINX logs cleared .. ---------------"
}
Saran. 9
cat /dev/null > /path/to/logfile
Bekerja untuk saya
Penafian. Ini bersumber dari umpan sindikasi pihak ketiga melalui internet. Kami tidak bertanggung jawab atau berkewajiban atas ketergantungan, kepercayaan, keandalan, dan data teksnya. Kami memiliki hak tunggal untuk mengubah, menghapus, atau menghapus [tanpa pemberitahuan] konten atas kebijaksanaan mutlaknya dengan alasan apa pun