wiki:FileDeleter

Version 7 (modified by davea, 17 years ago) (diff)

--

Server-side file deletion

Files are deleted from the data server's upload and download directories by the file_deleter daemon. Typically you don't need to customize this. The default file deletion policy is:

  • A workunit's input files are deleted when all results are 'over' (reported or timed out) and the workunit is assimilated.
  • A result's output files are deleted after the workunit is assimilated. The canonical result is handled differently, since its output files may be needed to validate results that are reported after assimilation; hence its files are deleted only when all results are over, and all successful results have been validated.
  • periodically remove 'antiques': files that are older than the oldest WU in the database. These files are created when BOINC clients return after the corresponding WU has been deleted from the database.

Command-line options:

-d N
set debug output level (1/2/3)
-mod M R
handle only WUs with ID mod M == R
-one_pass
exit after one pass through DB
-dont_retry_errors
Don't retry file deletions that failed previously.
-dont_delete_antiques
Don't delete antiques
-preserve_wu_files
Update the DB, but don't delete input files
-preserve_result_files
Update the DB, but don't delete output files
-dont_delete_batches
Don't delete anything with positive batch number

If the web-server account on your system is not 'apache', add a <httpd_user> element to your config.xml file. Otherwise antique deletion won't work.

In some cases you may not want files to be deleted. There are three ways to accomplish this:

  • Use the -preserve_wu_files and/or the -preserve_result_files command-line options.
  • Include <no_delete/> in the <file_info> element for a file in a workunit or result template. This lets you suppress deletion on a file-by-file basis.
  • Include nodelete in the workunit name.

The antique files are deleted by using a Unix 'find' command to locate files that are older than the oldest workunit. The find command will work on NFS mounted file systems, and will ignore .nfs stale file markers.