EOF não está no início da linha. Alterando seu script para:
#!/bin/sh
sftp -b /dev/stdin server <<EOF
cd /shares/backup/webserver/
put $bu_PATH$BACKUP_FILE
quit
EOF
echo "Backup done"
deve fazer funcionar.
Você pode substituir /dev/stdin server
por -
, pois o último significa stdin.