Menggunakan cronjob untuk membersihkan / tmp


11

Apakah aman menggunakan skrip bash dan cronjob untuk dikosongkan /tmpsecara otomatis, atau haruskah saya melakukan ini secara berbeda?

Jawaban:


13

/tmpdibersihkan pada setiap reboot sistem, tetapi untuk sistem yang tidak dapat di-reboot sering, dan khususnya jika satu-satunya tujuan adalah membersihkan /tmpskrip dapat dibuat untuk membersihkannya.

Tidak ada proses yang harus menyimpan data penting di sana, tetapi penting bahwa Anda dapat membersihkan /tmptanpa mengganggu proses penulisan data tmp.

Saya rekomendasikan untuk menggunakannya tmpreaper.

Anda dapat menginstalnya dengan sudo apt-get install tmpreaper.

Dari halaman manual:

tmpreaper secara rekursif mencari dan menghapus file dan direktori kosong yang belum diakses selama beberapa detik. Biasanya, ini digunakan untuk membersihkan direktori yang digunakan untuk ruang penyimpanan sementara, seperti "/ tmp". Silakan baca bagian PERINGATAN dari manual ini.

Penggunaan biasanya melibatkan memanggil tmpreaperdi /tmpdengan argumen waktu spec. Argumen spek waktu dapat berupa apa saja mulai dari dberhari-hari, hberjam-jam, mmenit, atau sdetik.

Silakan gunakan --testuntuk mengeringkan lari dan dapatkan hasil dari hasilnya sebelum Anda benar-benar menjalankan perintah. Itu akan memberi Anda gambaran tentang apa yang akan dihapus sebelum Anda benar-benar melakukan perubahan apa pun pada sistem file.


Terima kasih! Untuk sepenuhnya menjawab pertanyaan saya, dapatkah Anda menjelaskan mengapa ini lebih baik daripada menggunakan penghapusan rekursif sederhana?
— Jochem Kuijpers

1
Ini bukan, itu hanya lebih mudah digunakan dan argumen yang digunakan lebih dimengerti. Sederhana rm -rfpada daftar file yang dikembalikan oleh findakan melakukan pekerjaan itu juga. Ini "hanya cara lain", bahkan tidak mengatakan yang terbaik, hanya yang saya gunakan pada server yang saya setup.
— Bruno Pereira

tmpreapersepertinya alat yang bagus, layak digunakan --testdan --showdeletessaat pengujian.
— RichVel

3

Coba tambahkan cronjob yang dijalankan

find /tmp/* -type d -mtime +5 -print0 | xargs -0 rm -rf 
find /tmp/* -type f -mtime +5 -print0 | xargs -0 rm -rf 

Ini akan menghapus semua file yang lebih lama dari 5 hari.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.