hi,
if you do the command ls and you see listed "filename",
while if you do ls -l or ls -l filename you see the error,
it means that the file is listed in the directory, but in effect the file does not exist, then the directory/the filesystem has some problem.
You don't specify if this happens in a specific directory
or not. If it is not a system filesystem (/usr / /var) do:
# umount /yourfilesystem
# fsck -y /yourfilesystem
# mount /yourfilesystem
or copy the files in another dir, rename the original
in .old and the new with the original name.
The periodicity of the effect is strange: do a look at cron.
crontab -l
does an idea about what your user can have in cron table,
but see also in the table of all users:
/var/spool/cron/crontabs/*
To comment strange tasks (for your opinion) use
crontab -e or directly vi /var/spool/cron/crontabs/user
having the attention to save the original version in a safe place.
ciao
vittorio