工作当中的一个需求,云平台应用自动化升级的一个脚本,其实相对来说比较简单,就是做一些判断,再用函数封装起来即可。
#!/bin/bash
#@date:2019-12-24
#@auth:tigergao
#@update_all
function depprot()
{
curdir=`dirname $0`
tar xvfz $curdir/update.tgz -C /
echo "Finger Print engine update starting....."
echo "Installing depport package"
if [ -d /rayos/app/tools/depprot ]; then
if [ -d /rayos/app/tools/depprot.bak ]; then
rm -rf /rayos/app/tools/depprot.bak
fi
mv /rayos/app/tools/depprot /rayos/app/tools/depprot.bak
fi
tar -xzvf /depprot.tgz -C /rayos/app/tools/
[ -f /depprot.tgz ] && rm -rf /depprot.tgz
echo "Add executable rights for /etc/cron.1min"
echo "Finger Print engine update completed"
}
function probe()
{
curdir=`dirname $0`
tar xvfz $curdir/update.tgz -C /
echo "Finger Print engine update starting....."
echo "Remove executable rights for /etc/cron.1min"
chmod -x /etc/cron.1min/*
echo "Stop deep scan worker process"
/rayos/app/daemon/gmworker/stop.sh
echo "Installing probe package"
if [ -d /rayos/app/daemon/gmworker/tools/probe ]; then
if [ -d /rayos/app/daemon/gmworker/tools/probe.bak ]; then
rm -rf /rayos/app/daemon/gmworker/tools/probe.bak
fi
mv /rayos/app/daemon/gmworker/tools/probe /rayos/app/daemon/gmworker/tools/probe.bak
fi
tar -xzvf /probe.tgz -C /rayos/app/daemon/gmworker/tools/
[ -f /probe.tgz ] && rm -rf /probe.tgz
[ -f /rayos/app/daemon/gmworker/tools/probe/stop.sh ] && /rayos/app/daemon/gmworker/tools/probe/stop.sh -f
echo "Add executable rights for /etc/cron.1min"
chmod +x /etc/cron.1min/*
echo "Finger Print engine update completed"
}
function fingerdb()
{
curdir=`dirname $0`
tar xvfz $curdir/update.tgz -C /
echo "Finger Print engine update starting....."
echo "Remove executable rights for /etc/cron.1min"
chmod -x /etc/cron.1min/*
echo "Stop deep scan worker process"
/rayos/app/daemon/gmworker/stop.sh
echo "Installing probe package"
rm /rayos/app/daemon/gmworker/tools/probe/pkl/* -f
if [ -f /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db ]; then
if [ -f /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db.bak ]; then
rm -rf /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db.bak
fi
mv /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db.bak
echo "mv /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db.bak"
fi
mv /finger_db.db /rayos/app/daemon/gmworker/tools/probe/db/finger_db.db
[ -f /probe.tgz ] && rm -rf /probe.tgz
[ -f /rayos/app/daemon/gmworker/tools/probe/stop.sh ] && /rayos/app/daemon/gmworker/tools/probe/stop.sh -f
echo "Add executable rights for /etc/cron.1min"
chmod +x /etc/cron.1min/*
echo "Finger Print engine update completed"
}
depprot;
probe;
fingerdb