pre command
Synopsis
pre command <string>
Description
Specifies a shell command that will be executed before online
defragmentation processes a file. The command will be passed the full path to
the file in the shell variable $0 and is run under /bin/sh.
Note that the command is run as the user that started iDefrag. If you need elevated privileges for the command you wish to run, you will need to investigate appropriate mechanisms for privilege escalation (e.g. the setuid bit).
This feature is intended for use with systems running database servers and other similar software, where it can be used to automatically execute any commands needed to make the software flush changes to disk, and close open files. You can then use post command to make such software re-open the files it needs and start operating again.
Example
// Display messages on the system console before and after
// defragmenting any file in /stuff
class "Stuff" {
match files where file is within "/stuff"
color "#ccccff"
pre command "echo \"About to defragment $0\""
post command "echo \"Just defragmented $0\""
}