Rotasi Log & Pembersihan Otomatis
Jaga kesehatan disk dengan mengotomatiskan rotasi log dan pembersihan berkas lama menggunakan logrotate serta skrip terjadwal berbasis find.
Rotasi Log & Pembersihan Otomatis adalah pelajaran Linux Command Line & Bash Scripting Mastery gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Linux Command Line & Bash Scripting Mastery, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Linux Command Line & Bash Scripting Mastery mencakup 4 pelajaran total.
Masalah Log yang Terus Bertambah
Layanan yang berjalan lama menulis log tanpa henti. Tanpa pengelolaan, log akan memenuhi disk dan membuat sistem gagal. Rotasi dan pembersihan membantu mengendalikannya.
du -sh /var/log/*Fungsi Rotasi Log
Rotasi mengganti nama log saat ini, membuat log kosong yang baru, dan menyimpan sejumlah salinan lama terkompresi.
- app.log menjadi app.log.1
- Salinan lama dikompresi dengan gzip
- Salinan yang paling lama dihapus
Memperkenalkan logrotate
logrotate adalah alat Linux standar yang mengotomatiskan rotasi berdasarkan ukuran atau usia, yang didefinisikan di bawah /etc/logrotate.d/.
cat /etc/logrotate.confKonfigurasi Dasar logrotate
Blok konfigurasi mencantumkan berkas log dan kebijakan rotasinya.
/var/log/myapp/*.log {
daily
rotate 7
compress
missingok
notifempty
}Memahami Direktif
Direktif umum:
dailymelakukan rotasi setiap harirotate 7menyimpan 7 berkas lamacompressmengompresi log yang dirotasimissingokmelewati berkas jika tidak ada
Menguji Tanpa Menunggu
Paksa eksekusi dengan -f atau lakukan uji coba dengan -d untuk memvalidasi konfigurasi sebelum mempercayai jadwalnya.
logrotate -d /etc/logrotate.d/myapp
logrotate -f /etc/logrotate.d/myappSkrip postrotate
Banyak layanan tetap membuka penangan berkas lama. Blok postrotate memberi sinyal kepada layanan untuk membuka kembali lognya setelah rotasi.
/var/log/myapp/*.log {
daily
postrotate
systemctl reload myapp
endscript
}Membersihkan Berkas Lama dengan find
Untuk pembersihan sesekali, find dengan -mtime menemukan berkas yang lebih lama dari N hari lalu menghapusnya.
find /var/log/myapp -name "*.log" -mtime +30 -deleteSkrip Pembersihan yang Aman
Bungkus pembersihan dalam skrip yang mencatat apa saja yang dihapusnya, sehingga Anda memiliki jejak audit.
#!/bin/bash
DIR=/var/backups
find "$DIR" -name "*.tar.gz" -mtime +14 -print -delete \
>> /var/log/cleanup.log 2>&1Menjadwalkan Pembersihan
Tempatkan rotasi di bawah logrotate (yang sudah digerakkan oleh cron) dan jadwalkan skrip pembersihan khusus dengan entri crontab Anda sendiri.
# crontab -e
30 2 * * * /usr/local/bin/cleanup.shMemantau Penggunaan Disk
Tambahkan pengaman yang memberikan peringatan saat partisi melewati ambang batas agar pembersihan tidak pernah terlambat dijalankan.
USAGE=$(df --output=pcent / | tr -dc "0-9")
[ "$USAGE" -gt 90 ] && echo "Disk over 90%" | mail -s alert rootPemeriksaan Cepat
Uji pengetahuan Anda tentang otomatisasi.
Ringkasan
Anda telah mengotomatiskan pemeliharaan log:
- logrotate melakukan rotasi berdasarkan usia/ukuran dengan
rotate,compress,postrotate - Validasi dengan
-d/-f - Gunakan
find -mtime +N -deleteuntuk pembersihan khusus - Jadwalkan dengan cron dan gunakan peringatan penggunaan disk sebagai pengaman
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Rotasi Log & Pembersihan Otomatis” gratis?
Ya — teks lengkap “Rotasi Log & Pembersihan Otomatis” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Linux Command Line & Bash Scripting Mastery, upgrade ke CoddyKit PRO. Kursus Linux Command Line & Bash Scripting Mastery mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Rotasi Log & Pembersihan Otomatis”?
Jaga kesehatan disk dengan mengotomatiskan rotasi log dan pembersihan berkas lama menggunakan logrotate serta skrip terjadwal berbasis find. Kamu berlatih Linux Command Line & Bash Scripting Mastery dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Linux Command Line & Bash Scripting Mastery?
Tidak diperlukan pengalaman sebelumnya. Linux Command Line & Bash Scripting Mastery di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Rotasi Log & Pembersihan Otomatis” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Linux Command Line & Bash Scripting Mastery ini?
Ya. Setiap pelajaran Linux Command Line & Bash Scripting Mastery menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Menjadwalkan Tugas dengan Cron
- Mengotomatiskan Administrasi Sistem
- Proyek Pembuatan Skrip Lanjutan
- Rotasi Log & Pembersihan Otomatis