O diretório atual (funcionando) provavelmente não está definido como / opt / www quando o cronjob é iniciado. Você pode configurá-lo em seu script backup.sh antes da linha tar...
:
cd /opt/www
ou você pode usar o caminho completo na linha de tar:
tar zcf backups/$FILENAME /opt/www/f
Também posso aconselhar o uso de um caminho completo para backups/$FILENAME