#!/bin/sh QPKG_INSTALL_PATH=$(getcfg "HybridBackup" Install_Path -f /etc/config/qpkg.conf) QPKG_LOG_PATH="${QPKG_INSTALL_PATH}/logs" QPKG_LOG_FILE="${QPKG_LOG_PATH}/rsyncd_srv.log" function app_log() { echo "[$(date '+%Y/%m/%d %H:%M:%S')] [$$] $*" >> "$QPKG_LOG_FILE" } function print_caller() { if [ -d "/proc/$PPID" ] && [ -f "/proc/$PPID/cmdline" ]; then app_log "caller:$PPID ($(cat /proc/$PPID/cmdline) $*)" _PPPID=$(cat /proc/$PPID/status | grep PPid | awk '{printf $2}') if [ -n "${_PPPID}" ] && [ -d "/proc/$_PPPID" ] && [ -f "/proc/$_PPPID/cmdline" ]; then app_log "caller parent:$_PPPID ($(cat /proc/$_PPPID/cmdline) $*)" fi else app_log "caller:$PPID" fi } print_caller RSYNCD_CONF="/etc/config/rsyncd.conf" #RSYNC_SCHEDULE_CONF="/etc/config/rsync_schedule.conf" rsyncd_port=`/sbin/getcfg "" "port" -f "${RSYNCD_CONF}" -d "873"` rsyncd_user=`/sbin/getcfg "" "rsync user" -f "${RSYNCD_CONF}" -d "rsync"` rsyncd_enpswd=`/sbin/getcfg "" "rsync enpswd" -f "${RSYNCD_CONF}" -d ""` rsyncd_slimitrate=`/sbin/getcfg "" "SLimitRate" -f "${RSYNCD_CONF}" -d ""` rsyncd_rlimitrate=`/sbin/getcfg "" "RLimitRate" -f "${RSYNCD_CONF}" -d ""` rsyncd_authmode=`/sbin/getcfg "" "HBS3 AuthMode" -f "${RSYNCD_CONF}" -d "RSYNC"` rsyncd_status=`/sbin/getcfg "" "status" -f "${RSYNCD_CONF}" -d ""` rsyncd_max_downrate=`/sbin/getcfg "" "max downrate" -f "${RSYNCD_CONF}" -d "0"` NOW="$(/bin/date +'%Y%m%d%H%M.%S').${RANDOM}" TMP_RSYNCD_CONF="${QPKG_LOG_PATH}/rsyncd.conf.${NOW}" echo "uid = admin" > ${TMP_RSYNCD_CONF} echo "gid = administrators" >> ${TMP_RSYNCD_CONF} #echo "log file = /var/log/rsyncd.log" >> ${TMP_RSYNCD_CONF} echo "pid file = /var/run/rsyncd.pid" >> ${TMP_RSYNCD_CONF} echo "read only = false" >> ${TMP_RSYNCD_CONF} echo "hosts allow = *" >> ${TMP_RSYNCD_CONF} echo "port = ${rsyncd_port}" >> ${TMP_RSYNCD_CONF} echo "rsync user = ${rsyncd_user}" >> ${TMP_RSYNCD_CONF} echo "rsync enpswd = ${rsyncd_enpswd}" >> ${TMP_RSYNCD_CONF} echo "SLimitRate = ${rsyncd_slimitrate}" >> ${TMP_RSYNCD_CONF} echo "RLimitRate = ${rsyncd_rlimitrate}" >> ${TMP_RSYNCD_CONF} echo "HBS3 AuthMode = ${rsyncd_authmode}" >> ${TMP_RSYNCD_CONF} echo "status = ${rsyncd_status}" >> ${TMP_RSYNCD_CONF} echo "max downrate = ${rsyncd_max_downrate}" >> ${TMP_RSYNCD_CONF} echo >> ${TMP_RSYNCD_CONF} tmp_smb_conf="/tmp/smb.conf.${NOW}" /bin/cp /etc/smb.conf ${tmp_smb_conf} share_list="/tmp/share_list.${NOW}" /bin/sed -n 's/^\[\(.*\)\]/\1/p' ${tmp_smb_conf} | /bin/grep '^global$' -v | /bin/grep '^printer$' -v > ${share_list} while read LINE do share_path=`/sbin/getcfg "${LINE}" "path" -f ${tmp_smb_conf} -d ""` encryption=`/sbin/getcfg "${LINE}" "encryption" -f ${tmp_smb_conf} -d ""` [ "x${share_path}" = "x" ] || /sbin/setcfg "${LINE}" "path" "${share_path}" -f ${TMP_RSYNCD_CONF} [ "x${encryption}" = x"yes" ] && /sbin/setcfg "${LINE}" "exclude" ".digest" -f ${TMP_RSYNCD_CONF} done < ${share_list} /bin/rm -f ${tmp_smb_conf} ${share_list} /bin/cp -a ${TMP_RSYNCD_CONF} ${RSYNCD_CONF} /bin/rm -f ${TMP_RSYNCD_CONF} app_log "done"