Você provavelmente poderia se safar com algo como (não testado) -
for each in 'find -type d /home/usr/Desktop/cron_database/hourly'
do
ls -t $each/_[012][0-9]*.zip | head -n -1 | \ while read -r f;
do
rm "$f"
done
done
o loop "for each" irá encontrar uma lista de todos os diretórios, e adicionar um "-t" ao ls fará com que ele classifique em ordem de data - com o mais recente primeiro.