Ao usar este comando, ele irá do caminho atual para baixo. Então você tem algo assim:
dir1
dir1/temp_diag
dir1/temp_diag/file1
Você está executando seu comando de dentro de dir1
e encontra entradas em dir1 / temp_diag e executa
mv ./temp_diag/file1 temp_diag/file1
Você está realmente dizendo ao comando para mover o arquivo para si mesmo.
UPDATE: Se você não tiver subdiretórios com arquivos, poderá adicionar a opção para localizar o maxdepth 1. Então:
find . -type f -name 'diag*' -maxdepth 1 -mtime +30 -exec mv {} temp_diag \;
ou se você tiver subdiretórios, mas não quiser incluir temp_diag:
find . -path ./temp_diag -prune -o -print -type f -name 'diag*' -mtime +30 -exec mv {} temp_diag\;