[slbackup-commit] CVS update: slbackup/src slbackup-cron
werner-guest@alioth.debian.org
werner-guest@alioth.debian.org
Sun, 28 Nov 2004 09:16:27 -0700
User: werner-guest
Date: 04/11/28 09:16:27
Modified: src slbackup-cron
Log:
started pre- and post-scripthandling
Revision Changes Path
1.10 +38 -1 slbackup/src/slbackup-cron
Index: slbackup-cron
===================================================================
RCS file: /cvsroot/slbackup/slbackup/src/slbackup-cron,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- slbackup-cron 3 Nov 2004 17:34:53 -0000 1.9
+++ slbackup-cron 28 Nov 2004 16:16:26 -0000 1.10
@@ -291,6 +291,43 @@
}
+# subroutine that runs scripts in a directory which is executable
+# returns:
+# 0: successfully executed all scripts in directory
+# 1: failed reading $dir
+# 2: one or more of the script failed while executing
+sub run_scripts {
+ my ($dir) = @_;
+
+ # check that $dir is a directory
+ if ( ! -d $dir || ! -r $dir ) {
+ logger ("Failed reading files in script-directory $dir");
+ return 1;
+ }
+
+ # find all executables in $dir
+ my @scripts;
+ open (FILELIST, `ls $dir`);
+ while (<FILELIST>) {
+ if ( -x $dir/$_ ) {
+ push @scripts, "$dir/$_";
+ }
+ }
+ close (FILELIST);
+
+ # execute @scripts
+ my $subretval = 0;
+ my $script;
+ foreach $script (sort @scripts) {
+ my $output = `$script 2>&1`;
+ my $retval = ! $?;
+ print "script : $script";
+ print "retval : $retval";
+ print "output : $output";
+ }
+
+ return $subretval;
+}
1;