Решил создать тему. Поделиться скриптами, которые я юзаю в сборке/настройке сервера.
Автосборка
Код:
#!/bin/bash
cp -rf ~/Sources/mangos/* ~/compile
mkdir -p ~/compile/src/bindings/ScriptDev2/
cp -rf ~/Sources/scriptdev2/* ~/compile/src/bindings/ScriptDev2/
cd ~/compile
git apply src/bindings/ScriptDev2/patches/M*
autoreconf -fvi && mkdir objdir -p && cd objdir && ../configure --prefix=/home/mangos/servers/pve --sysconfdir=/home/mangos/servers/pve/etc --enable-cli --enable-ra --datadir=/home/mangos/servers/pve && make
Пути менять на свои..
Скрипт для автоматического накатывания апдейтов базы УТДБ
Код:
data=/home/mangos/data
ls Sources/ytdb/R55/Updates/55?_* | grep mangos > $data
find compile/ -type f -name "*mangos*" |grep sql | grep addi | sort | grep -v events | grep -v teleguy >> $data
while read DATA; do
file=`echo $DATA | awk '{print $1}'`
mysql -u${user} -p${password} mangos < $file
done < $data
Для накатывания патчей в базу scriptdev2
Код:
data=/home/mangos/sd
find compile/ -type f -name "*cript*" |grep sql | grep addi | sort | grep -v wowd > $data
while read DATA; do
file=`echo $DATA | awk '{print $1}'`
mysql -u${user} -p${password} scriptdev2 < $file
done < $data
Рестартер mangos-worldd
Код:
#!/bin/sh
CMDNAME='mangos-worldd'
RESTARTCMD='/путь/до/папки/с/сервером/bin/mangos-worldd'
SLEEPTIME=1
while test 1
do
OUTPUT=`ps ax | grep $CMDNAME | grep -v grep`
if ! echo $OUTPUT | grep $CMDNAME 1>/dev/null ; then
echo Restarting service...
$RESTARTCMD
else
echo Server Online...
fi
sleep $SLEEPTIME
done
Аналогично можно использовать его для рестарта реалма
Скрипт для бэкапа БД. копирует данные на 2 харда и заливает на фтп. (у меня /home - другой физический хард.)
Код:
#!/bin/sh
tar="$(which tar)"
year=`date '+%Y'`
month=`date '+%m'`
date=`date '+%d'`
time=`date '+%H'`
db_user="user"
db_password="password"
#Определение пути к исполняемому бинарному файлу mysqldump
mysqldump="$(which mysqldump)"
# Определение директории сохранения бэкапа на день выполнения скрипта
archive="/home/mangos/backup"
backup_dir="${archive}/temp"
#Выполнение дампа баз
${mysqldump} -u$db_user -p$db_password characters | gzip > ${backup_dir}/${year}.${month}.${date}_${time}.characters.sql.gz
${mysqldump} -u$db_user -p$db_password realmd | gzip > ${backup_dir}/${year}.${month}.${date}_${time}.realmd.sql.gz
$tar cvfj ${archive}/${year}.${month}.${date}_${time}.data.tar.bz2 $backup_dir
rm -rf ${backup_dir}/*.gz
cp ${archive}/${year}.${month}.${date}_${time}.data.tar.bz2 /root/backup/
ncftpput -u user -p password host /backup_dir /root/${year}.${month}.${date}_${time}.data.tar.bz2
Собственно все. Есть еще автоматический апдейтер сорсов, который я скину позже.