to restore files on Linux a backup is required. The is nothing like DOS undelete command or Trash Bin for files deleted on a shell system.
To get information on who has deleted the file, you can check the history files for each user. If an automated process or a program has deleted the file, it will nearly not possible to find some information. Check the application you were running, eventually this will help.
There are various tools for file monitoring, best you cover out what exactly are your needs. Take a look at sf.net. Also you can write a script which will check your file(s). Take a look at lsattr man page to find out how to prevent a file from deleting.