Linux'ta /tmp klasörlerini Otomatik Olarak Nasıl Silebilirim? Otomatik Disk Günlüğü Temizleme Bash Komut Dosyası
Yayınlanan: 2014-03-13
Herhangi bir Linux Ortamı için Otomatik Disk Günlüğü Temizleme işlemini gerçekleştirecek basit bir komut dosyası. Sadece doğru CRUNCHIFY_TMP_DIRS sağlamanız gerekir. Diskte boş alan kalmadığında her türlü sorun ortaya çıkabilir.
Ama ondan önce, bazı önemli komutların bazı temel anlayışlarına sahip olalım.
Aşama 1)
df -H komutunu kontrol edin.
Bir dosya sistemindeki toplam alan ve kullanılabilir alan hakkındaki bilgileri görüntülemek için df
komutunu kullanın.
FileSystem parametresi, dosya sisteminin bulunduğu aygıtın adını, dosya sisteminin bağlı olduğu dizini veya bir dosya sisteminin göreli yol adını belirtir.
FileSystem parametresini belirtmezseniz, df command
şu anda takılı olan tüm dosya sistemleri için bilgileri görüntüler. Bir dosya veya dizin belirtilirse, df komutu, bulunduğu dosya sistemi için bilgileri görüntüler.
Çıktı:
1 2 3 |
Filesystem Size Used Avail Capacity iused ifree % iused Mounted on / dev / disk0s2 499G 114G 385G 23 % 27868719 94059510 23 % / devfs 189k 189k 0B 100 % 640 0 100 % / dev |
Adım 2)
Sonraki dosya sistemini filtreleyin ve alan yüzdesini öğrenin
1 |
df - H | grep - vE '^Filesystem|tmpfs|cdrom' | awk '{ print $5 " " $1 }' |
Çıktı:
1 2 |
23 % / dev / disk0s2 100 % devfs |
Bu nedenle, bazen programlı olarak, alanınız kalmaması durumunda belirli klasörlerdeki dosyaları temizlemek isteyebilirsiniz. Bu durumda, aşağıdaki betiği çalıştırmanız yeterlidir ve kullanılmayan tüm dosyaları, betikte belirtilen filtre kriterlerine göre temizlemeye özen gösterecektir. Ayrıca komut dosyasında belirtilen kullanıcıya bir e-posta gönderir.
Bir diğeri okumalı:
- JAVA'da Windows/Mac Komutları Nasıl Çalıştırılır ve Metin Sonucu Nasıl Döndürülür
Linux DiskCleanup Komut Dosyasını Tamamlayın:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
#!/bin/bash # Diskclean-Linux.sh - Remove unused files from /tmp directories # @author: Crunchify.com # ------------- Here are Default Configuration -------------------- # CRUNCHIFY_TMP_DIRS - List of directories to search # DEFAULT_FILE_AGE - # days ago (rounded up) that file was last accessed # DEFAULT_LINK_AGE - # days ago (rounded up) that symlink was last accessed # DEFAULT_SOCK_AGE - # days ago (rounded up) that socket was last accessed CRUNCHIFY_TMP_DIRS = "/tmp /var/tmp /usr/src/tmp /mnt/tmp" DEFAULT_FILE_AGE =+ 2 DEFAULT_LINK_AGE =+ 2 DEFAULT_SOCK_AGE =+ 2 # Make EMPTYFILES true to delete zero-length files EMPTYFILES = false #EMPTYFILES=true cd / tmp / log "cleantmp.sh[$] - Begin cleaning tmp directories" echo "" echo "delete any tmp files that are more than 2 days old" / usr / bin / find $ CRUNCHIFY_TMP_DIRS \ - depth \ - type f - a - ctime $ DEFAULT_FILE_AGE \ - print - delete echo "" echo "delete any old tmp symlinks" / usr / bin / find $ CRUNCHIFY_TMP_DIRS \ - depth \ - type l - a - ctime $ DEFAULT_LINK_AGE \ - print - delete echo "" if / usr / bin / $ EMPTYFILES ; then echo "delete any empty files" / usr / bin / find $ CRUNCHIFY_TMP_DIRS \ - depth \ - type f - a - empty \ - print - delete fi echo "Delete any old Unix sockets" / usr / bin / find $ CRUNCHIFY_TMP_DIRS \ - depth \ - type s - a - ctime $ DEFAULT_SOCK_AGE - a - size 0 \ - print - delete echo "" echo "delete any empty directories (other than lost+found)" / usr / bin / find $ CRUNCHIFY_TMP_DIRS \ - depth - mindepth 1 \ - type d - a - empty - a ! - name 'lost+found' \ - print - delete echo "" / usr / bin / logger "cleantmp.sh[$] - Done cleaning tmp directories" # send out an email about diskcleanup action mail - s "Disk cleanup has been performed successfully." you @ email .com echo "" echo "Diskcleanup Script Successfully Executed" exit 0 |
Bu yardımcı olur umarım. Yukarıdaki komut dosyasıyla ilgili herhangi bir sorunuz varsa, bana bildirin. Herhangi bir öneri en açığız. Komut dosyası Linux ve Mac OS X altında çalışır.

every 3 days
bir yukarıdaki komut dosyasını çalıştırmak ister misiniz? Sadece aşağıdaki cron programını kullanın
Setting up CronJobs
hakkında ayrıntılı eğitim yolda. Lütfen takipte kalın.
1 |
0 0 */ 3 * * / opt / crunchify / crunchify_script . sh |