Интересно, можно ли создать такой сценарий .sh, чтобы обычный пользователь мог начать с чего-то вроде nohup ./superScript.sh >& /dev/null &
и который раз в минуту заглядывал в какой-нибудь SVN, узнавал текущую версию и был ли обновите команды запуска, например:
kill `ps aux | grep -F 'ServerAPP' | grep -v -F 'grep' | awk '{ print $2 }'`
./server_automated_net_setup.sh
cd server/install-dir/
export LD_LIBRARY_PATH=./:~/server/install-dir/lib_boost:~/server/install-dir/lib_openSSL
nohup ./ServerAPP >& /dev/null &
, которые убьют запущенное в данный момент приложение, запустят какой-нибудь скрипт автообновления, который у нас уже есть в домашнем каталоге пользователей ~
, и снова запустите его.
Можно ли создать такой сценарий и как это сделать?
Сценарий выглядел бы примерно так:
#! /bin/bash
REMOTE_REPO="svn://path/to/remote/repo"
LOCAL_REPO="/path/to/local/repo"
REMOTE_REV=`svn info $REMOTE_REPO | grep '^Revision:' | awk '{print $2}'`
LOCAL_REV=`svn info $LOCAL_REPO | grep '^Revision:' | awk '{print $2}'`
if [ $REMOTE_REV -eq $LOCAL_REV ]; then
exit 0;
else
# Run your commands here.
cd $LOCAL_REPO
svn up
fi
Этот сценарий просто сравнивает текущее количество пересмотра и локальных и удаленных репозиториев SVN. Если отличение, чем он выполняет некоторые команды. Если они - то же, оно просто существует.
Тогда необходимо было бы просто настроить задание крона для выполнения, как часто Вы хотите.
Если у Вас есть доступ к svn серверу, лучший подход должен определить постфиксация svn рычаг . Таким образом, Вы избегаете опрос .
мы там уже? Мы там уже? Мы там уже? - видят, насколько раздражающий это?
Преимущества рычаги по опросу: