Gå til innhold

Script som sletter en katalog hvis partisjonen går over x% full


Anbefalte innlegg

Hei,

 

Ikke så god på scripting, men har en linux boks som hele tiden vil generere filer i tmp.. også skulle jeg gjerne ha laget et script som sjekker om / root er over eller under 80% full, og eventuelt rm'er en katalog i tmp hvis den er over 80%.

 

Regner med at et forholdvis enkelt script kanskje fikser den biffen greit? noen som har noen tips? :)

Lenke til kommentar
Videoannonse
Annonse

Her er en kode i python som sjekker hvor mange mb det er i en folder.

Du kan sette størrelse du ønsker på folder,før sletting skjer.

Setter du opp en cron job med ønsket intervall,går dette automatisk.

import os
import shutil

#Pick a folder you have ...
folder = 'tmp/test'
folder_size = 0
for (path, dirs, files) in os.walk(folder):
 for file in files:
   filename = os.path.join(path, file)
   folder_size += os.path.getsize(filename)

#Print out size of folder in MB
print "Folder = %0.2f MB" % (folder_size/(1024*1024.0))

#Make a statement that delete folder by it`s size
folder_s = folder_size/(1024*1024.0)
if folder_s > 3.8:
   print 'Delete'  #Test print
   #shutil.rmtree('path/folder') #activate to delete

Endret av SNIPPSAT
Lenke til kommentar

#!/usr/bin/env bash
DISKSPACE=`df / |grep "/" | awk '{print $4}' | sed s/%//`
DELETEDIR=/tmp/dittdir

if [ $DISKSPACE -gt 80 ]; then
rm -rf $DELETEDIR
fi

 

Denne kan du f.eks legge i cron, og kjøre den med fornuftige intervaller.

 

Edit: rettet en feil som kunne oppstå med df-prosent på noe annet enn 2 siffer.

Endret av Sokkalf™
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...