All: Thanks a lot to all who have responded. However, this was not resolved yet. As a temporary solution, i have setup a cron job to start the S69xxxxx script every day. (this was one was meant for a security software startup) Yes, it works fine manually...All permissions in tact, upper case S used, tried as S99, used '-xn' flags, tried truss, put a ling in ini.d, also tried as rc2.d, exit status success, don't see any 'rc' prcoesses, initdefault was 3, compared with other working systems... (the same script is working on 61 other systems through i collect security statistics from a single console..) ***************************Responses******************* check ownership, perms (~ 755), echo the filename between quotation characters to see if there are extra/unprintables in the name, check first line for something like "#!/bin/sh", ensure the shell invoked there actually exists and is executable in init state 2 (i.e. that the shell is on a mounted filesystem), put in print statements, bring the system up into run state 2, then run one by one, make sure the file name is some variant of SnnName, where "S" is the first character, nn is a two digit number, and name is arbitrary. be sure it is named with an S, not an s. The lowercase scripts are not run. I'd start by making sure the script is actually running. Add something like 'touch /tmp/daemon.started' to the beginning to the script, then reboot. If a file called daemon.started exists in your /tmp dir afterwards, then you know the script is atleast running. If not, make sure that the file name is correct, that it begins with a CAPITOL S, followed by a 2 digit number, followed by a name. If daemon.started does exist, look at the syntax of your command, conf files, etc. Are any errors or messages generated when launched manually? If all else fails, try running it directly from /sbin/rc3. Try backing up the script and editing the top line to read: #!/bin/sh -xn (the "#!bin/sh should already be there)...the x flag prints the output of the script...the n flag causes the script to "make a dry run" ie. not to execute. If your script is called S99some_script, do this. # cd to the script directory. i.e. cd /etc/rc2.d or whatever it is. #cp S99some_script _S99some_script.backup. Now we can start fooling around with the original script. Look at permissions for the file. Remember, init scripts get executed through: sh S##script_name(you dont really need execute rights, but you do need read rights) Also, on top of te script, where it says: #!/bin/sh add a space followed by -x. So for example, if it said: #!/bin/sh it should now say #!/bin/sh -x After that, after the 'start' portion is supposed to initialize put in a : read some_variable # this should be on a line by itself This will halt the execution of startup scripts till you hit some keyboard key. Also comment out or temporarily remove the parts where it says: 2> /dev/null or 2>&1 >/dev/null ( we want to see error output) Now, reboot the box. It will show what is being executed and any errors that come with it. After that, fix the .backup script and move it back to the original name. Voila..... Hello John, try to put it into your rc3.d dir, not a softlink... If it's a shell script, put a 'set -x' at the beginning of the script. This way you can have it echo every command to the console as it starts up and be able to debug it that way. Also depending on what daemon you're starting up you might be able to pass it arguments so that it starts in a verbose mode giving you some debug output so you can see that it starts up successfully. permission problem? That script should be in /etc/rc2.d ,I guess and not in /etc/rc3.d/ I would start checking permissions and linkages in BOTH the rc3 and init.d directories... are there differences in the files? are there differences between the functional and non-functional systems?? This may seem obvious, but... - Is the file executable? Usually these files are mode 0744 - Is the file owned by root? - Is the #! line at the top correct? - Is the filename proper? i.e. S[0-9][0-9]label ? - Can you run the script by hand? /etc/rc3.d/S99whatever stop /etc/rc3.d/S99whatever start when you figure this out let me know....i am having the same problem...but a rc2.d script....:-) How 'bout some details like a copy of the script, any error messages from /var/adm/messages, etc. You've given us nearly zero information, but the things to start with are: 1) What's the name in rc3.d/?. Maybe you've named it wrong and it's not even trying to run. 2) Assuming you've passed 1), arrange for the script to run with sh -x the next time you reboot and capture the output, that will tell you where it's failing. put an "/bin/touch /tmp/testfile" in the script to see if it is being run at all. Add "echo $?" after the key command to see if it exits with an error condition. check that the rc3 script is a link to the init.d script and not a different script. check that the rc3 name begins with a capital S Does some prior script hang? 'ps -ef | grep rc' you can execute the script like this: sh -v script to see where it breaks. you can also truss it: truss -f script but you need to understand the output. If you see a path and the word 'ENOENT' in the truss output, that means it didn't find a file. Also, make sure the ownerships and permissions are consistent for all files in /etc/rc2.d and rc3.d. Cheers try using set -x at the top of the script and try rebooting the server(if it's allowed) THis may show you where it's dying. Run the script "by hand" after rebooting to init 2 or 3. See what it does. If it doesn't run then, it's broken. At least on that machine. run the script manually - do you get any errors? also consider using sh -x /etc/rc3.d/.... also consider as a last resort doing truss -f sh /etc/rc3.d/.... Check the mode of the file is set to executable for root.. and file starting with S##filename .. S should be capital Is runlevel 3 the default runlevel on that server? Does the script have execute bit set? First thing I'd check is that it isn't trying to use something else that hasn't "started" yet. One quick check for this would be to rename it to an S99.... number/name so it is one of the last things run. You can also redirect all its output to a file and see what errors or messages are coming out of it. Hope this helps a little bit, Good Luck! ************************************ Sridhar Vaka wrote: All: I have a script in /etc/rc3.d (also has the same in /etc/init.d) on a Solaris 2.5.1 system (E 3000) that doesn't start a daemon after reboot.(init 3)Every time i have to manually start this. Using the same script on 60 other servers, no problem. How should i debug this prolem? Thanks Sridhar Vaka Other E-mail: sv@att.com (or) svaka@us.ibm.comReceived on Thu Oct 11 04:30:08 2001
This archive was generated by hypermail 2.1.8 : Wed Mar 23 2016 - 16:28:22 EDT