ZT: What is Areca ?
[top]
Areca is a file backup software which can be run on Windows or Linux. Itcreates backup copies (which can be encrypted and compressed) of your files andstores them on external drives, pendrives, FTP servers, ...
Areca is also able to trigger additional actions, like storing a backup reporton your hard drive, sending it by email, launching shell scripts before orafter your backup.
Areca supports incremental, differential and full backups.
What is NOT Areca ?
Areca is not a disk-ghosting application (such as Norton Ghost or SymantecGhost) : it won't be able to create an image of your disk partitions (mainlybecause some files will be locked by your system).
Why use Areca ?
Arecais easy to use : once you have defined your backup's parameters, they can belaunched by a simple click.
Areca also provides all tools needed to handle your archives :
· Backup
· Archive recovery (withor without deleted files) : entire archives or single files can be easilyrecovered
· Archive merge :contiguous incremental archives can be merged into a single archive to savestorage space
· Archive deletion
· History explorer :different versions of a given file can be browsed and restored
· Archive explorer : filescan be searched among your archives
In addition, both a Graphical User Interface (useful for generaladministration tasks) and a Command-Line interface (which can be use with atask scheduling software) are provided.
User interfaces
GUI
This is the main interface of Areca. It is launched by the"areca.exe" (Windows) or "areca.sh" (Linux) executable.
It provides all the facilities needed to define which sets of files /directories will be stored (These sets are named "Targets" in Areca'sterminology), where and how they will be stored.
It can also be used to explore your archives, search and recover files, explorea specific file's history ...
[Go to "Using the GUI"]
Command-Line interface
This interface can be used to launch the backups that have been defined inthe graphical user interface ("Targets"). It can be easily integratedinto a scheduling software, like Windows' task scheduler or Crontab (on Linux).
It can also be used to recover your archives after a disk crash.
[Go to "Using the Command-LineInterface"]
How to install Areca ?
[top]
Pre requisites
Arecais written in Java, which means that you need to have a suitable Java VirtualMachine (JVM) installed on your computer : Areca requires a JVM v1.4 or higher.
Most operating systems come with a pre-installed Java Virtual Machine. If youdon't know whether you have such a thing, simply open a Command-Prompt and type"java -version" or "java --version" : you should havesomething like :
javaversion "1.6.0_03" Java(TM) SE Runtime Environment (build1.6.0_03-b05)
If it is not the case, go to Sun Microsystems' web site (http://java.sun.com/javase/downloads/index.jsp) and download the latest JVM available for your operating system.
There are no other prerequisites.
Windows
Arecahas been tested for Windows 2000, XP and Vista.
To install Areca on Windows, download the latest release on Areca's website (http://sourceforge.net/project/showfiles.php?group_id=171505) and run the setup. This will create a new program group named"Areca".
To launch Areca :
· Use"areca.exe" for the graphical user interface (default)
· Use"areca_cl.exe" for the command-line interface
Linux
Toinstall Areca on Linux, download the latest release on Areca's website (http://sourceforge.net/project/showfiles.php?group_id=171505) and unzip its content on your disk.
To make Areca executable, run the following commands :
chmod a+xareca.sh check_version.sh chmod a+x -v bin/*
To launch Areca :
· Use"./areca.sh" for the graphical user interface (default)
· Use"./bin/run_tui.exe" for the command-line interface
Other systems
Althought Areca has not been packaged for other operating systems, thereis no reason why it could not be run on them (MaxOS for instance). The onlyprerequisite is to provided the necessary SWT libraries (http://www.eclipse.org/swt/)
64 bit systems
Unfortunately, I was not able to find pre-compiled SWT libraries for 64bit OSes (Windows / Linux). That's why there is no Areca "64 bit"package. Instructions on how to build SWT libraries for these OSes can be foundon the SWT FAQ (http://www.eclipse.org/swt/faq.php)
Memory settings
Arecaallocates up to 128 Mbytes. If you want to allocate more memory (if you arerunning targets that handle a big number of files), you may want to increasethis amount.
On Linux, this value can be modified by editing the startup scripts(/bin/run_gui.sh and /bin/run_tui.sh) and setting the "Xms" (memoryallocated on startup) and "Xmx" (upper memory limit) parameters.
On Windows, it depends on the version of Areca you are using :
Before Areca 7.2.6, two arguments can be passed to areca.exe and areca_cl.exe :
· "-Jmaxheap" :Defines the maximum amount of memory which can be used by Areca. For instance :areca.exe -Jmaxheap=256M will allow Areca to allocate up to 256 MBytes ofmemory.
· "-Jinitialheap": Defines the initial amount of memory which is allocated by Areca on startup.For instance : areca.exe -Jinitialheap=128M will allocate 128 MBytes.
From Areca 7.2.6, the "Xms" (memory allocated on startup) and"Xmx" (upper memory limit) parameters can be set by modifying theareca.l4j.ini and areca_cl.l4j.ini files that are located in Areca'sdirectory.
Tuning Areca's technical configuration
Areca's technical configuration is stored in the"fwk.properties" file (located in the "/config" directory).BE VERY CAREFUL when editing this file, and be sure you have a goodunderstanding of what you are doing.
Checking new versions
You can configure Areca (see the "Preferences" window) to checkwhether there is a new version available on startup. You can also check itmanually by running the "Check new version" item in the"Help" menu.
You can also run the "check_version.exe" executable (check_version.shon Linux)
Basic concepts
[top]
Storage modes
Arecacan handle multiple storage modes :
· Standard : It is thedefault mode, which is recommended for most users : If you choose this storagemode, a new archive will be created for each backup. All new or modified filessince the last backup will be stored in this archive.
· Delta : This mode is recommendedfor advanced users : If you choose this storage mode, a new archive will becreated for each backup. All modified *parts* of files since the last backupwill be stored in this archive. This mode is particularly useful if you arehandling large files. (Areca uses an algorithm which is similar to rsync todetect and handle modified parts of your files)
· Image : If you choosethis storage mode, a unique archive will be created and updated at each backup.
Backup types
Arecacan handle the following types of backups :
· Full Backup : When afull backup is performed, ALL files are stored in your archive (whether theyhave been modified or not).
· Incremental backup :When an incremental backup is performed, only the files which have beenmodified since the last backup are stored in your archive.
· Differential backup :When a differentiel backup is performed, only the files which have beenmodified since the last FULL backup are stored in your archive.
Areca uses the file's size and last modification time to detect modified files.If one of these attributes is modified (whatever its value is), the file isflagged as modified. This allows a fast detection of modified files.
Target
A backup task is called "Target" in Areca's terminology. Itdefines which files will be stored (sources), where they will be stored(destination) how they will be stored (whether they will be compressed,encrypted, ...)
For instance, you may configure a target to backup the"C:\MyDocuments\Accounting" and"C:\MyDocuments\Account\Photos" source directories on"E:\backups" (assuming that "E:\" is an external harddrive), using Zip compression.
Target Groups
Targets can be organized in "Target groups", for instance"Personal documents", "MP3", "Emails", ... (it ispossible to launch a backup on a whole group)
Target settings
[top]
Sources
Sources define which files or directory will be stored in your archives.Multiple sources can be set.
Destination
Destinationdefine WHERE your archives will be stored :
· File system (includingnetwork directory, external hard drive, USB key, ...) : Areca will store yourarchives on the file system
· FTP : Areca will storeyour archives directly on a FTP (or FTPs) server.
Compression
Ifarchive compression is chosen, a zip file is built at each backup instead of astandard directory. Two archive formats are available :
· Zip : Standard Zipformat, readable by most archivers, which limits zip file size to 4 GB. Sostandard zip compression WON'T WORK for bigger archives. It is advised to keepa safety margin and not to use this format for archives bigger than 1GB (soyour archives will still be OK if your data happen to grow up to 4 GB in thefuture)
· Zip64 : This format isable to deal with archives over 4 GB. Zip64 archives are readable by allcompatible archivers (including WinZip and - of course - Areca)
You can either :
· Compress each fileseparately : in this case, a zip file will be created for each source file.
· Store all files in aunique archive : in this case, a unique zip archive will be created for eacharchive (containing all source files)
You can also mention a comment which will be included in your zip files, setthe charset which will be used to store your file names within the archive orset a "split size", which will produce split archives.
Encryption
Archiveencryption means that the archive written on your backup location will beencrypted : instead of creating standard zip files or directories, Areca willcreate AES128 or AES256 encrypted files, so that the only way to read thesearchives will be to use Areca with the correct decryption key.
As this encryption key is stored in the backup target, you will never beprompted for it again : Areca will transparently use it to encrypt / decryptthese archives
This feature is useful when your backups are stored on a shared disk, or at alocation to which other peoples may access (a remote server or a shared hostingserver, for instance), or that can beeasily lost or stolen (USB keys, for instance). In these cases, encryptedarchives will guarantee that other persons won't be able to read your archivesif they get access to the storage location.
You can check that Areca has encrypted your archives by simply trying to openan archive with Window's explorer (or WinZip if they are compressed) : you willget an error.
The encryption key is either
· generated from thepassphrase entered by the user, using the PBKDF2 key derivation function
· or set directly in theconfiguration (hexadecimal format)
If a passphrase is used, Areca will add some additional characters (whichcan be configured in areca.properties under the"encryption.keygen.salt" key) before generating the encryption key.The number of PBKDF2 iterations (about 100 000 by default) is configurable inthe same file, under the "encryption.keygen.iterations" key.
Files management
Youcan also tune the target's file management policy (for instance whether filepermissions will be stored or not - Linux only)
In case of "Image" targets, the following backup modes are available:
· Not compressed orcompression by file : Incremental (the existing archive is updated bysynchronizing the changed files only) or Full (the existing archive is updatedby synchronizing ALL files)
· Compressed (Single Ziparchive) : Full only (it is not possible to update the existing zip archive inan incremental way)
In case of "Non Image" target, the following backup modes areavailable :
· Not compressed orcompression by file : Incremental (a new archive is created with the changedfiles only), Differential (a new archive is created with the modified filessince the last full backup only) or Full (a new archive is created with allfiles)
· Compressed (Single Ziparchive) : Incremental, Differential or Full
Note that "Incremental backups" have a sense even in the case of an"image" backup : they allow to reduce the number of updated files(useful if you store your data across a network)
File filters
Atarget also defines whether all files will be stored or if some of them will befiltered. This is achieved by defining a set of "File filters", whichcan be combined to include or exclude some specific files, based on variouscriteria (size, name, extension, ...)
They can thus be used to define more precisely the scope of processed files.
The following filters are available :
· File extension filters :The files are filtered according to their extension : *.tmp, *.exe, *.dll ...(Useful to include / exclude predefined types of files from the backup.)
· Regex filters : Thefiles are filtered according to a regular expression.
· Directory filters :Useful to include / exclude predefined directories from the backup.
· File size filters
· File date filters
· Symbolic links filters(to exclude symbolic links from backup - useful on Linux systems)
· Locked files filters (toexcludes files which are locked by the system or files you can't access)
Filters are modeled as a tree in Areca. Each node of the tree is either :
· A single filter (forinstance a "Regex" archive filter")
· A composite filter(modeled as a "subtree" of the main tree)
Each filter can work in two modes :
· "Inclusion"mode : The files are stored ONLY IF they match the condition
· "Exclusion"mode : The files are stored ONLY IF they don't match the condition
A "Composite" filter accepts an additional "OPERATOR"parameter :
· "AND" : Thefiles must match ALL subfilters
· "OR" : Thefiles must match AT LEAST ONE of the subfilters
Some examples :
"Store all files except those who are located in directories"c:\toto" and "c:\titi""
+ FilterGroup (EXCLUSION, OR) -> Subfilter : Directory filter (c:\toto, INCLUSION)-> Subfilter : Directory filter (c:\titi, INCLUSION)
Anothersolution :
+ FilterGroup (INCLUSION, AND) -> Subfilter : Directory filter (c:\toto, EXCLUSION)-> Subfilter : Directory filter (c:\titi, EXCLUSION)
"Store all files except those who's located in the "c:\tutu"directory and those whose size is above 10 MB or bellow 1 MB"
+ FilterGroup (INCLUSION, AND) -> Subfilter : Directory filter (c:\tutu, EXCLUSION)-> Filter Group (EXCLUSION, OR) -> Subfilter : Size filter (> 10 MB,INCLUSION) -> Subfilter : Size filter (< 1 MB, INCLUSION)
To write your filters, always keep in mind the following logical rules :
NOT (A ORB) = (NOT A) AND (NOT B) NOT (A AND B) = (NOT A) OR (NOT B)
Pre/Post processing
Youcan ask Areca to do the following things before or after backup :
· Store a report on disk :A backup report is generated by Areca and stored as a text file on your disk
· Send a report by email :A backup report is generated by Areca and sent by email
· Execute a script : Ashell script is launched by Areca
· Merge archives : Merge aset of archives into a single archive. The merged archives can be either all archivesolder than a specific date, or all archives that have been produced during aspecific time frame.
Configuration storage (xml files)
The target configuration is stored in a XML file (one file per targetgroup). These files can be edited directly (without using the graphical userinterface), but such modifications must be done CAREFULY.
XML configuration files are stored in "workspaces". The defaultworkspace is stored in the "/config" subdirectory of Areca's maindirectory.
Archive management
[top]
Backup
Areca's basic function : Launch the backup process and store the sourcefiles and directories accordingly to the target's storage policy and filefilters. As a result, an archive is created on the backup location (externalhard drive, FTP server, USB key, ...)
Backup simulation
Launch a backup in "simulation" mode : no archives will becreated; Areca will simply list the files/directory that should have beenstored. Useful to check the target configuration (filters for instance) orestimate the size of the next archive.
Recovery
Recovery will be discussed in detail in the "How to recover" section.
Merge
This command allows to merge contiguous incremental archives (between adate D1 and another date D2) into one single archive (which will be consideredto be an archive at date D2). The merge process implies that all the historybetween D1 and D2 is lost : this includes files modifications (if multipleversions of a file exist between D1 and D2, only the latest is kept) and filedeletions (if a file has been modified and removed between D1 and D2, allversions between D1 and D2 are removed from the archives)
"Archive merges" are the answer to the increasing archive size : itallows you to control the history which is kept in your archives.
Additional informations about archive merging can be found on Areca's wiki
Deletion
Using the graphical user interface
[top]
Launching Areca
Launchcommand :
· Windows : areca.exe
· Linux : areca.sh orbin/run_gui.sh []
Where denotes the default workspace directory which will be loaded onstartup (for instance c:\areca\config)
Physical view
The "physical view" lists the archives that have been created bythis target. These archives are sorted by dates (most recent archives on thetop). This view is useful to have an overall view over the archives stored onthe backup location.
Merges and recoveries can be launched from this screen.
The properties and detailed content of each archive can be browsed(double-click on a specific archive)
Logical view
The "logical view" gives a consolidated view over all files anddirectories contained in your archives. It also displays the history of eachfile (creations, modifications, deletions)
Using the command-line interface
[top]
The command-line interface is useful when you want to schedule your backups.The general syntax is as follows :
On linux :
./bin/run_tui.sh
OnWindows :
areca_cl.exe
Description
Displaya textual description of a target group.
Syntax :
describe-config
Example:
c:\areca\bin\areca_cldescribe -config c:\areca\config\myconfig.xml
Backup
Launcha backup on a target or a group of targets.
Syntax :
backup-config [-target ] [-f] [-d] [-c] [-s] [-title ]
Ifthe "f" option is set, Areca will perform a full backup. (instead ofan incremental backup)
If the "d" option is set, Areca will perform a differential backup.(instead of an incremental backup)
If the "c" option is set, Areca will check the archive consistencyafter backup.
If the "s" option is set and backup is performed on a target group,Areca will handle the group's targets sequentially
Examples :
c:\areca\bin\areca_clbackup -config c:\areca\config\myconfig.xml c:\areca\bin\areca_cl backup-config c:\areca\config\myconfig.xml -target 1 -d
Merge
Mergea set of archives into a single archive. The merged archives can be either allarchives older than a specific date, or all archives that have been producedduring a specific time frame.
Possible syntaxes :
merge-config -target [-k] -date [-title ] merge -config -target [-k] -from -to[-title ]
Ifthe "k" option is set, all deleted files will be kept in the mergedarchive. They will be destroyed otherwise.
Examples :
c:\areca\bin\areca_clmerge -config c:\areca\config\myconfig.xml -target 1 -date 2005-07-17c:\areca\bin\areca_cl merge -config c:\areca\config\myconfig.xml -target 1-from 14 -to 7 c:\areca\bin\areca_cl merge -config c:\areca\config\myconfig.xml-target 1 -k -from 10 -to 5
Deletion
Deletea set of archives that are younger than a specific date or delay.
Possible syntaxes :
delete-config -target -date delete -config -target -delay
Examples:
c:\areca\bin\areca_cldelete -config c:\areca\config\myconfig.xml -target 1 -date 2005-07-17c:\areca\bin\areca_cl delete -config c:\areca\config\myconfig.xml -target 1-delay 10
Recovery
Recovera set of archives at a specific location.
Syntax :
recover-config -target -destination -date [-c]
Ifthe "c" option is set, Areca will verify that the recovered files areidentical to the original ones.
Example :
c:\areca\bin\areca_clrecover -config c:\areca\config\myconfig.xml -target 1 -destination c:\tmp-date 2005-07-17 -c
Check
Checkthat the files contained in an archive are identical to the original ones.
Syntax :
check-config -target [-destination ] [-date ] [-a]
Ifthe "a" option is set, Areca will check all archives created untilthe date passed as argument. It will only check the last archive otherwise.
Example :
c:\areca\bin\areca_clcheck -config c:\areca\config\myconfig.xml -target 1 -date 2005-07-17 -a
Using the wizards
Two wizards are available in the graphical user interface : A "backupshortcut" wizard, which will simply help you to generate a backup commandin the form of a .bat file (or a .sh file on Linux) and a "backupstrategy" wizard, that will help you to generate a set of backup commandsthat implement a defined strategy.
"Backup shortcut" :
Thewizard will ask you :
· Where the backupshortcut will be generated
· Whether an incremental,differential or full backup will be performed
· Whether only the selectgroup or target group will be processed or the whole workspace
Once these informations are set, Areca will generate the backup shortcut at therequested place.
"Backup strategy" :
Thewizard will ask you :
· Where the backupshortcuts will be generated
· A set of parameters ofthe following form : "One archive every X days, Y times"
Once these informations are set, Areca will generate a set of backup shortcutsat the requested place. Once properly scheduled, these shortcuts implement astrategy that allows you to define the "history depth" that Arecawill keep at the backup location.
Example :
With the following parameters :
· One archive every 1 day,7 times
· Then, one archive every7 days, 3 times
· Then, one archive every28 days, 5 times
Arecawill keep :
· All daily archives ofthe last 7 days
· A weekly archive betweenthe last week (7 days) and the last 4 weeks
· A monthly archivebetween the last month (4 weeks) and the last 6 months
· A single archive over 6months
How to recover
[top]
There are multiple situations in which you will need to recover lost files :accidental directory deletion, accidental file deletion or modification, diskcrash, full system crash, ...
Areca provides multiple recovery modes that should cover these needs.
Case 1 - Recovering an entire archive
Thisis the standard recovery case : all your files have been lost or corrupted andyou want to restore them.
This can be done :
· With the graphical userinterface : simply go to the "Physical view" (archive list), right-clickat the required restore-point and choose "Recover" : Areca willrecover the selected archive and all previous archives.
· With the command-lineinterface : use the "recover" command (see "Using The Command-Line Interface" for the detailed syntax)
Case 2 - Recovering a single file or subdirectory
You may want to do this when a subdirectory or a file is accidentallydestroyed, corrupted or modified.
This can be done from the "Logical view", in the graphical userinterface : Simply select the item (file or directory) that you want torestore, right-click and select "Recover".
For security reasons, Areca will NEVER recover your data at the originallocation in cases 1 and 2. (they will be systematically recovered in asubdirectory named "recovered_data") It is up to you to move thesedata at their final destination.
Case 3 - Recovering a specific version of a file
This may be useful when the file has been accidentally modified and stored: In this case, the last backuped version is not correct and you may want torecover one of the previous versions.
This can be done from the "Logical view", in the graphical userinterface. Select the file to recover : Areca will show you the file history onthe right of the screen. Select the appropriate version to recover in the list,right-click and select "Recover".
Case 4 - Recovering when Areca's configuration has been lost
Insome cases, Areca's configuration may also have been lost. This can occur, forinstance if your whole computer has crashed, including Areca's installationdirectory and target configuration files (The XML files contained in yourworkspace)
In this case, you will have to :
a- Install Areca Backup again on your computer.
b- Retrieve your targets' configuration (which has probably been lost duringyour computer crash)
Point a- is rather straightforward (all you have to do is to download Areca'sinstallation file).
Point b- can be a little more tricky : creating a new target from scratch witha similar configuration is not advisable because Areca uses unique numericidentifiers for each target.
The solution is to use the backup copies of your targets' configuration thathave been stored by Areca.
These backup copies are created :
· Explicitly (From the"Workspace" -> "Save copy as ..." menu item) : This willallow Areca to store a copy of your XML configuration files at a specific place(for instance on your backup drive). If your backup is encrypted, you canchoose whether the backup copy will include the credentials or not. If youchoose to exclude them, Areca will ask you to provide them when you will loadthe backup-copy of your workspace. (so, be sure you will be able to provide bothencryption key and algorithm again)
· Implicitly : When abackup is launched, Areca automatically creates a backup copy of yourconfiguration (without encryption key and algorithm if your targets areencrypted) in a subdirectory (named "areca_config_backup") of yourbackup location. This will allow you to recover your configuration even if youdidn't make an explicit backup copy of it.
In both implicit and explicit cases, it is advisable to open Areca's defaultworkspace (which will be empty if you are running a fresh install) and selectthe "Workspace" -> "Import ..." menu item to import thebackup copy of your targets.
Note that implicit copies can be disabled in the target's configuration("Advanced" tab of the target configuration screen), but it is STRONGLYadvisable to keep this implicit backup enabled. If you disable this, be surethat you will be able to recover your configuration in case of full crash (forinstance by making explicit copies)
Case 5 - Worst recovery case : Areca's configuration has been lost andthere is no backup copy
Thismeans that :
· You didn't create anyexplicit copy of your configuration
· You disabled implicitcopies
... which is BAD.
Unfortunately, there is no easy way to recover your archives in this case.
A first solution is to rebuild your targets from scratch : Areca will generatea new target identifier (something like "523556476") and will createthe associated backup directory (something like "storage_523556476").You can copy-paste your archives in this directory. If you have set the properconfiguration (compression, encryption, ...), Areca will be able to read them.
If this first solution doesn't work, Areca provides two external tools (locatedin the "/tools" subdirectory) : A decryption tool (decrypt.exe onWindows, decrypt.sh on Linux) and a decompression tool (dezip.exe on Windows,dezip.sh on Linux). Both of them are able to decompress archives created byAreca (whether they are encrypted or not, whether they are compressed in Zip32or Zip64 or not). You can use them as an ultimate solution to extract thearchive's content and recover it "by hand".
If your archive is not encrypted, you can also use standard decompression toolssuch as WinZip to extract your archive's content. (note that your decompressiontool will have to be zip64-compliant if you used zip64 compression)
Scheduling
[top]
Areca's policy in terms of task scheduling relies on the scheduler provided byyour operating system. That's why Areca doesn't include any internal scheduler.
Areca provides instead a command-line interface (see above : "Using The Command-Line Interface") that can be used to build to create backup scripts (*.bat or *.shscripts) that can be included in your own scheduler.
· On Windows : You can usethe Task Scheduler - http://support.microsoft.com/kb/308569
· On Linux : You can useCrontab - http://en.wikipedia.org/wiki/Cron
If you're not familiar with command-line tools, you can use Areca's built-inwizard to generate this command (see "Using The Wizards").
Translations
[top]
Areca is always looking for additional translators. Its translation home pageis located here : http://www.areca-backup.org/arcwk/index.php?title=Translations
If you want to add a new language : Make a copy of the english translation("translations/resources_en.properties" file) and name it after thelanguage you want to add ("de" for german, "it" foritalian, ...)
VERY IMPORTANT : The content of the translations file MUST be encoded using theISO-8859-1 encoding.
Non-compatible characters (for instance chinese characters) must beunicode-encoded (using a \u escape character).
It is strongly advised to use a translation tool in order to ensure translationfiles consistency.
For instance :
· "Zaval JavaResource Editor", available at http://www.zaval.org/products/jrc-editor/download/index.html.
· "Eclipse ResourceBundleEditor Plugin", available at http://www.resourcebundleeditor.com/wiki/Download
· "PropEdit",available at http://sourceforge.jp/projects/propedit/
· "Open LanguageTools", available at https://open-language-tools.dev.java.net/
Once your translation is complete, you can add it in Areca's translation Wiki (http://www.areca-backup.org/arcwk/index.php?title=Translations).
Extending Areca
[top]
Areca defines a plugin API that allows developers to extend its storagebackends. (FTP storage has been implemented using this API).
A specific documentation can be found here : http://www.areca-backup.org/plugins.php.