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.