#! /bin/bash # Rolf Niepraschk (Rolf.Niepraschk@ptb.de), 2021-01-13 # Verteilt webapps-deliverer-Dateien zum Ziel-Rechnern per "rsync" und # aktiviert den webapps-deliverer-Prozess dort. # Aufruf: # # ./install # $1 = host (optional, default: localhost) PROJECT="webapps-deliverer" SOURCE_PATH=../${PROJECT}/ DEST_PATH=/usr/local/share/ TARGET_HOST=${1:-localhost} TARGET_PATH=${DEST_PATH}${PROJECT} FILE_LIST="./files.dat" DEST_USER=nobody DEST_GROUP=nobody FILES="README.md server server.py requirements.in webapps-deliverer.service \ webapps-deliverer-restart.timer webapps-deliverer-restart.service" rm -rf ${FILE_LIST} for f in ${FILES} ; do echo "${SOURCE_PATH}$f" >> ${FILE_LIST} done rsync --info=STATS1 -azvL --delete --keep-dirlinks \ --files-from=${FILE_LIST} ../ root@${TARGET_HOST}:${DEST_PATH} ssh root@${TARGET_HOST} /bin/bash -l <<EOF cd ${TARGET_PATH} python3 -m venv ./ source bin/activate pip3 install pip-tools pip-compile --output-file=requirements.txt requirements.in pip3 install -r requirements.txt deactivate chown -R ${DEST_USER}.${DEST_GROUP} ${TARGET_PATH} systemctl link \$PWD/webapps-deliverer.service systemctl link \$PWD/webapps-deliverer-restart.timer systemctl link \$PWD/webapps-deliverer-restart.service systemctl enable webapps-deliverer.service systemctl enable webapps-deliverer-restart.timer systemctl daemon-reload systemctl restart webapps-deliverer.service systemctl restart webapps-deliverer-restart.timer systemctl status webapps-deliverer.service systemctl list-timers EOF exit