01-31-2017
Let me see if I understand the request correctly: You have a NAS mounted on a number of servers sharing a shell script on that NAS. Only one single server is allowed to run one instance of the script at a given point in time, all others should be locked out during that run. The result is server dependent and should be stored locally on the respective server.
As it is many servers, local lock mecanisms won't work. Unless the OS offers lock mechanisms across all servers, you have to create one on your own.
Reading through your posts, I'm not sure if you differentiate between the lock file and the result file. You need both of them. While you can store the results locally, you should create the lock file some place available to all servers. One example - not being everybody's preferred choice - would be the script's path on the NAS, or e.g. a "lock" directory thereunder. You could use a simple file name, or a "personalized" one as Corona688 proposed, and use Scrutinizer's trap to remove it at script exit - not forgetting for the "normal", healthy script end.
No running scripts should be killed by the mechanism, but the nth instance should quit graciously when it sees another instance running, possibly logging such event when quitting.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
using ps -ef | fgrep "ld_data"
how do i write a script to check that it didn't already run
Thanks (2 Replies)
Discussion started by: Link_02
2 Replies
2. Shell Programming and Scripting
HI,
I have a script which will be running all the time...it is like a trigger.. wakesup every 10 minutes(trigger.sh) executes, and I want to write another script which monitors this script every one hour and if it finds that trigger script is not running it should start it and exit...and here... (9 Replies)
Discussion started by: mgirinath
9 Replies
3. Shell Programming and Scripting
Hi,
I want to run a check platform & application script under ksh (Soaris boxes).
It runs some commands and it take some time.
I want to customize it like that:
- output is too big, hence I want some output of the commands to be redirect
ed in an output file (or maybe two or three) - not... (4 Replies)
Discussion started by: heartwork
4 Replies
4. UNIX for Dummies Questions & Answers
I am looking for the syntax to check which ID is executing script.sh. If the the ID, is not user1 then I want the script to exit and return to command prompt, if it is user1, then I want the script to continue. Any help would be greatly appreciate.
Thank you.
Chris (3 Replies)
Discussion started by: cpolikowsky
3 Replies
5. Shell Programming and Scripting
Hi,
I am a unix newbie. I need to write a script to check wheteher another script is still running. If it is, then sleep for 30m and then check again if the script is running. If the script has stopped running then, I need to come out of the loop.
I am using RHEL 5.2 (2 Replies)
Discussion started by: mathews
2 Replies
6. UNIX for Dummies Questions & Answers
Hey guys, so I wrote a small script that pretty much just takes in two numbers and counts from the first to the second, e.g.
unknown-hacker|544> count.sh 1 3
1
2
3
My problem is I want to make it so that if you input invalid parameters, such as non-numerical characters, more than 2... (2 Replies)
Discussion started by: Duo11
2 Replies
7. Shell Programming and Scripting
Hi,
Can anyone please tell me how to write a shell script to check
whether a process if running or not.... if its still running then wait for sometime and if not then run the next query.
Also, Under my one main script main.sh I have to run 2 scripts simutaneously which take some time to... (2 Replies)
Discussion started by: lovepujain
2 Replies
8. UNIX for Dummies Questions & Answers
Hi All,
I am new to Unix...
Can you please let me know how we can check if a script is running or not on Solaris box? (4 Replies)
Discussion started by: Rahul466
4 Replies
9. Linux
Hello,
i allready search on google und here in the local Forum, but can't found something.
I need a query in php, that check whether a process (script) is running or not. Like this:
php query: /usr/bin/Script01 >> if runnig, then: "Script01 is Online", if not "Script01 is Offline"
I... (2 Replies)
Discussion started by: ProTechEx
2 Replies
10. Shell Programming and Scripting
Happy New Year
Is there a quick way to check to see if a script is already running.
I want to put in a check in the script to exit, if already running.
Currerntly i can only think of doing it the following way.
# ps -ef | grep -i 3_HOUSEKEEPING_FFTVTL_TO_FFTDSSU_DUPLICATION.ksh |... (5 Replies)
Discussion started by: Junes
5 Replies
script(1) General Commands Manual script(1)
NAME
script - Makes a transcript of terminal session
SYNOPSIS
script [-a] [file]
The script command makes a transcript of everything printed on your terminal.
OPTIONS
Appends the transcript to file rather than writing it to file.
OPERANDS
The name of an output file that will contain the transcript of the session. If this parameter is omitted, the file typescript is written.
DESCRIPTION
The transcript is written to file, or appended to file if the -a option is given. If no file name is given, the transcript is saved in the
file typescript.
The script ends when the forked shell exits.
This program is useful when you are using a CRT and want a hard-copy record of the dialog (for example, a technical writer might create an
example of a working session this way).
If you specify the -a option and the file does not exist, it is created.
If you do not specify the -a option and the file exists, it is replaced.
RESTRICTIONS
The script command requires a streams based terminal. In single user mode, streams may not be enabled. Under these circumstances, script
will exit with no action. If you are the superuser and need to run this command in single user mode, use the following special instruc-
tions.
Enabling Streams
If it is necessary to enable a streams environment in the single user mode, enter the command /sbin/init.d/streams. This command is avail-
able to the superuser only.
SEE ALSO
Commands: autopush(8), cat(1), echo(1), strsetup(8), tee(1)
System Administration
script(1)