Discussions
Categories
Groups
Community Home
Categories
INTERNAL ENABLEMENT
POPULAR
PUBLIC CLOUD
PRIVATE CLOUD
Quick Links
MY LINKS
HELPFUL TIPS
Back to website
Home
Web CMS (TeamSite)
services stopping after TS 6.5 SP1 upgrade on W2K
NathansDIS
Hello-
I performed an upgrade to TeamSite 6.5 SP1 and Search SP1 on my windows 2000 server this weekend. All seemed to go smoothly and TeamSite and Search both worked as expected after the upgrade. However, the last two mornings, I have found that the following services have been down when I arrived:
SSVAPOLYTS1D iwproxy
SSVAPOLYTS1D iwservletd
SSVAPOLYTS1D iwtsindex
SSVAPOLYTS1D iwwebd
The strange thing is that there are no error messages in the Windows event logs that show that these services have stopped. I am also not able to find anything blatant in the TeamSite logs either.
After a reboot, all the services start and TeamSite and Search run as expected. It seems like something with our backup job may be causing this, as this is the only thing that happens on the server at night. We use iwfreeze +X and iwfreeze -- in our backup job. Could this be what is causing the services to stop?
Has anyone seen anything like this before? Any insight, comments and/or suggestions much appreciated.
Thx,
Nathan
WA DIS
Find more posts tagged with
Comments
iwovGraduate
... Could this be what is causing the services to stop? ...
I haven't notice this. However since you have the environment, just run iwfreeze and unfreeze when you are working on it (instead of let it happen during the night) and see if that is causing the service to stop (or not start).
I would suggest you post your logs, etc. Its possible that somebody notices something in there that you might have overlooked.
Michael
Hi Nathan
I tried a iwfreeze and unfreeze on my 6.5 SP1 box (on 2003, not 2000 though sorry) and the services stayed up OK.
Maybe it is something specific with the backup process itself?
Cheers
Michael
NathansDIS
Thanks for your reply. I did run iwfreeze and iwfreeze --, and this did not cause the services to stop. However, I did rerun the backup job and it brought the services down again. Below is the text of the batch file that does our backup. If you notice anything that stands out, let me know. Thanks for your time
Regards,
-Nathan
*snip
C:\WINNT\system32\NTBACKUP.EXE backup "
@E
:\admin\backup\SysState.bks" /n "Media created 9/29/2004 at 11:31 AM" /d "Set created 9/29/2004 at 11:32 AM" /v:no /r:no /rs:no /hc
ff /m normal /j "SysState" /l:s /f "E:\Admin\backup\SysState\systate.bkf"
iwperl c:\iw-home\local\bin\rotate_logs.ipl
sleep 30
c:\iw-home\bin\iwfreeze +28800
REM robocopy c:\iw-home f:\bak\iw-home /E /SEC /PURGE /R:5 /W:5 /V /LOG:e:\admin\backup\bak.log
REM robocopy f:\iw-store e:\bak\iw-store /E /SEC /PURGE /R:5 /W:5 /V /LOG+:e:\admin\backup\bak.log
date /t
time /t
dsmc incremental C: E: F:
c:\iw-home\bin\iwfreeze --
date /t
time /t
iwovGraduate
What does this c:\iw-home\local\bin\rotate_logs.ipl script do ?
Perhaps thats the culprict ?
Try running that script and/or run your backup script with the the line for this script commented out.
NathansDIS
Good catch guys. I was just looking at the output of that script. What think?
script output:
C:\Program Files\Tivoli\TSM\baclient>C:\WINNT\system32\NTBACKUP.EXE backup "
@E
:\admin\backup\SysState.bks" /n "Media created 9/29/2004 at 11:31 AM" /d "Set created 9/29/2004 at 11:32 AM" /v:no /r:no /rs:no /hc
ff /m normal /j "SysState" /l:s /f "E:\Admin\backup\SysState\systate.bkf"
C:\Program Files\Tivoli\TSM\baclient>iwperl c:\iw-home\local\bin\rotate_logs.ipl
System error 1060 has occurred.
The specified service does not exist as an installed service.
The Interwoven Servlet Engine service is stopping...
The Interwoven Servlet Engine service was stopped successfully.
The Interwoven Proxy service was stopped successfully.
The Interwoven Web Daemon service is stopping..
The Interwoven Web Daemon service was stopped successfully.
The following services are dependent on the Interwoven TeamSite service.
Stopping the Interwoven TeamSite service will also stop these services.
Interwoven TeamSite Search
Interwoven TeamSite Index
Do you want to continue this operation? (Y/N) :
*snip
#!C:\iw-home/iw-perl/bin/iwperl
#
# Stops TeamSite services, rotates log files, and restarts services.
#
# Syntax: c:\> <iw-home>/iw-perl/bin/iwperl <iw-home>/local/bin/rotate_logs.ipl
#
use TeamSite::Config;
use File::Copy;
(my $iwhome = TeamSite::Config::iwgethome()) =~ tr|\\|/|;
my $rotated_logs_dir = $iwhome . "/local/logs";
# Setup debugging
$DEBUG = 1;
$debugfile = "c:/temp/debug.txt";
debug("^^^^^^^^^^^");
debug ("Begin rotate_logs.ipl");
# Setup log file archive dir
my $archive_dir = "e:/admin/teamsite_logs";
if (! (-e $archive_dir)) {
mkdir ($archive_dir,0755);
}
# List of all logs to be rotated (relative to iw-home)
my
@log_list
= ( "iw-webd/logs/access.log",
"iw-webd/logs/error.log",
"iw-webd/logs/rewrite.log",
"iw-webd/logs/ssl_engine.log",
"iw-webd/logs/ssl_request.log",
"openapi/openapi.log",
"local/logs/iwevents.log",
"local/logs/iwserver.log",
"local/logs/iwtrace.log",
"local/logs/iwjoberrors.log",
"local/logs/iwui/servletd_err.log",
"local/logs/iwui/servletd_out.log",
"servletd/logs/jasper.log",
"servletd/logs/servlet.log",
);
# Get datestamp
my $fulltime = scalar(localtime(time()));
# $fulltime =~ m!^([^\s]*)\s([^\s]*)\s([^\s]*)\s([^\s]*)\s([^\s]*)$!;
$fulltime =~ m!^([^\s]*)\s+([^\s]*)\s+([^\s]*)\s+([^\s]*)\s+([^\s]*)$!;
my $datestamp = $5 . $2 . $3;
# Stop Services: iwuiadmin, servlet engine, iwproxy, iwwebd, teamsite
my $tmp_cmd = "net stop \"iwuiadmin\"";
system ($tmp_cmd);
$tmp_cmd = "net stop \"iwservletd\"";
system ($tmp_cmd);
$tmp_cmd = "net stop \"iwproxy\"";
system ($tmp_cmd);
$tmp_cmd = "net stop \"iwwebd\"";
system ($tmp_cmd);
$tmp_cmd = "net stop \"Interwoven TeamSite\"";
system ($tmp_cmd);
#$tmp_cmd = "net stop \"Interwoven Event Subsystem\"";
#system ($tmp_cmd);
#$tmp_cmd = "net stop \"Interwoven GRC DB\"";
#system ($tmp_cmd);
#$tmp_cmd = "net stop \"Interwoven TeamSite Report\"";
#system ($tmp_cmd);
debug ("list of logs is
@log_list")
;
foreach my $log (
@log_list)
{
(my $log_name = $log) =~ s|.*/([^/]*)$|$1|;
my $log_path = $iwhome . "/" . $log;
my $log_copy_path = $archive_dir . "/" . $datestamp . "_" . $log_name;
debug ("$log_path and $log_copy_path");
if (!(-e $log_copy_path) && (-e $log_path)) {
copy("$log_path","$log_copy_path") or die "Copy failed: $!";
open (FILE, ">$log_path");
print FILE "\n";
close FILE;
}
}
# Start services
#$tmp_cmd = "net start \"Interwoven Event Subsystem\"";
#system ($tmp_cmd);
$tmp_cmd = "net start \"Interwoven TeamSite\"";
system ($tmp_cmd);
$tmp_cmd = "net start \"iwwebd\"";
system ($tmp_cmd);
$tmp_cmd = "net start \"iwproxy\"";
system ($tmp_cmd);
$tmp_cmd = "net start \"iwservletd\"";
system ($tmp_cmd);
sleep (15);
$tmp_cmd = "net start \"iwuiadmin\"";
system ($tmp_cmd);
#$tmp_cmd = "net start \"Interwoven GRC DB\"";
#system ($tmp_cmd);
#$tmp_cmd = "net start \"Interwoven TeamSite Report\"";
#system ($tmp_cmd);
sub debug
{
return unless $DEBUG;
my ($message,
@rest)
=
@_
;
my $time = scalar(localtime(time()));
open (DEBUG, ">>$debugfile") or die "Can't Open $debugfile: $!\n";
print DEBUG "$time: $message\n";
close (DEBUG);
}
iwovGraduate
Looks like one of the services you are trying to stop does not exist or is refered to by a different name. Looking at the output it looks like the error 1060 is for iwuiadmin service. You might want to check that.
Check the dependencies of all the services you are starting/stopping using this script. Make sure you stop and start them in the right order and it should work.
NathansDIS
Ok, looks like the service names were way out of date. As far as I can see, the only service dependencies are search and index are dependent on iwserver. So, here is the updated and working(I hope) rotate_logs.ipl file: Thanks again for your help guys! -Nathan
*snip
#!C:\iw-home/iw-perl/bin/iwperl
#
# Stops TeamSite services, rotates log files, and restarts services.
#
# Syntax: c:\> <iw-home>/iw-perl/bin/iwperl <iw-home>/local/bin/rotate_logs.ipl
#
# Modified 4/5/05 by Nathan Sunderman DIS: update services list to 6.5 services with search included
#
use TeamSite::Config;
use File::Copy;
(my $iwhome = TeamSite::Config::iwgethome()) =~ tr|\\|/|;
my $rotated_logs_dir = $iwhome . "/local/logs";
# Setup debugging
$DEBUG = 1;
$debugfile = "c:/temp/debug.txt";
debug("^^^^^^^^^^^");
debug ("Begin rotate_logs.ipl");
# Setup log file archive dir
my $archive_dir = "e:/admin/teamsite_logs";
if (! (-e $archive_dir)) {
mkdir ($archive_dir,0755);
}
# List of all logs to be rotated (relative to iw-home)
my
@log_list
= ( "iw-webd/logs/access.log",
"iw-webd/logs/error.log",
"iw-webd/logs/rewrite.log",
"iw-webd/logs/ssl_engine.log",
"iw-webd/logs/ssl_request.log",
"openapi/openapi.log",
"local/logs/iwevents.log",
"local/logs/iwserver.log",
"local/logs/iwtrace.log",
"local/logs/iwjoberrors.log",
"local/logs/iwui/servletd_err.log",
"local/logs/iwui/servletd_out.log",
"servletd/logs/jasper.log",
"servletd/logs/servlet.log",
);
# Get datestamp
my $fulltime = scalar(localtime(time()));
# $fulltime =~ m!^([^\s]*)\s([^\s]*)\s([^\s]*)\s([^\s]*)\s([^\s]*)$!;
$fulltime =~ m!^([^\s]*)\s+([^\s]*)\s+([^\s]*)\s+([^\s]*)\s+([^\s]*)$!;
my $datestamp = $5 . $2 . $3;
# Stop Services: servlet engine, iwproxy, iwwebd, tssearch, iwtsindex, teamsite
$tmp_cmd = "net stop iwodadmin";
system ($tmp_cmd);
my $tmp_cmd = "net stop iwservletd";
system ($tmp_cmd);
$tmp_cmd = "net stop iwproxy";
system ($tmp_cmd);
$tmp_cmd = "net stop iwwebd";
system ($tmp_cmd);
$tmp_cmd = "net stop iwtssearch";
system ($tmp_cmd);
$tmp_cmd = "net stop iwtsindex";
system ($tmp_cmd);
$tmp_cmd = "net stop iwserver";
system ($tmp_cmd);
$tmp_cmd = "net stop iweventsubd";
system ($tmp_cmd);
$tmp_cmd = "net stop iwopenapi";
system ($tmp_cmd);
$tmp_cmd = "net stop iwas";
system ($tmp_cmd);
debug ("list of logs is
@log_list")
;
foreach my $log (
@log_list)
{
(my $log_name = $log) =~ s|.*/([^/]*)$|$1|;
my $log_path = $iwhome . "/" . $log;
my $log_copy_path = $archive_dir . "/" . $datestamp . "_" . $log_name;
debug ("$log_path and $log_copy_path");
if (!(-e $log_copy_path) && (-e $log_path)) {
copy("$log_path","$log_copy_path") or die "Copy failed: $!";
open (FILE, ">$log_path");
print FILE "\n";
close FILE;
}
}
# Start services
$tmp_cmd = "net start iwas";
system ($tmp_cmd);
$tmp_cmd = "net stop iwopenapi";
system ($tmp_cmd);
$tmp_cmd = "net stop iweventsubd";
system ($tmp_cmd);
$tmp_cmd = "net start iwserver";
system ($tmp_cmd);
$tmp_cmd = "net start iwwebd";
system ($tmp_cmd);
$tmp_cmd = "net start iwproxy";
system ($tmp_cmd);
$tmp_cmd = "net start iwservletd";
system ($tmp_cmd);
$tmp_cmd = "net start iwtsindex";
system ($tmp_cmd);
sleep (15);
$tmp_cmd = "net start iwtssearch";
system ($tmp_cmd);
$tmp_cmd = "net start iwodadmin";
system ($tmp_cmd);
sub debug
{
return unless $DEBUG;
my ($message,
@rest)
=
@_
;
my $time = scalar(localtime(time()));
open (DEBUG, ">>$debugfile") or die "Can't Open $debugfile: $!\n";
print DEBUG "$time: $message\n";
close (DEBUG);
}
NathansDIS
FYI-
Here is a script that I use to set all the Interwoven services for TeamSite 6.5 with Search installed locally and OpenDeploy 6.0 to manual and/or automatic mode. This really helps save time when you want to set all IW services to manual and reboot before doing an install. Hope this helps someone.
-Nathan
*snip
REM Nathan Sunderman 3-11-05
REM iwmanual.bat
REM
REM Purpose: set TS6.5/OD6.0/TSS1.0 services to Manual startup
REM mode.
REM Uses: Microsoft Server 2000 Resource Kit sc command
REM Permissions: Runs as member of domain administrators group
REM
sc \\SSVAPOLYTS1D CONFIG "iwas" Start= demand
sc \\SSVAPOLYTS1D CONFIG "iweventsubd" Start= demand
sc \\SSVAPOLYTS1D CONFIG "iwopenapi" Start= demand
sc \\SSVAPOLYTS1D CONFIG "iwod60" Start= demand
sc \\SSVAPOLYTS1D CONFIG "iwodadmin" Start= demand
sc \\SSVAPOLYTS1D CONFIG "iwproxy" Start= demand
sc \\SSVAPOLYTS1D CONFIG "iwservletd" Start= demand
sc \\SSVAPOLYTS1D CONFIG "iwserver" Start= demand
REM Search
sc \\SSVAPOLYTS1D CONFIG "iwtsindex" Start= demand
sc \\SSVAPOLYTS1D CONFIG "iwtssearch" Start= demand
sc \\SSVAPOLYTS1D CONFIG "iwwebd" Start= demand