Tuesday, 26 September 2006

Linux desktop - IBM szoftverek

Sikerült felhergelnem néhány IBM szoftvert, úgy mint Lotus Notes kliens, Sametime 7.5 kliens, IBM Moility kliens SUSE Enterprise Desktop 10-re. További részletek kommentekben

Monday, 11 September 2006

Egy kis kitérő, ha még nem vagy elég fáradt

Kunpeszi Gerzson

(Gabriel García Márquez: Egy előre bejelentett gyilkosság krónikája című könyvének hangulata indította bennem azokat a gondolatokat, amelyeket itt papírra vetek. Hogy miért, azt nem tudom, de azt ajánlom, hogy minden szúró-vágó szerszámot távolíts el a közeledből mielőtt olvasni kezded.)

Kunpeszi Gerzson elhunyt. Ezt az állapotot akkor vette fel, amikor legjobb barátját vitte haza autóval kétezersok szeptember nyolcadikán éjjel holt részegen (a jelző egy része a későbbiekben is ráillett), és nem kívánta figyelembe venni ama tényt, hogy az út íve eltér az általa követett haladási iránytól. Egészen kis dolog ez, de eredményeképpen emberünk meghótt, megmurdelt, kipurcant, kinyúvadt, bekrepált, egyszóval kampec. Egyértelmű eset volt ez, nem is okozott gondot a távoli hozzátartozóknak (közeli nem volt). Sokkal inkább okozott gondot a kedden eltemetett Kunpeszi Gerzsonnak, mert nem tudott elmenni legjobb barátjának szerdai temetésére. Legkedvesebb barátja ugyanis egy jelző megváltozása miatt, kétezersok szeptember nyolcadikán éjjel elhalálozott. Az történt ugyanis, hogy egy mulatságról távozóban a legjobb barát, az autóba szállás után álomba szenderült (megtehette, mert Gerzson vezetett, akiben vakon megbízott), és ez az állapot egészült ki az örök jelzővel, a fent említett haladási irányból kifolyólag. Gerzson barátunk nem azért nem ment el a temetésre, mert nem volt megfelelő öltözéke vagy nem lett volna rá pénze, sőt fizikai állapota sem akadályozta az esetleges ruhapróbában, hiszen nem indult még oszlásnak, a csontváz állapottól pedig kifejezetten messze állt. Mindössze arról volt szó, hogy nem értesült az esetről. Gondolom Önök most hitetlenkednek. Hogyan lehet az, hogy nem értesül valaki a legjobb barátja haláláról, főleg ha előző nap még együtt iszogatnak. Nos, elárulom a megoldást. Kunpeszi Gerzson egy perccel hamarabb hunyt el, mint legjobb barátja. Ugyanabban az autóban, ugyanabban az időben, de hamarabb. Ugye milyen egyszerű a megoldás? Ez viszont felveti azt a kérdést, hogy a barát ott volt e Gerzson temetésén, hiszen neki tudnia kellett Gerzson haláláról. Arról ne is beszéljünk, hogy a temetés időpontja ki volt hirdetve, és ki volt írva a hirdető táblára így nem lehetett nem tudni róla. Nos, a legjobb barát, a régi iskolatárs, a hű ivócimbora mindezek ellenére nem jelent meg a temetésen, de még is meg kell bocsátanunk nekik. Figyelmes olvasóim már tudják is miért. Azért, mert az eset történtekor éppen aludt, és Gerzson, mivel elhalálozott nem tudta felébreszteni, hogy értesítse elhalálozásának tényéről. A távoli rokonokat sem hibáztathatjuk. Ők szóltak is volna szívesen a barátnak, ha az nem veszi fel az álomra szenderült mellé az örök jelzőt. Bizony így van ez. Az élet nagy dolgait apróságok mozgatják, mint ahogy Gerzsont az alkohol, vagy koporsóját a hullaszállítók. Ezek az emberek egyébként haragudtak Kunpeszi úrra. Előző nap ugyanis együtt mulatoztak, és Kunpeszi úr egy szóval sem említette, hogy el fog halálozni, alkoholos befolyásoltságból kifolyólag. Ha említette volna, biztosan nem engedik annyit inni, mielőtt autóba száll. Hibásnak azért nem találták magukat, sőt megállapították, hogy segítőkészségük megfelelt az európai uniós normáknak, amikor a félig már öntudatlan Gerzsont betuszkolták a kocsiba a kormány mellé. Mindenáron haza akarta ugyanis vinni legjobb barátját, aki hangosan horkolt az asztal alatt. Ebben a hullaszállítók teljesen egyetértettek vele. Egy hangosan horkoló ember nagyon zavarja az asztaltársaságot az italozásban, vagy ha nem is zavarja, igen kellemetlen, hogy időnként felébred és lehányja a cipőjüket. Akár így, akár úgy, lovagias tettnek gondolták az önzetlen hazafuvarozást. Kunpeszi Gerzson már nem köszönhette meg a gondoskodást, amit a hullaszállítók igen rossz néven vettek. A távoli rokonok, akik a várható örökség szempontjából igen közelinek vallották magukat, nem voltak ilyenek. Számukra Gerzson precizitása jelentett némi problémát. Mindig gondosan vezette ugyanis naptárját, de a temetés napjára nem volt beírva semmi. Ez jó volt abból a szempontból, hogy biztosan nem volt elfoglaltsága, de bizonytalanná vált, hogy megjelenik-e a temetésen. Mindenki ismerte ugyanis azt a tulajdonságát, hogy csak olyan programon vett részt, ami a naptárjában volt. Megpróbálták felhívni telefonon a legjobb barátját, hogy mit tegyenek, de azt a választ kapták, hogy valami jelző ügy miatt a barát hosszabb ideig nem elérhető. A rokonság így maga döntött. Beírták Gerzson naptárjába a temetés pontos dátumát, idejét és helyszínét, de hogy biztosan ne legyen galiba, el is mentek érte egy nagy fekete kocsival, és kivitték a temetőbe. Azt viszont biztosra veszem, hogy örökre megsértődött legjobb barátjára, régi iskolatársára és ivócimborájára, aki még arra sem volt képes, hogy egy gyásztáviratot küldjön.


Wednesday, 6 September 2006

Lotus Domino szerver indítóóóóó script linyukszra

Ha még nincs birtokodban, most itt van. Reszeld bele a Linux disztridbe és a Domino szerver szalad mint a nyúl. Nem az én találmányom, de nem licencedíjas

A megoldás sima bash parancsokat használ és két részből áll.

Az rc_domino_script-et az /opt/ibm/lotus könyvtárba kell másolni és futtatási jogot kell adni rá a root és notes usernek (lehet máshová is másolni, a domino scriptben csak át kell írni az elérési útját). Az alábbi cuccot dobd át egy rc_domino_script nevű fájlba
-----------------------------------------------------------------------------------------------

#!/bin/sh
########################################################################
# Start/Stop Script for Domino on xLinux/zLinux/AIX/Solaris
# 2005-2006 written by Daniel Nashed, feedback domino_unix@nashcom.de
# Version 1.4 02.04.2006
########################################################################

# determine notes/os level user
DOMINO_USER=$LOGNAME

# IBM WebSphere Application Server / Portal configuration for HTTP plugin
WAS_PLUGIN_CONFIG_FILE=/opt/IBM/WebSphere/Plugins/config/webserver1/plugin-cfg.xml
export WAS_PLUGIN_CONFIG_FILE

# --- configuration per domino partition ---

if [ $DOMINO_USER = notes ]; then

LOTUS=/opt/ibm/lotus
DOMINO_DATA_PATH=/local/notesdata
# DOMINO_LANG=de_DE
DOMINO_SHUTDOWN_TIMEOUT=600
DOMINO_CONFIGURED="yes"

elif [ $DOMINO_USER = notes1 ]; then

# ... cloned section for each domino partition ...
DOMINO_CONFIGURED="yes"

else

echo "Domino Server for '$DOMINO_USER' not configured"
exit 1

fi

export DOMINO_USER
export LOTUS
export DOMINO_DATA_PATH
export DOMINO_LANG
export DOMINO_START_SCRIPT
export DOMINO_SHUTDOWN_TIMEOUT


# determine architecture and platform
if [ `uname` = AIX ]; then
LARCH=ibmpow
PLATFORM_NAME=AIX
elif [ `uname` = SunOS ]; then
if [ `uname -p` = sparc ]; then
LARCH=sunspa
PLATFORM_NAME=Solaris
else
LARCH=sunx86
PLATFORM_NAME=Solaris/x86
fi
elif [ `uname` = Linux ]; then
LARCH=linux
UNAME=`uname -m`
if [ $UNAME = s390 ]; then
PLATFORM_NAME=zLinux
elif [ $UNAME = s390x ]; then
PLATFORM_NAME=zLinux
else
PLATFORM_NAME=xLinux
fi

# query linux distribution
if [ ${LARCH} = "linux" ]; then
if [ -e /etc/SuSE-release ] ; then
LINUX_DISTRIBUTION=suse
elif [ -e /etc/redhat-release ] ; then
LINUX_DISTRIBUTION=redhat
else
LINUX_DISTRIBUTION=unknown
fi
fi

fi

if [ -z "$LARCH" ]; then
echo "Unknown platform `uname`"
exit 1
fi

export LARCH
export PLATFORM_NAME

# shell script variable definitions

# --- configuration begin ---

# domino language settings
if [ -z "$DOMINO_LANG" ]; then
DOMINO_LANG=de_DE
export DOMINO_LANG
fi

# domino shutdown timeout in seconds
if [ -z "$DOMINO_SHUTDOWN_TIMEOUT" ]; then
DOMINO_SHUTDOWN_TIMEOUT=600
export DOMINO_SHUTDOWN_TIMEOUT
fi

# set domino binary directory
if [ -z "$LOTUS" ]; then
LOTUS=/opt/lotus
export LOTUS
fi

# base directory for domino server partitions
DOMINO_DATA_PATH_BASE=/local/domino

# enable to use the Java Controller
#USE_JAVA_CONTROLLER="yes"

# Broadcast a shutdown message to all users of the Domino Server
#BROADCAST_SHUTDOWN_MESSAGE="yes"

# SLES8 Linux Tuning
#SUSE_DOMINO_PTHREAD_EXTENSION="yes"
SUSE_TUNING_DIR=/opt/dominowrap/domino6

# compress command used e.g. for log file compression
COMPRESS_COMMAND="gzip --best"
PS_COMMAND="ps"

# enable script debug output
#DEBUG_MODE="yes"

# --- configuration end ---

# additional internal script variables
SCRIPT_NAME=$0
PARAM=$1
DOMINO_BIN=$LOTUS/bin/server

if [ "$DEBUG_MODE" = "yes" ] ; then
NSD_BIN="$LOTUS/bin/nsd -debug"
else
NSD_BIN=$LOTUS/bin/nsd
fi

if [ -z "$DOMINO_INSDIR" ]; then
DOMINO_INSDIR=$LOTUS
export DOMINO_INSDIR
fi

# set notes exec directory for domino c-api add-on software
Notes_ExecDirectory=$LOTUS/notes/latest/$LARCH
export Notes_ExecDirectory

# export lib search path per platform
if [ ${LARCH} = "ibmpow" ]; then
LIBPATH=$Notes_ExecDirectory
export LIBPATH
fi

if [ ${LARCH} = "sunspa" ]; then
LD_LIBRARY_PATH=$Notes_ExecDirectory
export LD_LIBRARY_PATH
fi

if [ ${LARCH} = "linux" ]; then
LD_LIBRARY_PATH=$Notes_ExecDirectory
export LD_LIBRARY_PATH
fi

if [ ${LARCH} = "linux" ]; then
PS_COMMAND="ps -w"
fi

# check if data path has been already set. else set it based on user-name and base directory.
if [ -z "$DOMINO_DATA_PATH" ]; then
DOMINO_DATA_PATH=$DOMINO_DATA_PATH_BASE/$DOMINO_USER/notesdata # path for server data directory
export DOMINO_DATA_PATH
fi

# general environment parameters
DOMINO_SERVER=$DOMINO_USER # Name of Domino Server
DOMINO_INI_PATH=$DOMINO_DATA_PATH/notes.ini
PATH=$DOMINO_DATA_PATH:$LOTUS/bin:$Notes_ExecDirectory:$Notes_ExecDirectory/res/C:$PATH

export DOMINO_SERVER
export DOMINO_INI_PATH
export PATH

# check if log path has been already set. else set it based on user-name and base directory.

if [ -z "$DOMINO_OUTPUT_LOG" ]; then
DOMINO_OUTPUT_LOG=$DOMINO_DATA_PATH/$DOMINO_SERVER.log # Output file for server console
export DOMINO_OUTPUT_LOG
fi

if [ -z "$DOMINO_INPUT_FILE" ]; then
DOMINO_INPUT_FILE=$DOMINO_DATA_PATH/$DOMINO_USER.input # Input file for server console
export DOMINO_INPUT_FILE
fi

if [ "$USE_JAVA_CONTROLLER" = "yes" ] ; then
JAVE_CONTROLLER_STRING="-jc -c"
fi

if [ "$LINUX_DISTRIBUTION" = "suse" ] ; then
if [ "$SUSE_DOMINO_PTHREAD_EXTENSION" = "yes" ] ; then
LD_PRELOAD=$SUSE_TUNING_DIR/libpthread.so:$SUSE_TUNING_DIR/librt.so:$LD_PRELOAD
export LD_PRELOAD
fi
fi

# environment settings needed for Domino servers
LANG=$DOMINO_LANG
export LANG

# helper functions

function stop_monitor
{
kill -9 $MONITOR_PID > /dev/null
echo "Live Console closed."
echo
echo
exit 0
}

function DebugText
{
if [ "$DEBUG_MODE" = "yes" ] ; then
echo $1 $2 $3 $4 $5
fi
}

function usage
{
echo "Usage: `basename $SCRIPT_NAME` { start | stop | stopjc | restart | status | monitor | info | nsd | fullnsd | kill | archivelog | setenv }"
}

function errmsg
{
echo $1 >&2
}

function cleanup_domino_server_old_style
{
# Kill all domino processes but keep the java controller
for pid in `$PS_COMMAND -fu $DOMINO_USER | grep "$LOTUS" | grep -v "$SCRIPT_NAME" | grep -v "grep" | grep -v " -jc" | awk '{ print $2 }'`; do
kill -9 $pid
done
# Clean up IPC if the Domino Server terminated abnormally
rm -f $DOMINO_DATA/~notes.lck


if [ ${LARCH} = "ibmpow" ]; then
mems=`ipcs -m | grep "$DOMINO_USER" | grep ^m | awk '{ print $2 }'`
sems=`ipcs -s | grep "$DOMINO_USER" | grep ^s | awk '{ print $2 }'`
mqs=`ipcs -q | grep "$DOMINO_USER" | grep ^q | awk '{ print $2 }'`
fi

if [ ${LARCH} = "sunspa" ]; then
# todo
mems=
sems=
mqs=
fi

if [ ${LARCH} = "linux" ]; then
mems=`ipcs -m | grep "$DOMINO_USER" | grep ^0x | awk '{ print $2 }'`
sems=`ipcs -s | grep "$DOMINO_USER" | grep ^0x | awk '{ print $2 }'`
mqs=`ipcs -q | grep "$DOMINO_USER" | grep ^0x | awk '{ print $2 }'`
fi

for j in $mems; do if [ -n "$j" ]; then ipcrm -m $j; fi; done
for j in $sems; do if [ -n "$j" ]; then ipcrm -s $j; fi; done
for j in $mqs; do if [ -n "$j" ]; then ipcrm -q $j; fi; done
}

function cleanup_domino_server
{
cd $DOMINO_DATA_PATH
$NSD_BIN -kill
}

function cleanup_java_controller
{
# Kill java controller process
for pid in `$PS_COMMAND -fu $DOMINO_USER | grep "$LOTUS" | grep -v "$SCRIPT_NAME" | grep -v "grep" | grep " -jc" | awk '{ print $2 }'`; do
kill -9 $pid
done

if [ -e $DOMINO_DATA_PATH/.jsc_lock ]; then
rm $DOMINO_DATA_PATH/.jsc_lock
fi
}

function domino_is_running
{
DOMINO_RUNNING=`$PS_COMMAND -fu $DOMINO_USER | grep "$LOTUS" | grep "server" | grep -v " -jc"`

DebugText "DOMINO_USER:" $DOMINO_USER
DebugText "DOMINO_RUNNING:" $DOMINO_RUNNING

if [[ -n $DOMINO_RUNNING ]] ; then
DebugText "Domino is running"
return 1
else
DebugText "Domino is NOT running"
return 0
fi
}

function domino_status_check
{
domino_is_running
if [ $? -eq 1 ] ; then
echo "Domino Server is running ($DOMINO_SERVER)"
return 0
else
echo "Domino Server is NOT running ($DOMINO_SERVER)"
return 3
fi
}

function java_controller_is_running
{
JAVA_CONTROLLER_RUNNING=`$PS_COMMAND -fu $DOMINO_USER | grep "$LOTUS" | grep "server" | grep -v "grep" | grep " -jc"`

if [[ -n $JAVA_CONTROLLER_RUNNING ]] ; then
DebugText "Java Controller is running"
return 1
else
DebugText "Java Controller is NOT running"
return 0
fi
}

function shutdown_domino_server
{
cd $DOMINO_DATA_PATH
$DOMINO_BIN -q >> $DOMINO_OUTPUT_LOG 2>&1 &

count=0
domino_is_running
while [ $? -eq 1 ] ; do
sleep 10
count=`expr $count + 1`
seconds=`expr $count "*" 10`
echo " ... waiting $seconds seconds"
# Terminate Domino Server if still running
if [ "$seconds" -eq "$DOMINO_SHUTDOWN_TIMEOUT" ] ; then
echo "Domino Server is still running after $seconds seconds"
echo " ... now for the ungraceful method"
cleanup_domino_server
echo "Domino Server ($DOMINO_SERVER) TERMINATED"
exit
fi
domino_is_running
done
}

function shutdown_java_controller
{
echo y | $DOMINO_BIN -jc -q >> $DOMINO_OUTPUT_LOG 2>&1 &
echo $DOMINO_BIN -jc -q
count=0
java_controller_is_running
while [ $? -eq 1 ] ; do
sleep 10
count=`expr $count + 1`
if [ $count -eq 10 ] ; then
# kill java controller and lock file
cleanup_java_controller
fi
java_controller_is_running
done
}

function shutdown_broadcast_message
{
if [ "$BROADCAST_SHUTDOWN_MESSAGE" = "yes" ] ; then
$DOMINO_BIN -c ' BROADCAST "(!) Domino Server will be stopped now"' >> $DOMINO_OUTPUT_LOG 2>&1
fi
}

# --- sanity check for server environment ---

# check if script is executed with root user

if [ "$DOMINO_USER" = "root" ]; then
errmsg "Run the Domino Server as a notes user - exiting "
exit 1
fi

# check rights to execute domino binaries
if [ ! -x $DOMINO_BIN ] ; then
errmsg "Cannot access server command ($DOMINO_BIN) - exiting"
exit 1
fi

# check notes-data directory
if [ ! -d $DOMINO_DATA_PATH ] ; then
errmsg "Cannot access notes data directory ($DOMINO_DATA_PATH) - exiting"
exit 1
fi

# check right to write to notes.ini
if [ ! -w $DOMINO_INI_PATH ] ; then
errmsg "Cannot write to notes.ini ($DOMINO_INI_PATH) - exiting"
exit 1
fi

if [ "$LINUX_DISTRIBUTION" = "suse" ] ; then
# init suse rc
. /etc/rc.status
# reset status of this service
rc_reset
else

#dummy functions for non-suse platforms

function rc_status
{
return 0
}

function rc_check
{
return 0
}

function rc_exit
{
return 0
}

fi

# --- main script logic ---

case "$PARAM" in
start)
domino_is_running
if [ $? -eq 1 ] ; then
errmsg "Domino Server is already running - exiting"
exit 1
fi

if [ -e $DOMINO_DATA_PATH/domino_disabled ] ; then
errmsg "Domino Server is disabled for Maintenance"
exit 1
fi

cd $DOMINO_DATA_PATH
# cleanup

# terminate java controlle before restarting domino server with java controller
if [ "$USE_JAVA_CONTROLLER" = "yes" ] ; then
java_controller_is_running
if [ $? -eq 1 ] ; then
shutdown_java_controller
fi
fi

#empty the input file
cat /dev/null > $DOMINO_INPUT_FILE

# for servers using Notes passwords,
# replace the previous line with the following line.
# cat .secure_hidden_passwd > $DOMINO_INPUT_FILE

# move log-file and compress it
DOMINO_OUTPUT_LOG_BACKUP=$DOMINO_OUTPUT_LOG.`date +"%y%m%d_%H%M%S"`

if [ -r $DOMINO_OUTPUT_LOG ] ; then
mv $DOMINO_OUTPUT_LOG $DOMINO_OUTPUT_LOG_BACKUP >/dev/null
$COMPRESS_COMMAND $DOMINO_OUTPUT_LOG_BACKUP >/dev/null &
fi

echo "Starting Domino for $PLATFORM_NAME ($DOMINO_SERVER)"

echo "---- environment info ----" > $DOMINO_OUTPUT_LOG
set >> $DOMINO_OUTPUT_LOG

if [ ${LARCH} = "ibmpow" ]; then

# AIX platform tuning parameters

echo "---- ulimit soft info ----" >> $DOMINO_OUTPUT_LOG
ulimit -a >> $DOMINO_OUTPUT_LOG

echo "---- ulimit hard info ----" >> $DOMINO_OUTPUT_LOG
ulimit -a -H >> $DOMINO_OUTPUT_LOG

echo "---- no info ----" >> $DOMINO_OUTPUT_LOG
no -a >> $DOMINO_OUTPUT_LOG
fi

if [ ${LARCH} = "sunspa" ]; then

# Solaris platform tuning parameters

echo "---- ulimit soft info ----" >> $DOMINO_OUTPUT_LOG
ulimit -a >> $DOMINO_OUTPUT_LOG

echo "---- ulimit hard info ----" >> $DOMINO_OUTPUT_LOG
ulimit -a -H >> $DOMINO_OUTPUT_LOG
fi

if [ ${LARCH} = "linux" ]; then

# Linux platform tuning parameters

if [ -z "$Notes_SHARED_DPOOLSIZE" ]; then
export Notes_SHARED_DPOOLSIZE=20971520
fi

echo "---- ulimit soft info ----" >> $DOMINO_OUTPUT_LOG
ulimit -a >> $DOMINO_OUTPUT_LOG

echo "---- ulimit hard info ----" >> $DOMINO_OUTPUT_LOG
ulimit -a -H >> $DOMINO_OUTPUT_LOG
fi

echo "---- end of info messages ----" >> $DOMINO_OUTPUT_LOG
echo >> $DOMINO_OUTPUT_LOG

$DOMINO_BIN $JAVE_CONTROLLER_STRING < $DOMINO_INPUT_FILE >> $DOMINO_OUTPUT_LOG 2>&1 &

echo "done PID is $!"

# remember status and be verbose
rc_status -v
;;

archivelog)

DOMINO_OUTPUT_LOG_BACKUP=$DOMINO_OUTPUT_LOG.`date +"%y%m%d_%H%M%S"`

# copy log-file and compress
if [ -r $DOMINO_OUTPUT_LOG ] ; then
# copy log file
cp $DOMINO_OUTPUT_LOG $DOMINO_OUTPUT_LOG_BACKUP >/dev/null

# empty log file
cat /dev/null > $DOMINO_OUTPUT_LOG
echo "--- moved log file to '$DOMINO_OUTPUT_LOG_BACKUP' ---" >> $DOMINO_OUTPUT_LOG

# compress log file
$COMPRESS_COMMAND $DOMINO_OUTPUT_LOG_BACKUP >/dev/null
echo "archived log file to '$DOMINO_OUTPUT_LOG_BACKUP'"
else
echo "no log file to archive"
fi

# remember status and be verbose
rc_status -v
;;

stop)
echo "Stopping Domino for $PLATFORM_NAME ($DOMINO_SERVER)"
echo " ... waiting for shutdown to complete"
shutdown_broadcast_message
shutdown_domino_server

echo "Domino for $PLATFORM_NAME ($DOMINO_SERVER) shutdown completed"

# remember status and be verbose
rc_status -v
;;

stopjc)

# stop domino server before stoping java controller
domino_is_running
if [ $? -eq 1 ] ; then
echo "Stopping Domino for $PLATFORM_NAME ($DOMINO_SERVER)"
echo " ... waiting for shutdown to complete"
shutdown_broadcast_message
shutdown_domino_server
fi

echo "Stopping Java Controler for $PLATFORM_NAME ($DOMINO_SERVER)"
shutdown_java_controller

echo "Java Controler for $PLATFORM_NAME ($DOMINO_SERVER) shutdown completed"

# remember status and be verbose
rc_status -v
;;

monitor)

if [ ! -r $DOMINO_OUTPUT_LOG ] ; then
errmsg "Cannot read server-log ($DOMINO_OUTPUT_LOG) - exiting"
exit 1
fi

if [ ! -w $DOMINO_INPUT_FILE ] ; then
errmsg "Cannot write server-input-file ($DOMINO_INPUT_FILE) - exiting"
exit 1
fi

echo
echo "--- Live Console for $DOMINO_SERVER ---"
echo
echo "To stop console, always ctrl+c."
echo
echo
sleep 2

tail -f $DOMINO_OUTPUT_LOG &
MONITOR_PID=$!
trap "stop_monitor" 1 2 3

while true
do
read var
echo $var >> $DOMINO_INPUT_FILE
done
;;

restart)
# Stop the service and regardless of whether it was running or not, start it again.
$0 stop "$2" "$3"
$0 start "$2" "$3"

# remember status and be quiet
rc_status
;;

fullnsd)
# run NSD
echo "Running full NSD for ($DOMINO_SERVER)"
cd $DOMINO_DATA_PATH
$NSD_BIN
;;

nsd)
# run NSD -nomemcheck
echo "Running NSD -nomemcheck for ($DOMINO_SERVER)"
cd $DOMINO_DATA_PATH
$NSD_BIN -info
;;

info)
# run NSD -info
echo "Running NSD -info for ($DOMINO_SERVER)"
cd $DOMINO_DATA_PATH
$NSD_BIN -info
;;

kill)
# run NSD -kill
echo "Running NSD -kill for ($DOMINO_SERVER)"
cd $DOMINO_DATA_PATH
$NSD_BIN -kill
;;

status)
domino_status_check
# remember status and be verbose
rc_status -v
;;

setenv)
# just set the environment
exit 0
;;

test)
set
;;

*)
usage
exit 1
;;

esac

rc_exit

-----------------------------------------------------------------------------------------------
A másik fájlt az /etc/init.d -be kell tenni. A root futtatási joggal kell rendelkezzen a fájlra vonatkozóan. Az alábbi cuccot dobd át egy domino nevű fájlba
-------------------------------------------------------------------------------------------

#!/bin/sh
########################################################################
# Start/Stop Script for Domino on xLinux/zLinux/AIX/Solaris
# 2005 written by Daniel Nashed, feedback domino_unix@nashcom.de
# Version 1.4 02.04.2006
########################################################################
# chkconfig: 2345 66 19
# description: Lotus Domino Server

### BEGIN INIT INFO
# Provides: rc_domino
# Required-Start: $remote_fs $syslog $network
# Required-Stop: $remote_fs $syslog
# Default-Start: 3 5
# Default-Stop: 0 1 2 6
# Short-Description: IBM Lotus Domino Server (notes)
# Description: IBM Lotus Domino Server (notes)
# Start/Stop Script for xLinux/zLinux/AIX/Solaris
# 2005 written by Daniel Nashed (domino_unix@nashcom.de)

### END INIT INFO

# set default user to "notes" if no user is specified
if [ -z "$DOMINO_USER" ]; then
DOMINO_USER=notes
fi


DOMINO_START_SCRIPT=/opt/ibm/lotus/rc_domino_script
SWITCH_USER=0

# starting a server always needs a switch to a separate run-time environment
if [ "$LOGNAME" = "$DOMINO_USER" ] ; then

if [ "$1" = "start" ] ; then
SWITCH_USER=1
fi

if [ "$1" = "restart" ] ; then
SWITCH_USER=1
fi
else
SWITCH_USER=1
fi

if [ "$SWITCH_USER" = "0" ] ; then
$DOMINO_START_SCRIPT "$1"
else
echo switching to $DOMINO_USER
su - $DOMINO_USER -c "$DOMINO_START_SCRIPT '$1' "
fi

-------------------------------------------------------------------------------------------
Ezt követően ki kell adni a következő parancsot, hogy a rendszer automatikusan elindítsa/leállítsa a dominot bootoláskor:
chkconfig domino on

Standard indítás linuxon - nemm boot időben:
service domino start
Leállítás: ugyanez a stop paraméterrel.

Amit kivettem goyrsan a script működéséből:
root userként beállít egy-két dolgot majd notes userre vált és meghívja az rc_domino_scriptet, mely már az új user ID alatt elindítja a server binaryt.

Tandberg és IBM együttműködés. Friss és ropogós

Norway, Finansavisen, 30.08.2006: Tandberg signs agreement with IBM

Tandberg will deliver the video conference client for IBM Lotus Sametime 7.5 which makes it possible to carry out video conferences directly from the PC. Ken Bisconti, vice president in Lotus Software products, says the collaboration with Tandberg is an important step in their plans of integrating Lotus Sametime with leading suppliers in the communication industry.

EasySync Pro 4.2.4 bejelentés az IBM-nél

Már nagyon vártuk! EasySync Pro 4.2.4 bejelentés az IBM-nél A bejelentésben 2006. szeptember 29 szerepel, mint megjelenési dátum, de erre nem vállalnak garanciát. Minden esetre több, mint a semmi.