# apt-get install procmailEasy.
Here's a useful snippet of code using lockfile in a shell script:
#!/bin/sh
LOCKFILE="/tmp/processname.lock"
# Break the lock if locking process has died
RUNNING_PID=`cat $LOCKFILE 2>/dev/null`;
if [ "x"$RUNNING_PID != "x" ] ; then
        RUNNING_NAME=`ps -p $RUNNING_PID -o comm= 2>/dev/null`;
        if [ "x"$RUNNING_NAME != "processname.sh" ] ; then
                rm -f $LOCKFILE
        fi
fi
# Acquire lock
lockfile $LOCKFILE
echo $$ > $LOCKFILE
echo whatever i am doing and plop in a log `date` >> /var/log/processname.log
...snip...
echo whatever i am doing is completed `date` >> /var/log/processname.log
# Release the lock
rm -f $LOCKFILE
If you're doing a scad of stuff, rotate your logs by placing an appropriately named file in logrotate.d:
/var/log/processname.log /var/log/ohlookanotherprocessname.log {
    rotate 7
    daily
    missingok
    notifempty
    compress
    sharedscripts
    endscript
}
 
 
No comments:
Post a Comment