Apart from building a binary, some minor fixes were applied to follow the Duplicati style more.
Some variables were renamed, all strings were moved to the resx files, and the compression hint was included.
The compression detection was removed, and now uses the common implementation.
This adds the email feature to Duplicati.
Currently there is no GUI for this, just advanced options.
The options supported are:
--send-mail-to="Name <test@example.com>, Other <test2@example.com>, test3@example.com"
--send-mail-from="Backup Admin <admin@example.com>
--send-mail-subject="Duplicati %OPERATIONNAME% Report"
--send-mail-body="%RESULT%%"
--send-mail-url="tls://smtp.google.com:587"
--send-mail-username="username"
--send-mail-password="password"
--send-mail-level="Warning"
--send-mail-any-operation=true
The only required setting is --send-mail-to.
If the --send-mail-from is not set, it will use the host of the "to" and set "no-reply@" in front.
E.g. --send-mail-to="name@example.com" will cause the sender to be "no-reply@example.com".
If the --send-mail-url is not set, a DNS lookup will find the MX record for the first recipient domain,
and send directly to that. The url can be either "smtp://server:port" or "tis://server:port".
The --send-mail-subject and --send-mail-body parameters can contain placeholders like %RESULT%.
Each option will be exported like this, e.g. %volsize% or %use-ssl%. The special placeholders are:
%RESULT% - The result/log of the backup
%OPERATIONNAME% - The name of the operation, usually "Backup", but could be "Restore" etc.
%REMOTEURL% - The backend url
%LOCALPATH% - The path to the local folders involved (i.e. the folders being backed up)
The --send-mail-level can be either "Success", "Warning" or "Error". Default "Success" means all backups generate an email. "Warning" will only send an email if the backup caused a warning or an error. "Error" will only send an email if the backup failed.
The --send-mail-any-operation can be set to "true" if all operations (e.g. "Restore", "Cleanup", "DeleteAllButN", ...) should generate an email. By default only backup operations will send an email.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1436 59da171f-624f-0410-aa54-27559c288bec
Update issue #92
Duplicati 2.0 trunk now uses SharpCompress and allows compression using LZMA (and bz2, etc.)
Big thanks to Simon Colmer for working on this!
For now the file format is still zip, but the compression inside is different.
Once SharpCompress supports 7zip write, we can add that easily. Same goes for LZMA2 compression.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1397 59da171f-624f-0410-aa54-27559c288bec
This fixes issues #144, #577 and #320.
This update introduces a new options called "symlink-policy" that can be set to "store", "ignore" or "follow".
The default setting "store" means all symlinks are recorded as symlinks and recreated as symlinks on restore. This is chosen as default because it is the best replication of the actual disk contents.
Setting it to "ignore" simply means that no information is recorded about any symlinks.
And lastly, setting it to "follow" reverts to the previous default of treating symlinks as if they are normal files/folders.
Caveat: On Windows, you need Administrator privileges to create symlinks (when restoring), but not for reading them (on backup).
Since this change meant that the file attributes must be read, I also added support for the option "exclude-files-attributes", that can be used to ignore/exclude files with certain attributes, such as "hidden", "archive" or "encrypted".
Since I had to much about so much with getting the symlinks supported on Windows, I also added some extra logic to the Windows file handler, so it can now handle files and folders with up to 32k chars in the path. The logic is done so that the normal System.IO operations are used for paths with less than 260 characters (MAX_PATH), and on error or longer paths, the Win32 Unicode API is invoked. This should give maximal backwards compatibility and still allow backup and restore of files with long paths.
This commit also includes a BlockingQueue implementation that is supposed to make file/folder enumeration faster, but this has not been implemented because Duplicati depends on having a "whole world" view of the files and folders before running the backup (i.e. deeper changes required for this).
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1381 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
Changed the included GPG to use gpg4win version 2.1.0 and include all required files.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@1120 59da171f-624f-0410-aa54-27559c288bec
This changes all implementations to run off the TrayIconBase, so there is only a single place to maintain the tray icon and menus.
WinForms and Gtk has been updated to use this new implementation.
The ApplicationIndicator has been added so the TrayIcon now shows under Ubuntu Unity as well.
Cocoa support has been added so there is now a NSStatusItem. In order to debug this, a special MonoDevelop-MonoMac project has been added, but this is not used in the solution. The project just loads the regular implementation, but the project builds a .app package and debugs from it. Everything should build on a stock Windows machine with VS, and Ubuntu/OSX with MonoDevelop (needs WinForms to build, but not to run).
The TrayIcon icons are now limited to Idle,Paused,Running and an Error/Warning notifier overlay, giving a total of six icons.
The graphics needs to be updated to reflect this, and the server SuggestedStatusIcon should be changed to only output one of these states.
git-svn-id: https://duplicati.googlecode.com/svn/branches/v2.0@1039 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
There is now a Google Docs backend.
The API turned out to be broken (or at least hard to use correctly) for uploading files,
so I eventually wrote a custom uploader. The custom uploader can also upload files larger
than 10 MB.
I have tested this with my usual test setup, but let me know if there are any issues with it.
A preview release will be put on the download page asap.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@835 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
Changed to the AWSSDK library, which fixes a few quirks, but basically seems to be the Affirma version slightly renamed.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@811 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
There is now a Tahoe-LAFS backend option.
It is quite new, so obviously it is fairly untested in real life.
It passes all unittests, and is largely based on the WEBDAV backend which as seen some action.
I will put up a preview build with Tahoe-LAFS support soon.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@623 59da171f-624f-0410-aa54-27559c288bec
Status: Fixed
I found out that Mono on windows does not support "mixed-mode" assemblies, which is what the System.Data.SQLite.dll's are:
http://www.mono-project.com/CPlusPlus
On my machine it gives a weird error with "CRT not initialized" if I run Duplicati under Mono.
I have changed the loader to check for Linux AND Mono.
I have also update the build script to include the version of the dll that you found,
it seems that Mono only runs with 32bit on windows, so the dll must also be 32 bit.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@562 59da171f-624f-0410-aa54-27559c288bec
Added snapshot support using either VSS (win xp/vista/7) or LVM (linux).
Using the snapshot feature requires administrative/root privileges, and is toggled by the "snapshot-policy" option (by commandline or in advanced settings).
Also improved the validation of options to not show incorrect warnings.
This fixes issue #233.
git-svn-id: https://duplicati.googlecode.com/svn/trunk@461 59da171f-624f-0410-aa54-27559c288bec