diff --git a/hub/onboard-spoke.sh b/hub/onboard-spoke.sh index 96412be..d878ef3 100755 --- a/hub/onboard-spoke.sh +++ b/hub/onboard-spoke.sh @@ -230,8 +230,15 @@ echo "${SPOKE_NAME} ${TUNNEL_PORT} ${KEY_PATH} ${MOUNT_POINT}" >> "$REGISTRY" info "$SPOKE_NAME registered." header "Setting Up Auto-Mount" -MOUNT_CMD="/usr/bin/rclone mount ${SPOKE_NAME}-remote: ${MOUNT_POINT} --config ${HOME}/.config/rclone/rclone.conf --vfs-cache-mode writes --allow-other --allow-non-empty --daemon" -CRON_ENTRY="@reboot ${MOUNT_CMD}" +MOUNT_SCRIPT="${HOME}/mount-${SPOKE_NAME}.sh" +cat > "$MOUNT_SCRIPT" << MOUNTEOF +#!/usr/bin/env bash +sleep 90 +/usr/bin/rclone mount ${SPOKE_NAME}-remote: ${MOUNT_POINT} --config ${HOME}/.config/rclone/rclone.conf --vfs-cache-mode writes --allow-other --allow-non-empty --daemon +MOUNTEOF +chmod +x "$MOUNT_SCRIPT" + +CRON_ENTRY="@reboot $MOUNT_SCRIPT >> ${HOME}/rclone-${SPOKE_NAME}.log 2>&1" EXISTING=$(crontab -l 2>/dev/null || true) if echo "$EXISTING" | grep -qF "${SPOKE_NAME}-remote:"; then warn "Crontab entry for ${SPOKE_NAME}-remote already exists, skipping." @@ -245,7 +252,7 @@ else fi info "Starting mount now..." mkdir -p "$MOUNT_POINT" -eval "$MOUNT_CMD" 2>/dev/null && info "Mounted ${SPOKE_NAME} at ${MOUNT_POINT}." || warn "Mount failed — will retry on next reboot." +/usr/bin/rclone mount ${SPOKE_NAME}-remote: ${MOUNT_POINT} --config ${HOME}/.config/rclone/rclone.conf --vfs-cache-mode writes --allow-other --allow-non-empty --daemon 2>/dev/null && info "Mounted ${SPOKE_NAME} at ${MOUNT_POINT}." || warn "Mount failed — will retry on next reboot." header "Onboarding Complete" echo -e " Spoke: ${GREEN}$SPOKE_NAME${NC}"