diff --git a/fstest/testserver/init.d/TestFTPRclone b/fstest/testserver/init.d/TestFTPRclone index 514c5c890..c91f5acec 100755 --- a/fstest/testserver/init.d/TestFTPRclone +++ b/fstest/testserver/init.d/TestFTPRclone @@ -5,19 +5,18 @@ set -e NAME=rclone-serve-ftp USER=rclone PASS=FuddleIdlingJell5 - -. $(dirname "$0")/docker.bash +IP=127.0.0.1 +PORT=28622 start() { - docker run --rm -d --name $NAME \ - rclone/rclone \ - serve ftp --user $USER --pass $PASS --addr :21 /data + run rclone serve ftp --user $USER --pass $PASS --addr ${IP}:${PORT} ${DATADIR} echo type=ftp - echo host=$(docker_ip) + echo host=${IP} + echo port=$PORT echo user=$USER echo pass=$(rclone obscure $PASS) - echo _connect=$(docker_ip):21 + echo _connect=${IP}:${PORT} } -. $(dirname "$0")/run.bash +. $(dirname "$0")/rclone-serve.bash diff --git a/fstest/testserver/init.d/TestSFTPRclone b/fstest/testserver/init.d/TestSFTPRclone index f53f0cd22..21fb82885 100755 --- a/fstest/testserver/init.d/TestSFTPRclone +++ b/fstest/testserver/init.d/TestSFTPRclone @@ -5,19 +5,18 @@ set -e NAME=rclone-serve-sftp USER=rclone PASS=CranesBallotDorsey5 - -. $(dirname "$0")/docker.bash +IP=127.0.0.1 +PORT=28621 start() { - docker run --rm -d --name $NAME \ - rclone/rclone \ - serve sftp --user $USER --pass $PASS --addr :22 /data + run rclone serve sftp --user $USER --pass $PASS --addr ${IP}:${PORT} ${DATADIR} echo type=sftp - echo host=$(docker_ip) + echo host=${IP} + echo port=$PORT echo user=$USER echo pass=$(rclone obscure $PASS) - echo _connect=$(docker_ip):22 + echo _connect=${IP}:${PORT} } -. $(dirname "$0")/run.bash +. $(dirname "$0")/rclone-serve.bash diff --git a/fstest/testserver/init.d/TestWebdavRclone b/fstest/testserver/init.d/TestWebdavRclone index 3a788c9ef..fb6b617d9 100755 --- a/fstest/testserver/init.d/TestWebdavRclone +++ b/fstest/testserver/init.d/TestWebdavRclone @@ -5,19 +5,17 @@ set -e NAME=rclone-serve-webdav USER=rclone PASS=PagansSwimExpiry9 - -. $(dirname "$0")/docker.bash +IP=127.0.0.1 +PORT=28620 start() { - docker run --rm -d --name $NAME \ - rclone/rclone \ - serve webdav --user $USER --pass $PASS --addr :80 /data + run rclone serve webdav --user $USER --pass $PASS --addr ${IP}:${PORT} ${DATADIR} echo type=webdav - echo url=http://$(docker_ip)/ + echo url=http://${IP}:${PORT}/ echo user=$USER echo pass=$(rclone obscure $PASS) - echo _connect=$(docker_ip):80 + echo _connect=${IP}:$PORT } -. $(dirname "$0")/run.bash +. $(dirname "$0")/rclone-serve.bash diff --git a/fstest/testserver/init.d/rclone-serve.bash b/fstest/testserver/init.d/rclone-serve.bash new file mode 100644 index 000000000..76d9c0f31 --- /dev/null +++ b/fstest/testserver/init.d/rclone-serve.bash @@ -0,0 +1,41 @@ +#!/bin/bash + +# start an "rclone serve" server + +PIDFILE=/tmp/${NAME}.pid +DATADIR=/tmp/${NAME}-data + +stop() { + if status ; then + pid=$(cat ${PIDFILE}) + kill $pid + rm ${PIDFILE} + echo "$NAME stopped" + fi +} + +status() { + if [ -e ${PIDFILE} ]; then + pid=$(cat ${PIDFILE}) + if kill -0 &>1 > /dev/null $pid; then + # echo "$NAME running" + return 0 + else + rm ${PIDFILE} + fi + fi + # echo "$NAME not running" + return 1 +} + +run() { + if ! status ; then + mkdir -p ${DATADIR} + nohup "$@" >>/tmp/${NAME}.log 2>&1 ${PIDFILE} + disown $pid + fi +} + +. $(dirname "$0")/run.bash