mirror of https://github.com/deajan/osync
Added init and install scripts
parent
2e56a880cb
commit
3467e4f328
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
## Osync daemon install script
|
||||
## Tested on RHEL / CentOS 6
|
||||
## Please adapt this to fit your distro needs
|
||||
|
||||
mkdir /etc/osync
|
||||
cp ./sync.conf /etc/osync
|
||||
cp ./osync.sh /usr/local/bin
|
||||
cp ./osync-srv /etc/init.d
|
||||
|
@ -0,0 +1,132 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# osync two way directory sync tool
|
||||
#
|
||||
# chkconfig: - 90 100
|
||||
# description: monitors a local directory and syncs to a local or remote \
|
||||
# directory on file changes
|
||||
|
||||
prog=osync
|
||||
progexec=osync.sh
|
||||
progpath=/usr/local/bin
|
||||
confdir=/etc/osync
|
||||
pidfile=/var/run/$prog
|
||||
lockfile=/var/lock/subsys/$prog
|
||||
|
||||
if [ ! -f $progpath/$progexec ] && [ ! -f $progexec ]
|
||||
then
|
||||
echo "Cannot find $prog executable in $progpath nor in local path."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -w $(dirname $pidfile) ]
|
||||
then
|
||||
pidfile=./$prog
|
||||
fi
|
||||
|
||||
start() {
|
||||
if [ ! -f $confdir/*.conf ]
|
||||
then
|
||||
echo "Cannot find any configuration files in $confdir."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
errno=0
|
||||
|
||||
for cfgfile in $confdir/*.conf
|
||||
do
|
||||
if [ -f $progpath/$progexec ]
|
||||
then
|
||||
$progpath/$progexec $cfgfile --on-changes > /dev/null 2>&1 &
|
||||
elif [ -f ./$progexec ]
|
||||
then
|
||||
./$progexec $cfgfile --on-changes > /dev/null 2>&1 &
|
||||
else
|
||||
echo "Cannot find osync executable in $progpath"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pid=$!
|
||||
retval=$?
|
||||
|
||||
if [ $? == 0 ]
|
||||
then
|
||||
echo $pid > "$pidfile-$(basename $cfgfile)"
|
||||
echo "$prog successfully started for configuration file $cfgfile"
|
||||
else
|
||||
echo "Cannot start $prog for configuration file $cfgfile"
|
||||
$errno = 1
|
||||
fi
|
||||
done
|
||||
|
||||
exit $errno
|
||||
}
|
||||
|
||||
stop() {
|
||||
if [ ! -f $pidfile-* ]
|
||||
then
|
||||
echo "No running osync instances found."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for pfile in $pidfile-*
|
||||
do
|
||||
if ps -p$(cat $pfile) > /dev/null 2>&1
|
||||
then
|
||||
kill -TERM $(cat $pfile)
|
||||
if [ $? == 0 ]
|
||||
then
|
||||
rm -f $pfile
|
||||
echo "$prog instance $(basename $pfile) stopped."
|
||||
else
|
||||
echo "Cannot stop $prog instance $(basename $pfile)"
|
||||
fi
|
||||
else
|
||||
rm -f $pfile
|
||||
echo "$pfile is dead but lockfile exists."
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
status() {
|
||||
if [ ! -f $pidfile-* ]
|
||||
then
|
||||
echo "Cannot find any running osync instance."
|
||||
exit
|
||||
fi
|
||||
|
||||
for pfile in $pidfile-*
|
||||
do
|
||||
if ps -p$(cat $pfile) > /dev/null 2>&1
|
||||
then
|
||||
echo "$prog instance $(basename $pfile) is running (pid $(cat $pfile))"
|
||||
else
|
||||
echo "$pfile is dead but lockfile exists."
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
stop
|
||||
start
|
||||
;;
|
||||
status)
|
||||
status
|
||||
;;
|
||||
condrestart|try-restart)
|
||||
status || exit 0
|
||||
restart
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart|status}"
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
Loading…
Reference in New Issue