Sponsored Content
Top Forums UNIX for Advanced & Expert Users Best practice - determining what region you are on Post 302571899 by Rediranch on Tuesday 8th of November 2011 01:29:46 PM
Old 11-08-2011
Quote:
Originally Posted by vgersh99
Another approach... Move all the 'environmental' depend dependencies from being 'hard-wired' in the script itself into a separate configuration script which gets "sources" by the 'main' script.
One of the settings in the config file could be:
Code:
# dev test prod
ENVIRON='dev'

You could reference the var ENVIRON in your main script and make needed choices without changing the script itself.
just my $.02
We have a configuration script - and we have used the type of approach you are talking about. However, that means that the environmental scripts are not IDENTICAL between the regions, which is something you want to prevent things being added and removed are done for each region. We also use PVCS for promoting, and each script should work as is, untouched, in each region.


Quote:
Originally Posted by Corona688
A script shouldn't know need to know or care whether it's in dev or production; never hardcode anything. Smilie
I agree! However, we have not found a good alternative to this one.

Quote:
Originally Posted by Corona688
Directory paths: if [ "$HOSTNAME" = "DEV" ] is a bad idea. Do something like . /etc/myservice.conf. Then do sanity checks on every path to make sure they're valid and have sufficient access permissions, etc, etc, etc. If they're not, clearly log which one has failed and why before exiting safely. Use one myservice.conf in development, ship another to install it somewhere else.

Email: Depends on how your script handles that. It may be possible to leave it up to the server where email goes.

For that matter: Why are the settings so different in your development server than your deployment ones?
To answer your last question first - at one time we had our DEV and QA regions on the same box. Therefore we could not have (ex) /app/scripts represent our scripts directory for both DEV and QA. So, we came up with /app/test/scripts for dev, and /app/prod/scripts for BOTH QA and Production. The theory is that QA should look exactly as production does, hence the same directory names.

Other things also create a need to handling things differently between regions, such as dealing with different DSNs on the MVS we have to communicate and send files to. Their dev region names are TEST.D, QA is TEST.X, prod is PCS.P. Our environmental script that determines what region we are running in, sets variables to build the correct DSN on the MVS, which may be participating in the test. The email thing - that's a safety feature. If a developer (and that's who we are - developers trying to figure this best practice) is working on a project, pressed for time, and everyone's hollering about getting the test emails, he can tell the script that when in DEV, send them to his email. Then if he forgets to change that back to the group email - the script handles it by saying "When I'm running in prod, send the email to the group".

Your first suggestion - sanity checks on directory names. If the directories are identical between QA and PROD, then directory checks to determine differences in the regions would not be able to tell the difference.
 

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

stack region

how can i determine that what percentage of stack region is currently is used? (i am using tru64 unix) (2 Replies)
Discussion started by: yakari
2 Replies

2. Solaris

How can i take private region backup in veritas

Hello experts, I am using Veritas Volume Manager 5.0. How can i take private region backup and restoration. thanks in advance... (3 Replies)
Discussion started by: younus_syed
3 Replies

3. Shell Programming and Scripting

Can sed perform editing operations ONLY in the matched region?

Hi: Let's suppose I want to replace all the | by > ONLY when | is between . Usually (and it works) I would do something like sed -e 's/\(\*\)|\(*\]\)/\1>\2/g' where I have to "save" some portions of the matched region and use them with the \n metacharacter. I was wondering if I could... (2 Replies)
Discussion started by: islegmar
2 Replies

4. Programming

Single semare critical region problem???

Hi guys, I hope everybody is doing fine. I have written this small program which solves the critical region problem. Only on of the two threads can make changes to a common variable called counter. I am using two semaphores, is it possible to write the same program using only one semaphore? Here... (0 Replies)
Discussion started by: gabam
0 Replies

5. Shell Programming and Scripting

Region between lines

How can I find the regions between specific lines? I have a file which contains lines like this: chr1 0 17388 0 chr1 17388 17444 1 chr1 17444 17599 2 chr1 17599 17601 1 chr1 17601 569791 0 chr1 569791 569795 1 chr1 569795 569808 2 chr1 569808 569890 3 chr1 569890 570047 4 ... (9 Replies)
Discussion started by: linseyr
9 Replies

6. AIX

Change lv REGION in HDISK1

Dears my rootvg is missed up i can not extend the /opt as soon as i try to extend the Filesystem its give me that there is not enough space . as there any way to change the REGION of the LVs in HDISK1 ? lspv -p hdisk0 hdisk0: PP RANGE STATE REGION LV NAME TYPE ... (8 Replies)
Discussion started by: thecobra151
8 Replies

7. Shell Programming and Scripting

Help with underline text based on specific region

Input file 2 5 ASFGEWTEWRQWEQ 10 20 QEWIORUEIOUEWORUQWEQWRQRQWGQWGFQ 1 6 WRQTQWTQTQWTQT Desired output file 2 5 ASFGEWTEWRQWEQ 10 20 QEWIORUEIOUEWORUQWEQWRQRQWGQWGFQ 1 6 WRQTQWTQTQWTQT Column 1 is the start region of underline the text in column 3; Column 2 is the end region of... (13 Replies)
Discussion started by: cpp_beginner
13 Replies

8. Shell Programming and Scripting

Need a command to change the port region

portsuf=25 port=20925 I need to replace 09 with 25 It should be like 22525. Can some please help with command or script. (4 Replies)
Discussion started by: bhas85
4 Replies

9. Programming

Merge two strings by overlapped region

Hello, I am trying to concatenate two strings by merging the overlapped region. E.g. Seq1=ACGTGCCC Seq2=CCCCCGTGTGTGT Seq_merged=ACGTGCCCCCGTGTGTGTFunction strcat(char *dest, char *src) appends the src string to the dest string, ignoring the overlapped parts (prefix of src and suffix of dest).... (30 Replies)
Discussion started by: yifangt
30 Replies

10. UNIX for Dummies Questions & Answers

Mean score value by ID over a defined genomic region

Hi, I would like to know how can I get a mean score value by ID over a defined genomic region. Here it is an example: file1 12 100 103 id1 12 110 112 id1 12 200 203 id2 file2 12 100 101 1 12 101 102 0.8 12 102 103 0.7 12 110 111 2.5 12 111 112 2.8 12 200 201 10.1 12 201 202... (7 Replies)
Discussion started by: fadista
7 Replies
All times are GMT -4. The time now is 02:56 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy