raysv Skrevet 8. oktober 2010 Del Skrevet 8. oktober 2010 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
snippsat Skrevet 8. oktober 2010 Del Skrevet 8. oktober 2010 (endret) 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 8. oktober 2010 av SNIPPSAT Lenke til kommentar
Sokkalf™ Skrevet 10. oktober 2010 Del Skrevet 10. oktober 2010 (endret) #!/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 10. oktober 2010 av Sokkalf™ Lenke til kommentar
asicman Skrevet 13. oktober 2010 Del Skrevet 13. oktober 2010 Ikke noe i veien med løsningen til Sokkalf eller awk, men man kan plukke ut %-tallet med sed: df / | tail -1 | sed s'/.* \([0-9]*\)%.*/\1/' Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå