From: | "Aurangzeb M(dot) Agha" <ama-list(at)mltp(dot)com> |
---|---|
To: | "scott(dot)marlowe" <scott(dot)marlowe(at)ihs(dot)com> |
Cc: | PostgreSQL General List <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: Question: script to start DB on server reboot |
Date: | 2003-06-20 22:06:28 |
Message-ID: | Pine.LNX.4.53.0306201504410.8746@cinemaspace.berkeley.edu |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Hi Scott --
I'm running on Red Hat 7.2. I'll have a look at the scripts you've
mentioned, but the prob is that since this is a "virtual server", I don't
have root privileges. Your assessment is correct.
Thanks for the permissions info on the DB server.
Rgs,
Zeb
On Fri, 13 Jun 2003, scott.marlowe wrote:
:What OS are you on? There are standard startup scripts for both BSD and
:Linux in the /contrib/start-scripts directory which should work, but they
:need to be run by root I believe. Are you saying you can't get a script
:run by root at startup to start postgresql?
:
:The recommendation on changing the directory permissions is misguided, as
:you NEED to have the permissions at 700 for postgresql to start up, and no
:one but the postgres superuser (whatever account that may be) should be
:able to go in there.
:
:On Sun, 8 Jun 2003, Aurangzeb M. Agha wrote:
:
:> This is more a scripting question than a DB question but since it relates
:> to Postgres, and since I'm sure others on this list have tackled this same
:> problem, I'm hoping I'll be able to get some help here. Apologies in
:> advance if this is the incorrect forum.
:>
:> I have a site hosted by an ISP which, for one reason or another, often
:> needs to restart their server after upgrades, maintenance, etc... When
:> this happens, I need a script to restart my server and my Java processes.
:> While I've got the entire script written, I'm having a major problem
:> getting the DB to start up due to the permissions on the DB dir.
:>
:> The dir out of which my application is served has the following contents:
:>
:> drwxr-xr-x 9 admin admin 4096 Mar 30 14:22 .
:> drwxr-xr-x 3 admin admin 4096 Mar 31 08:58 ..
:> drwx------ 6 postgres postgres 4096 May 19 20:55 DB
:> drwxr-xr-x 5 admin admin 4096 Mar 29 02:01 backup
:> ...
:> drwxr-xr-x 3 admin admin 4096 Mar 28 23:06 lib
:>
:> Note that my DB dir has 700 permissions for the Postgres user and group.
:> This has made it impossible for me to effect any change in this dir when
:> the script runs--the script is run on startup by the admin user (this is
:> requirement due to the setup by the ISP, and I don't have the power to run
:> the script as root).
:>
:> What I need to do is very simple. Before I start any of my other
:> processes (Java, Apache, etc...), I want to start up the DB:
:>
:> 1. Remove postmaster.pid if it exists
:> 2. Backup the existing log file
:> 3. Start the DB
:>
:> However, I can't even get into the dir due to its permission structure.
:> Is my permission structure for the DB incorrect?
:>
:> So far, I have the following for my bash script (Note: This is my first
:> bash script, so go easy). The first line of code is the tricky one, since
:> I'm not able to check for the file's existance with the current permission
:> structure I have:
:>
:> # We only run this script if the DB is running (postmaster.pid exists).
:> # If the DB is not running, don't bother to do anything else, as the site
:> # is probably down for a good reason. Postmaster.pid is in the DB dir,
:> # which is only accessible to the 'postgres' user, so how do we run this
:> # script, since we can only run it as 'admin', and the permission
:> # structure of the DB dir only allows 'postgres' user access?
:> if [ -f /usr/local/G101/App/DB/postmaster.pid ]; then
:>
:> # From here on out, everything can be done by the 'admin' user
:>
:> # Check how many java processes are running; if there
:> # are less than two (arbitrary), we need to restart Resin
:> $numJavaProcs=`ps -ef | grep -i java | grep -v grep | wc -l`
:> if [ $numJavaProcs -lt 2 ]; then
:>
:> # Run the runResin-site.sh script to start up Resin.
:> # Do we need to specify the nohup if the command is run by
:> # a script?
:> nohup /usr/local/G101/App/bin/runResin-site.sh &
:>
:> # Move the nohup.out file to the logs dir
:> mv /usr/local/G101/App/bin/nohup.out
:> /usr/local/G101/App/bin/logs/nohup-site.out
:>
:> # Is there a way to send mail to aagha(at)greece101(dot)com here
:> # to let the admin know that Resin had to be restarted?
:> # mail -s "Resin had to be restarted!" aagha(at)greece101(dot)com
:> fi
:> fi
:>
:> # Do we need this to end the program?
:> exit 0;
:>
:> Anyone have any thoughts or suggestions?
:>
:> Thanks in Advance,
:> Aurangzeb
:>
:> ---------------------------(end of broadcast)---------------------------
:> TIP 2: you can get off all lists at once with the unregister command
:> (send "unregister YourEmailAddressHere" to majordomo(at)postgresql(dot)org)
:>
:
--
Aurangzeb M. Agha | Email : ama(at)mltp(dot)com
| Home : +1 617 739.7324
38A Saint Paul St. #2 | Mobile: <coming soon>
Brookline, MA 02446 | e-Fax : +1 978 246.0770
USA | PGP id: <coming soon>
"Those who would give up essential liberty to purchase a little
temporary safety deserve neither liberty nor safety."
- Benjamin Franklin
From | Date | Subject | |
---|---|---|---|
Next Message | Dennis Gearon | 2003-06-20 22:50:45 | Database geeks |
Previous Message | Sailesh Krishnamurthy | 2003-06-20 21:23:08 | Re: [HACKERS] psql |