typeset chDOW="${1:0:3}"
if [ "${chDOW}" != "Thu" ] ; then
return 1
fi
return 0
}
pCheckAttempts ()
{
typeset fLog="${1}"
typeset iCurrDay="${2}"
typeset iNrOfAttempts=0
typeset iMaxAttempts=3
grep "$iCurrDay" "$fLog" > "${fLog}.tmp"
echo "$iCurrDay $fLog "
mv "${fLog}.tmp" "${fLog}"
echo "$iCurrDay" >> "$fLog"
iNrOfAttempts=$(grep -c "$iCurrDay" "$fLog")
#echo "No. Of attempts: $iNrOfAttempts "
if [ "$iNrOfAttempts" -gt "$iMaxAttempts" ]
then
echo "Attempts $iNrOfAttempts exceeds set maximum of attempts $iMaxAttempts"
return 1
fi
return 0
}
# ------- main
typeset chDate="$(date +'%a %d')"
typeset fAttemptsLog="/usr/local/wam/scripts/attempts.log"
if ! pCheckDOW "${chDate:0:3}" ; then
echo "Error: This runs only on Thursday." >&2
exit 1
fi
if ! pCheckAttempts "$fAttemptsLog" "${chDate:4:2}" ; then
echo " Mail sent to IOC, Exiting script"
exit 2
fi
#iall stuff here
echo "1. Attempt $ (grep -c "$iCurrDay" "$fLog")" ## This is not working
echo "2. Attempt $iNrOfAttempts " ## This is not working
echo "3. Attempt (grep -c "$iCurrDay" /usr/local/wam/scripts/attempts.log) ## This is working in linux, but not in Solaris 10
echo -e " 1. command issued to bring down apps. \n 2. checking apps"
echo -e " 1. app1 down \n 2. app2 still running"
exit 1
echo -e " 3. app3 down \n app4 down"
exit 0
Output
Code:
[v287980@attir50]$ ./testscript.sh
17 /usr/local/wam/scripts/attempts.log
grep: : No such file or directory
1. Attempt no.
2. No. Of attempts:
3. Attempt no. 2
1. command issued to bring down apps.
2. checking apps
1. app1 down
2. app2 still running
I am sure i made a mistake some where, but not able to find that..
I want to create an automated script which is called by another maually executed script.
The condition is that the no one should be able to manually execute the automated script.
The automated script can be on the same machine or it can be on a remote machine.
Can any one suggest a check in the... (1 Reply)
Hi ,
I have a date parameter passed in YYYYMMDD format , how can I check whether it is Sat or Sun on Solaris box , as we can do the same easily on linux box by using date -d YYYYMMDD '+a' .
Any pointres will be really helpful . (5 Replies)
Hi,
i have a script 'a.sh' that should be called only by certain scripts like b.sh, c.sh
Inside a.sh, how can i determine
1) if this script was run directly from command prompt (or scheduler)
2) if called via other scripts?
Is there an easy way to get parent process name (not just pid),... (2 Replies)
Hello,
I wanted to run one of my shell script for every sunday at 5PM.
Here is the crontab entry i am using..
00 17 * * 0 /inventory/update.sh > /inventory/update.log 2>&1
The job is not kicking on sunday at the specified time.. Am i missing anthing?
Any help is appreciated... (2 Replies)
I have a local linux machine in which the files are dumped by a remote ubuntu server. If the process in remote server has any problem then empty files are created in local machine. Is there any way using perl script to check if the empty files are being created and delete them and then run a shell... (2 Replies)
I was to schedule a script in a crontab after every 15 days specically on every 2nd Sunday.
I know that i can schedule on basis of weekdays, but can it be done by skipping in between???:wall: (5 Replies)
Hi,
I need to create a autosys job which will run on every sunday at 7:30 AM NY time for each 10 min interval of time.
days_of_week: su
start_mins: 0,10,20,30,40,50
run_window:"07:30"
Is it fine? Please help
Thanks,
Anup (2 Replies)
Hello,
I'm looking for a bash script, that I will run from cron, that executes a php script. After 5 minutes that the php script is executed, the bash script, must check a value in a text file /public_html/check.txt
if check.txt = 0 the script will stop, if check.txt is not = 0 it must... (0 Replies)
Hi all,
I have a script that can be run via cron or via the command line.
Is there any way that I can place something on the script to be able to distinguish/differentiate whether the script was run via a user in the command line or whether it was run from the cron? (3 Replies)
Hi ALL,
I have been testing this script to run for every last Sunday of the month,looks like month which have 5 sunday (july 2016 )is not passing this and failing every time.
Here is what I am using,
current_date=31
echo " CURRENT DAY -> $current_date"
if
... (2 Replies)
Discussion started by: netdbaind
2 Replies
LEARN ABOUT DEBIAN
test::script::run
Test::Script::Run(3pm) User Contributed Perl Documentation Test::Script::Run(3pm)NAME
Test::Script::Run - test the script with run
SYNOPSIS
use Test::Script::Run;
# customized names of bin dirs, default is qw/bin sbin script ./;
@Test::Script::Run::BIN_DIRS = qw/bin/;
run_ok( 'app_name', [ app's args ], 'you_app runs ok' );
my ( $return, $stdout, $stderr ) = run_script( 'app_name', [ app's args ] );
run_output_matches(
'app_name', [app's args],
[ 'out line 1', 'out line 2' ],
[ 'err line 1', 'err line 2' ],
'run_output_matches'
);
run_output_matches_unordered(
'app_name', [ app's args ],
[ 'out line 2', 'out line 1' ],
[ 'err line 2', 'err line 1' ],
'run_output_matches_unordered'
);
DESCRIPTION
This module exports some subs to help test and run scripts in your dist's bin/ directory, if the script path is not absolute.
Nearly all the essential code is stolen from Prophet::Test, we think subs like those should live below "Test::" namespace, that's why we
packed them and created this module.
FUNCTIONS
run_script($script, $args, $stdout, $stderr)
Runs the script $script as a perl script, setting the @INC to the same as our caller.
$script is the name of the script to be run (such as 'prophet'). $args is a reference to an array of arguments to pass to the script.
$stdout and $stderr are both optional; if passed in, they will be passed to IPC::Run3's run3 subroutineA as its $stdout and $stderr args.
Otherwise, this subroutine will create scalar references to pass to run3 instead (which are treated as strings for STDOUT/STDERR to be
written to).
Returns run3's return value and, if no $stdout and $stderr were passed in, the STDOUT and STDERR of the script that was run.
run_ok($script, $args, $msg)
Runs the script, checking that it didn't error out.
$script is the name of the script to be run (e.g. 'prophet'). $args is an optional reference to an array of arguments to pass to the script
when it is run. $msg is an optional message to print with the test. If $args is not specified, you can still pass in a $msg.
Returns nothing of interest.
run_not_ok($script, $args, $msg)
opposite of run_ok
get_perl_cmd($script, @ARGS)
Returns a list suitable for passing to "system", "exec", etc. If you pass $script then we will search upwards for it in @BIN_DIRS
is_script_output($scriptname @args, @stdout_match, @stderr_match, $msg)
Runs $scriptname, checking to see that its output matches.
$args is an array reference of args to pass to the script. $stdout_match and $stderr_match are references to arrays of expected lines. $msg
is a string message to display with the test. $stderr_match and $msg are optional. (As is $stdout_match if for some reason you expect your
script to have no output at all. But that would be silly, wouldn't it?)
Allows regex matches as well as string equality (lines in $stdout_match and $stderr_match may be Regexp objects).
run_output_matches($script, $args, $exp_stdout, $exp_stderr, $msg)
A wrapper around is_script_output that also checks to make sure the test runs without throwing an exception.
run_output_matches_unordered($script, $args, $exp_stdout, $exp_stderr, $msg)
This subroutine has exactly the same functionality as run_output_matches, but doesn't impose a line ordering when comparing the expected
and received outputs.
last_script_stdout
return last script's stdout
last_script_stderr
return last script's stderr
last_script_exit_code
return last script's exit code
DEPENDENCIES
Test::More, Test::Exception, IPC::Run3, File::Basename, File::Spec
BUGS AND LIMITATIONS
No bugs have been reported.
AUTHOR
sunnavy "<sunnavy@bestpractical.com>"
LICENCE AND COPYRIGHT
Copyright 2009 Best Practical Solutions.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.10.1 2011-01-07 Test::Script::Run(3pm)