Areca Backup
Areca's configuration is stored in XML files.
It is advisable (thought not mandatory) to use Areca's GUI to generate it.

Areca's DTD

<!ELEMENT process (target*)>
<!ATTLIST process description CDATA "">
<!ATTLIST process version CDATA #REQUIRED>

<!ELEMENT target (source+, medium, filter_group, merge_processor*, shell_processor*, email_processor*, dump_processor*, delete_processor*)>
<!ATTLIST target id CDATA #REQUIRED>
<!ATTLIST target uid ID #REQUIRED>
<!ATTLIST target name CDATA #REQUIRED>
<!ATTLIST target follow_symlinks (true|false) "false">
<!ATTLIST target register_empty_directories (true|false) "false">
<!ATTLIST target follow_subdirectories (true|false) "true">
<!ATTLIST target description CDATA "">
<!ATTLIST target xml_security_copy (true|false) #REQUIRED>

<!ELEMENT source EMPTY>
<!ATTLIST source path CDATA #REQUIRED>

<!ELEMENT filter_group (filter_group|directory_filter|regex_filter|owner_filter|size_filter|date_filter|spec_file_filter|locked_filter|extension_filter)*>
<!ATTLIST filter_group exclude (true|false) #REQUIRED>
<!ATTLIST filter_group operator (and|or) #REQUIRED>

<!ELEMENT directory_filter EMPTY>
<!ATTLIST directory_filter exclude (true|false) #REQUIRED>
<!ATTLIST directory_filter directory CDATA #REQUIRED>

<!ELEMENT regex_filter EMPTY>
<!ATTLIST regex_filter exclude (true|false) #REQUIRED>
<!ATTLIST regex_filter rgpattern CDATA #REQUIRED>

<!ELEMENT owner_filter EMPTY>
<!ATTLIST owner_filter exclude (true|false) #REQUIRED>
<!ATTLIST owner_filter param CDATA #REQUIRED>

<!ELEMENT size_filter EMPTY>
<!ATTLIST size_filter exclude (true|false) #REQUIRED>
<!ATTLIST size_filter param CDATA #REQUIRED>

<!ELEMENT date_filter EMPTY>
<!ATTLIST date_filter exclude (true|false) #REQUIRED>
<!ATTLIST date_filter param CDATA #REQUIRED>

<!ELEMENT locked_filter EMPTY>
<!ATTLIST locked_filter exclude (true|false) #REQUIRED>

<!ELEMENT extension_filter (ext+)>
<!ATTLIST extension_filter exclude (true|false) #REQUIRED>
<!ELEMENT ext (#PCDATA)>

<!ELEMENT spec_file_filter EMPTY>
<!ATTLIST spec_file_filter exclude (true|false) #REQUIRED>
<!ATTLIST spec_file_filter pipe (true|false) #REQUIRED>
<!ATTLIST spec_file_filter charspecfile (true|false) #REQUIRED>
<!ATTLIST spec_file_filter socket (true|false) #REQUIRED>
<!ATTLIST spec_file_filter blockspecfile (true|false) #REQUIRED>
<!ATTLIST spec_file_filter symlink (true|false) #REQUIRED>

<!ELEMENT medium (handler)>
<!ATTLIST medium type (zip|directory) #IMPLIED>
<!ATTLIST medium policy (hd|ftp) #REQUIRED>
<!ATTLIST medium path CDATA #REQUIRED>
<!ATTLIST medium archive_name CDATA #REQUIRED>
<!ATTLIST medium overwrite (true|false) #REQUIRED>
<!ATTLIST medium track_permissions (true|false) #REQUIRED>
<!ATTLIST medium file_compression (true|false) #IMPLIED>
<!ATTLIST medium zip64 (true|false) "false">
<!ATTLIST medium zip_level CDATA #IMPLIED>
<!ATTLIST medium volume_size CDATA #IMPLIED>
<!ATTLIST medium volume_digits CDATA #IMPLIED>
<!ATTLIST medium zip_comment CDATA #IMPLIED>
<!ATTLIST medium zip_charset CDATA #IMPLIED>
<!ATTLIST medium zip_ext (true|false) #IMPLIED>
<!ATTLIST medium encrypted (true|false) #REQUIRED>
<!ATTLIST medium encryption_key CDATA #IMPLIED>
<!ATTLIST medium encryption_algo CDATA #IMPLIED>
<!ATTLIST medium encrypt_names (true|false) #IMPLIED>
<!ATTLIST medium ftp_login CDATA #IMPLIED>
<!ATTLIST medium ftp_password CDATA #IMPLIED>
<!ATTLIST medium ftp_host CDATA #IMPLIED>
<!ATTLIST medium ftp_port CDATA #IMPLIED>
<!ATTLIST medium ftp_passiv (true|false) #IMPLIED>
<!ATTLIST medium ftp_protocol CDATA #IMPLIED>
<!ATTLIST medium ftp_protection CDATA #IMPLIED>
<!ATTLIST medium ftp_implicit (true|false) #IMPLIED>
<!ATTLIST medium ftp_remotedir CDATA #IMPLIED>

<!ELEMENT merge_processor EMPTY>
<!ATTLIST merge_processor execute_after (true|false) #REQUIRED>
<!ATTLIST merge_processor from_delay CDATA #REQUIRED>
<!ATTLIST merge_processor to_delay CDATA #REQUIRED>
<!ATTLIST merge_processor keep_deleted (true|false) #REQUIRED>

<!ELEMENT shell_processor EMPTY>
<!ATTLIST shell_processor execute_after (true|false) #REQUIRED>
<!ATTLIST shell_processor script CDATA #REQUIRED>
<!ATTLIST shell_processor params CDATA #REQUIRED>

<!ELEMENT email_processor EMPTY>
<!ATTLIST email_processor execute_after (true|false) #REQUIRED>
<!ATTLIST email_processor recipients CDATA #REQUIRED>
<!ATTLIST email_processor smtp_host CDATA #REQUIRED>
<!ATTLIST email_processor title CDATA #REQUIRED>
<!ATTLIST email_processor from CDATA #REQUIRED>
<!ATTLIST email_processor introduction CDATA #REQUIRED>
<!ATTLIST email_processor smtp_user CDATA #REQUIRED>
<!ATTLIST email_processor smtp_password CDATA #REQUIRED>
<!ATTLIST email_processor smtp_s (true|false) #REQUIRED>
<!ATTLIST email_processor failure_only (true|false) #REQUIRED>

<!ELEMENT dump_processor EMPTY>
<!ATTLIST dump_processor execute_after (true|false) #REQUIRED>
<!ATTLIST dump_processor directory CDATA #REQUIRED>
<!ATTLIST dump_processor filename CDATA #REQUIRED>
<!ATTLIST dump_processor failure_only (true|false) #REQUIRED>

<!ELEMENT delete_processor EMPTY>
<!ATTLIST delete_processor execute_after (true|false) #REQUIRED>
<!ATTLIST delete_processor delay CDATA #REQUIRED>

<!ELEMENT handler EMPTY>
<!ATTLIST handler type (delta|standard) #REQUIRED>

Some tips :

- Use separate backup directories for each target (especially if they are encrypted))
- DO NOT use the same GUID for two distinct targets (even if they are in separate processes)
- DO NOT use the same ID for two targets within the same process
- Even if you can write your own xml config files, I advise you to use Areca's graphical user interface to generate them (even if you use the command-line tool to run your backups). This will prevent you from making mistakes.
- Filter groups can contain other filter groups