Clean up Scripts


 
Thread Tools Search this Thread
Top Forums UNIX for Advanced & Expert Users Clean up Scripts
# 1  
Old 07-27-2010
Clean up Scripts

Hi
i have a perl script that i use to clean up empty folders on our server.
I need to make a amendment to this to exclude certain folders. Folders are invisible to end users but must not be cleaned up by this script.
folders i need protecting have unique names
.Highres
.HighresF
.Lowres
.lowresF

here is the script, can anyone help to modify please. I am not a scripting expert if fact not a scripting beginer :-)


Code:
#!/usr/bin/perl -w


use File::Find;
use File::Path;

my $path;


############################################################################
#       aList
# 	checks how many visible files in dir
##############################################################################
sub aList(){
my $cnt = 0;
my $filename;

	opendir(DIRHANDLE, $_) or die "couldn't open $_ : $!";
	while ( defined ($filename = readdir(DIRHANDLE)) ) {
	    #print "Inside $path is something called $filename\n";
	    if ($filename !~ /^\./){
		$cnt++;	
	    }
	}
	closedir(DIRHANDLE);

	return $cnt;
}

############################################################################
#       remDir
# 	controlled empty dir removal
##############################################################################
sub remDir()
{
    if ($_ !~ /^\./){
	if (-d $_){
		if (aList() eq 0){
			rmtree($_);
			printf "DEL $_ \n";
		}
		else{
			printf "KEEP $_ \n";
		}
	}
	else{
		print "file ".$_."\n";
	}
    }
}


##############################################################################
#	aCleanup
# 	pre-archive cleanup routine
##############################################################################
sub aCleanup(){
	print "start cleanup\n";
	
	if ($path eq ""){
		print "cleanup parameters not correctly supplied\n";
	}
	else{
		finddepth(\&remDir, $path);
	}
	print "archive move done\n";
}


##########################################################################
#
#              MAIN
##########################################################################

    if ($#ARGV >= 0){
    	print "set argv\n";
    	$path = $ARGV[0];
	print $path."\n";
    	aCleanup();

    }
    else{
	print "no args\n";
    }


Regards
Treds


Last edited by pludi; 07-27-2010 at 06:27 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Clean up the space

Hi I just want to clean up the space in UNIX. Is there any special command that does this process or do I need to manually type the following rm <filename> Any help would be really appreciated. Thanks (2 Replies)
Discussion started by: bobby1015
2 Replies

2. Shell Programming and Scripting

How to clean this script?

Hello guys, this script partially works but it's still pretty ugly and, moreover, if the month is jan/feb/mar... it doesn't work at all. Could anyone say me how to correct, cut and clean a little bit? #!/usr/bin/ksh egrep -v -e "^\s*#" /file/permission | awk '{ print $1 }' | sort | uniq... (3 Replies)
Discussion started by: gogol_bordello
3 Replies

3. AIX

How to clean PV id?

When I run command: >chdev -l hdisk1 -a pv=clear It shows Method error (/etc/methods/chgdisk): 0514-062 Cannot perform the requested function because the specified device is busy. run: #>fuser -kxuc /dev/raw1 /dev/raw1: How to clean PV id? (4 Replies)
Discussion started by: rainbow_bean
4 Replies

4. UNIX for Dummies Questions & Answers

Help me clean this up

UNIX amature/novice. I've written a script (it works) that needs to be cleaned up. I'm searching for a way to perform a "go to , perform this then return" section of code. The books I have and searches i"ve done so far do not show me how to do this. I've pasted in the current code below. I've... (1 Reply)
Discussion started by: scanner248
1 Replies

5. Shell Programming and Scripting

clean /etc/hosts

hi all, i need to write a script. it should be able to clean the /etc/hosts file like this: first field is the ip (what else ;)) second field is the fqdn (full qualified domain name) third field is the hostname the fourth to n'th field is the rest. i hope you understand what is needed?... (5 Replies)
Discussion started by: DukeNuke2
5 Replies

6. UNIX for Advanced & Expert Users

Clean File

BeginDate 07/01/06 End: 07/31/06 Cust: A02991 - Burnham 0002000 5,829,773 145.3 0009701 4,043,850 267.3 2005000 286,785.13 100.0 BeginDate 07/01/06 End: 07/31/06 Cust: A01239 - East Track PSE Index A 0009902 317,356.82 890.2 0020021 ... (5 Replies)
Discussion started by: kris01752
5 Replies

7. Shell Programming and Scripting

clean up script

I have a script which would monitor a given directory and delete any files which are older than 10 days. I was going to set the 10 crob jobs to perform this operation for 10 different directories (some are actually sub-directories), but my boss doesn't like that idea, so I need to do that in one... (1 Reply)
Discussion started by: mpang_
1 Replies

8. UNIX for Advanced & Expert Users

Clean an LV out of the ODM

I recently had a disk crash and was not able to clean the dump lv off the disk. Now trying to create new lvdump I am running into errors. My question is how do I remove the old lv out of the ODM? I have tried going through smit and also just rmlv and it cannot find the lv. Yet when I run lslv on... (0 Replies)
Discussion started by: Wamland
0 Replies

9. AIX

Directory clean up

I want to write a script in ksh that will delete file that are more than 2 weeks old. (4 Replies)
Discussion started by: jango
4 Replies
Login or Register to Ask a Question