Supõe-se que "60 segundos" (e até "5 minutos") é apenas uma boa estimativa e que existe o risco de que o primeiro lote ainda esteja em andamento quando o segundo lote for iniciado. Se você deseja separar os lotes (e se não houver nenhum problema além dos arquivos de log em uma sobreposição ocasional), uma abordagem melhor seria fazer um número de lote como parte da convenção de nomenclatura de arquivos em andamento.
Algo parecido com isto:
[[ -s ]] $local_dir/batch || echo 0 > $local_dir/batch
batch=$(echo $local_dir/batch)
expr $batch + 1 >$local_dir/batch
antes do loop for e, em seguida, no início do loop, verifique se o padrão corresponde a um arquivo real
[[ -f "$file" ]] || continue
e use o número do lote no nome do arquivo:
mv $file_location $local_dir/in_progress$batch.log
e para frente. Isso reduz o risco de colisão.