rizhas@rizhas-laptop:~$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda7 67G 58G 5,2G 92% /
none 4,0K 0 4,0K 0% /sys/fs/cgroup
udev 1,5G 12K 1,5G 1% /dev
tmpfs 303M 1,2M 302M 1% /run
none 5,0M 0 5,0M 0% /run/lock
none 1,5G 348K 1,5G 1% /run/shm
none 100M 80K 100M 1% /run/user
overflow 1,0M 1,0M 0 100% /tmp
overflow 1,0M 1,0M 0 100% /tmp
Bagaimana cara membersihkannya /tmp
?
Jawaban:
/ tmp seharusnya dibersihkan saat reboot, tetapi jika Anda tidak reboot (yang normal untuk server), pembersihan tidak akan terjadi
find /tmp -ctime +10 -exec rm -rf {} +
akan menghapus semua file dan folder yang lebih lama dari 10 hari. Anda mungkin ingin menambahkannya ke cron harian.
MEMPERBARUI
Dalam komentar di bawah ini @sfussenegger merekomendasikan format yang sedikit berbeda dari perintah ini yang mungkin lebih cocok untuk kebutuhan Anda dan sistem yang Anda operasikan.
sudo find /tmp -type f -atime +10 -delete
Di sini perintah digunakan
sudo
untuk memastikan semuanya dihapus (atau Anda dapat menjalankannya sebagai root), beroperasi pada file yang belum diakses selama lebih dari 10 hari dan hanya menghapus file, bukan folder . Ini juga digunakan-delete
untuk menghindari keharusan menjalankanrm
perintahsumber
-type f
). jika tidak, Anda mungkin menemukan bahwa induk dari pohon direktori belum diakses untuk sementara waktu dan menghapus semua kontennya yang berpotensi masih digunakan. jadi perintah terakhir yang saya rekomendasikan adalahsudo find /tmp -type f -atime +10 -delete
Anda dapat mengasumsikan bahwa apa pun di dalam direktori tmp (/ tmp / / usr / tmp dll) dapat dihapus. SEBELUM Anda mulai menghapus, hentikan semua program dan layanan yang Anda gunakan karena / tmp / dapat digunakan oleh program untuk menyimpan sementara informasi untuk sesi itu. Jadi lakukan a
sudo service mysql stop
dansudo service apache2 stop
jika Anda menjalankan mysql dan / atau apache. Nama file dalam direktori / tmp / paling sering memberikan petunjuk untuk program apa yang mereka miliki.Jadi dari baris perintah ...
akan mengosongkan direktori / tmp / dan menghapus semua file dan subdirektori. Hati-hati mengetiknya dengan benar. Perintah
pwd
di sana tidak perlu tetapi harus ditampilkan/tmp
.Jika Anda menginginkannya secara interaktif (jadi Anda perlu mengonfirmasi penghapusan):
Juga perlu dicatat bahwa reboot akan menghapus / tmp juga seperti yang ditunjukkan di sini: Bagaimana direktori / tmp dibersihkan? Jadi jika / tmp / penuh dengan file setelah reboot, Anda perlu menyelidiki dari mana file-file itu berasal.
Saya juga ingin menyatakan bahwa 1 Mb untuk / tmp tidak banyak ruang. Apakah Anda menggunakan MySQL? Lihat https://unix.stackexchange.com/a/76058/10017 tentang cara memperbaikinya (terima kasih @drc)
sumber
who –b
(tanggal boot terakhir), dan kemudian membuat file / boottime tanggal pada saat boot (touch ....... /boottime
), akan memungkinkan seseorang untuk melakukan yang amanfind /tmp -type f \( ! -newer /boottime \) -delete \;
, menghapus hanya file yang lebih tua dari boot terakhirmktemp
secara teratur dalam skrip saya, saya sangat tidak setuju dengan pernyataan "tanpa membahayakan"./tmp
berisi sesuatu yang lebih tua dari reboot terakhir, maka skrip startup belum melakukan tugasnya.The
tmpreaper
program dapat digunakan untuk membersihkan / tmp secara berkala. Program ini menghapus semua yang belum diakses dalam jangka waktu tertentu, biasanya dua minggu. Agar ini berfungsi dengan baik, sistem file yangatimes
dihidupkan harus mengaktifkan opsi. Jika Anda menggunakan tmpfs , yang tampaknya Anda lakukan, maka Anda seharusnya baik-baik saja.Tentu saja, me-reboot juga membersihkan / tmp , tapi itu akan membosankan.
sumber
Direktori
/tmp
berarti sementara.Direktori ini menyimpan data sementara. Anda tidak perlu menghapus apa pun darinya, data yang terkandung di dalamnya akan dihapus secara otomatis setelah setiap reboot.
Masih jika Anda ingin menghapus data yang ada di dalamnya gunakan
sudo rm -r /tmp/*
menghapusnya tidak akan menimbulkan masalah karena ini adalah file sementara.
sumber
Berhati-hatilah sebelum menjalankan perintah seperti
rm -r ./*
. Setelah Anda menjalankannya, akan sangat sulit atau tidak mungkin untuk memulihkan data apa pun.Semua akan dihapus. Pastikan direktori yang Anda hapus benar.
Ada cara yang lebih aman untuk menangani berbagai hal.
Dengan begitu, ketika Anda secara tidak sengaja menjalankan perintah ini dari dalam shell Anda
history
, itu tidak akan menghapus file yang salah (kecuali Anda menyimpannya/tmp
).sumber
The
/tmp
direktori dibersihkan secara default di setiap boot, karenaTMPTIME
adalah0
secara default.sumber
Jika mount "/ tmp" Anda pada sistem file linux dipasang sebagai overflow (sering berukuran 1MB), ini kemungkinan karena Anda tidak menentukan "/ tmp" sebagai partisi sendiri dan sistem file root Anda terisi dan "/ tmp" telah ditulis ulang sebagai mundur. Untuk memperbaikinya setelah Anda mengosongkan ruang, cukup unmount fallback dan itu harus dipasang kembali pada titik aslinya:
jika perangkat sibuk digunakan
sumber