Outra maneira de excluir todos, exceto os últimos 30 arquivos:
rm $(ls -r | tail -n +31)
Ou aqui está uma versão mais curta do script na postagem original:
cd /opt/backup/mysql/dumps
d=$(date -r $(($(date +%s)-30*86400)) +%Y%m%d)
for f in all-mysql-*; do
[[ ${f#all-mysql-} < $d ]] && rm $f
done