#!/bin/bash #set -e if [ "$1" = "monitor" ] ; then if [ -n "$TRACKER_SERVER" ] ; then ###支持多tracker_server sed -i '/22122/d' /etc/fdfs/client.conf echo "$TRACKER_SERVER" | tr -s ', ' '\n'|while read n do echo "tracker_server=$n" >>/etc/fdfs/client.conf done fi fdfs_monitor /etc/fdfs/client.conf exit 0 elif [ "$1" = "tracker" ] ; then FASTDFS_MODE="tracker" if [ -n "$TRACKER_SERVER_PORT" ] ; then sed -i "s|22122|${TRACKER_SERVER_PORT}|g" /etc/fdfs/tracker.conf fi elif [ "$1" = "storage" ] ; then FASTDFS_MODE="storage" if [ -n "$TRACKER_SERVER" ] ; then sed -i '/22122/d' /etc/fdfs/storage.conf /etc/fdfs/client.conf /etc/fdfs/mod_fastdfs.conf echo "$TRACKER_SERVER" | tr -s ', ' '\n'|while read n do echo "tracker_server=$n" >>/etc/fdfs/storage.conf echo "tracker_server=$n" >>/etc/fdfs/client.conf echo "tracker_server=$n" >>/etc/fdfs/mod_fastdfs.conf done else echo "请配置TRACKER_SERVER地址" >>/dev/stdout exit 1 fi if [ -n "$GROUP_NAME" ] ; then sed -i "s|group|${GROUP_NAME}|g" /usr/local/nginx/conf/nginx.conf.sec /usr/local/nginx/conf/nginx.conf.nosec sed -i "s|group_name=.*$|group_name=${GROUP_NAME}|g" /etc/fdfs/storage.conf /etc/fdfs/mod_fastdfs.conf else echo "请配置group的名称" >>/dev/stdout exit 1 fi if [ -n "$STORAGE_SERVER_PORT" ] ; then sed -i "s|23000|${STORAGE_SERVER_PORT}|g" /etc/fdfs/storage.conf /etc/fdfs/mod_fastdfs.conf fi if [ -n "$STORAGE_HTTP_PORT" ] ; then sed -i "s|8888|${STORAGE_HTTP_PORT}|g" /etc/fdfs/storage.conf /usr/local/nginx/conf/nginx.conf.sec /usr/local/nginx/conf/nginx.conf.nosec fi if [ -n "$TOKEN" ] ; then sed -i "s|http.anti_steal.check_token=.*$|http.anti_steal.check_token = true|g" /etc/fdfs/http.conf sed -i "s|http.anti_steal.secret_key=.*$|http.anti_steal.secret_key = ${TOKEN}|g" /etc/fdfs/http.conf sed -i "s|http.anti_steal.token_check_fail=.*$|http.anti_steal.token_check_fail = /etc/fdfs/anti-steal.png|g" /etc/fdfs/http.conf /bin/mv /usr/local/nginx/conf/nginx.conf.sec /usr/local/nginx/conf/nginx.conf else /bin/mv /usr/local/nginx/conf/nginx.conf.nosec /usr/local/nginx/conf/nginx.conf fi sed -i "s|store_path0.*$|store_path0=/var/fdfs|g" /etc/fdfs/mod_fastdfs.conf sed -i "s|url_have_group_name =.*$|url_have_group_name = true|g" /etc/fdfs/mod_fastdfs.conf mkdir -p /var/fdfs/data ln -s /var/fdfs/data /var/fdfs/data/M00 /usr/local/nginx/sbin/nginx else echo "请配置启动参数" >>/dev/stdout exit 1 fi FASTDFS_LOG_FILE="/var/fdfs/logs/${FASTDFS_MODE}d.log" PID_NUMBER="/var/fdfs/data/fdfs_${FASTDFS_MODE}d.pid" echo "try to start the $FASTDFS_MODE node..." if [ -f "$FASTDFS_LOG_FILE" ]; then rm "$FASTDFS_LOG_FILE" fi # start the fastdfs node. fdfs_${FASTDFS_MODE}d /etc/fdfs/${FASTDFS_MODE}.conf start # wait for pid file(important!),the max start time is 5 seconds,if the pid number does not appear in 5 seconds,start failed. TIMES=10 while [ ! -f "$PID_NUMBER" -a $TIMES -gt 0 ] do sleep 1s TIMES=`expr $TIMES - 1` done tail -n+1 -F "$FASTDFS_LOG_FILE"