You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

51 lines
1.7 KiB

#!/bin/sh
WEED=${WEED-"/usr/bin/weed"}
WEED_DIR=${WEED_DIR-"/data"}
WEED_VOLUME_PREALLOCATE=${WEED_VOLUME_PREALLOCATE-"-volumePreallocate"}
WEED_MASTER_VOLUME_PREALLOCATE=${WEED_MASTER_VOLUME_PREALLOCATE-"-master.volumePreallocate"}
WEED_VOLUME_SIZE_LIMIT_MB=${WEED_VOLUME_SIZE_LIMIT_MB-1024}
WEED_MAX=${WEED_MAX-0}
WEED_S3_DOMAIN_NAME=${WEED_S3_DOMAIN_NAME-""}
WEED_S3_KEY_FILE=${WEED_S3_KEY_FILE-""}
WEED_S3_CERT_FILE=${WEED_S3_CERT_FILE-""}
WEED_MASTER=${WEED_MASTER-"localhost:9333"}
WEED_FILER=${WEED_FILER-"localhost:8888"}
FIX_REPLICATION_CRON_SCHEDULE=${FIX_REPLICATION_CRON_SCHEDULE-"*/7 * * * * *"}
BALANCING_CRON_SCHEDULE=${BALANCING_CRON_SCHEDULE-"25 * * * * *"}
case "$1" in
'master')
ARGS="-mdir=$WEED_DIR $WEED_VOLUME_PREALLOCATE -volumeSizeLimitMB=$WEED_VOLUME_SIZE_LIMIT_MB"
shift
exec $WEED master $ARGS $@
;;
'volume')
ARGS="-dir=$WEED_DIR -max=$WEED_MAX"
shift
exec $WEED volume $ARGS $@
;;
'server')
ARGS="-dir=$WEED_DIR -volume.max=$WEED_MAX $WEED_MASTER_VOLUME_PREALLOCATE -master.volumeSizeLimitMB=$WEED_VOLUME_SIZE_LIMIT_MB"
shift
exec $WEED server $ARGS $@
;;
's3')
ARGS="-domainName=$WEED_S3_DOMAIN_NAME -key.file=$WEED_S3_KEY_FILE -cert.file=$WEED_S3_CERT_FILE"
shift
exec $WEED s3 $ARGS $@
;;
'cronjob')
cat <<-EOF >crontab
$FIX_REPLICATION_CRON_SCHEDULE echo "lock; volume.fix.replication; unlock" | $WEED shell -master=$WEED_MASTER -filer=$WEED_FILER
$BALANCING_CRON_SCHEDULE echo "lock; volume.balance -collection ALL_COLLECTIONS -force; unlock" | $WEED shell -master=$WEED_MASTER -filer=$WEED_FILER
EOF
echo "Running Crontab:"
cat /crontab
exec supercronic /crontab
;;
*)
exec $WEED $@
;;
esac