summaryrefslogtreecommitdiff
path: root/bin/bbackupd/BackupDaemon.h
Commit message (Collapse)AuthorAge
* Move reusable code out of bin directories.Chris Wilson2015-12-13
| | | | | Allows tests to depend on lib/bbackupd instead of bin/bbackupd, which was always a hack, and really doesn't work with CMake.
* Refactor to allow non-bbstored store configurations.Chris Wilson2015-06-28
| | | | | | Make some keys not required in BackupDaemonConfigVerify, and verify them afterwards instead, when the rest of the configuration file has been read (and in future, the store type would be known.)
* Improve debugging of named pipe operations and bbackupctl pipe interaction.Chris Wilson2014-12-28
|
* Allow users to configure the delay before retry on backup errors.Chris Wilson2014-12-03
|
* Whitespace fixesChris Wilson2014-09-18
|
* Add the new object ID to NotifyFileUploaded messages.Chris Wilson2014-09-04
|
* Add EstimatedBytesToUpload to NotifyFileUploadingPatch.Chris Wilson2014-09-04
| | | | Merged back changes from the test refactor branch to reduce diffs.
* Allow access to BackupDaemon's BackupClientContext for tests.Chris Wilson2014-09-04
| | | | | | | | | | | | | | | | | | The std::auto_ptr is now returned unclosed. If the caller of RunSyncNow() does nothing with the return value, then it will be released, closing the connection. However the caller can save the std::auto_ptr locally and poke around in it if necessary. This interface is designed for tests only! Merged back changes from the test refactor branch to reduce diffs. Fix failure to record client store marker, after BackupClientContext refactor. This caused the daemon not to abort safely if the CSM changed under our feet, meaning that our cached data is invalid. Fix for earlier patch to allow tests to access the BackupClientContext after backup completes, because a new CSM wasn't generated in time for bbackupd to record it, because the connection wasn't closed yet.
* Simplify code with macros, update comments and fix whitespace.Chris Wilson2014-09-04
| | | | | | Hopefully all of these changes are inconsequential. Merged back changes from the test refactor branch to reduce diffs.
* Replace switch statement of protocol errors with ↵Chris Wilson2014-08-15
| | | | | | | | BackupProtocolError::GetMessage(). Conflicts: bin/bbackupd/BackupDaemon.h
* Whitespace, wrapping, comments and dead code cleanups.Chris Wilson2014-08-15
| | | | | | | | Conflicts: bin/bbackupd/BackupDaemon.cpp bin/bbackupd/BackupDaemon.h test/bbackupd/testbbackupd.cpp
* Poll command socket regularly during file uploads.Chris Wilson2014-04-09
| | | | | Makes the daemon responsive to polling and commands, even during a file upload operation.
* Allow BackupDaemon user to reset state for testing.Chris Wilson2012-04-28
|
* Add support for SyncAllowScript to set maximum upload bandwidth dynamically.Chris Wilson2012-03-10
|
* If a location was not present (on disk) when bbackupd started, don't forgetChris Wilson2012-02-02
| | | | | about it but start backing it up if it appears subsequently.
* Use "more standard" Windows API functions FindFirstFileW and FindNextFileWChris Wilson2011-08-28
| | | | | | | | | | for directory enumeration instead of _wfindfirst and _wfindnext. Ignore reparse points when enumerating directories to avoid infinite loops. Convert VSS paths back to real paths when notifying users about backup progress.
* Combine client and server protocols to make way for an offline/local protocol.Chris Wilson2011-08-27
| | | | | Rename ProtocolObject to Message.
* Log the number of files uploaded and directories created, as requested by ↵Chris Wilson2011-08-27
| | | | Achim, closes #61.
* Actually try to back up from the VSS snapshot volume.Chris Wilson2011-04-09
| | | | | Clean up VSS resources at end of backup.
* Store the snapshot ID and lookup the resulting device name, building theChris Wilson2011-04-08
| | | | | Windows path to the snapshot for each location.
* Actually create a VSS snapshot.Chris Wilson2011-04-08
| | | | | Clean up writer metadata and writer status after use.
* Add VSS: prefix to VSS log messages.Chris Wilson2011-04-06
| | | | | | | Start a snapshot set and add backup locations as volumes. Modularise IVssAsync waiting code.
* First attempt to extract some data from VSS, not useful yet.Chris Wilson2011-03-28
|
* Log the total number of bytes uploaded to the server for each file.Chris Wilson2010-11-17
|
* Add notification about uploading new file attributes.Chris Wilson2010-02-24
| | | | | | Add check for changing file creation times on Windows, to cause the attributes to be uploaded again.
* Make BackupDaemon::TouchFileInWorkingDir accessible for Boxi.Chris Wilson2008-12-27
|
* Remove Win32 command socket thread, as it has caused too much trouble.Chris Wilson2008-10-03
| | | | | | | | | | | Handle command socket on Win32 the same as all other platforms, removing #ifdefs from BackupDaemon. Will replace this thread with regular but not excessive command socket polling using timers in future. Change error messages when command socket comms fail to make them clearer.
* Add file logging support (LogFile and LogFileLevel config options).Chris Wilson2008-09-26
| | | | | | | | | | | | | | | | Ensure that backup-finish is always called, and add a new event, backup-ok, which is called just before backup-finish when the backup run was successful. Keep track of the last backup status notification sent (excluding backup-start and backup-finish) and send a notification whenever it changes. Add a new boolean option, NotifyAlways, to override that check and always send notifications to the NotifyScript after every backup run, for notify scripts which do their own state tracking or otherwise require notification on every event.
* Pass a RunStatusProvider and a ReadLoggingStream::Logger from Chris Wilson2008-08-21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | BackupDaemon through BackupClientDirectoryRecord, BackupStoreFile and BackupStoreFileEncodeStream to ReadLoggingStream, to allow progress callbacks during file upload and cancelling upload part-way. Implement ReadLoggingStream::Logger in BackupClientDirectoryRecord::SyncParams, which thunks the notifications back to the ProgressNotifier. Add the SysadminNotifier interface from Boxi. Add NotifyIDMapsSetup() to ProgressNotifier. Change BackupClientDirectoryRecord::SyncParams to store references to the individual callback interfaces rather than BackupDaemon. Initialise all members in BackupDaemon. Add ability for BackupDaemon user to override the ProgressNotifier, LocationResolver, SysadminNotifier and RunStatusProvider that will be used during the backup. Make BackupDaemon::Location class public and provide access to the configured locations for Boxi (dangerous, they could be modified without BackupDaemon knowing it).
* Move the code that runs a backup with exception handling into its ownChris Wilson2008-08-10
| | | | | method, to allow testbbackupd to call it.
* Log file uploads at NOTIFY level so that all you need to do to get themChris Wilson2008-08-03
| | | | | (and just them) logged is to set LogAllFileAccess = yes.
* Track and log file deletions by name.Chris Wilson2008-05-28
| | | | | | | | | | | | Split crypto init and file sync process into its own method, to reduce call depth and facilitate calling in process from tests. Differentiate between 3 uses of stat in BackupClientDirectoryRecord by renaming the structures. Use stat instead of lstat when checking the filesystem that's holding an entity, in case it's a symbolic link to a different filesystem.
* Workaround for (buggy?) gcc not finding inherited Main method on Chris Wilson2008-03-01
| | | | | Windows.
* Add "-h" and "/?" options to display usage in Daemon.Chris Wilson2007-10-17
| | | | | | | | | Extend usage info with service commands in BackupDaemon. Disable useless -D, -V and -k options on Windows. (merges 1855])
* Use Daemon's delegated option processing instead of our own hacks.Chris Wilson2007-10-17
| | | | | | Move Windows service startup, installation and removal to BackupDaemon. (merges [1854])
* Allow configuration of the time to delete redundant store locations.Chris Wilson2007-10-08
|
* Call the notify script whenever backup starts or finishes, but theChris Wilson2007-09-01
| | | | | | default script does nothing in this case. Requested by scott <scott@lubetech.com.au>.
* Log more detailed errors when the server returns an error while uploadingChris Wilson2007-09-01
| | | | | a file. (merges [1781])
* MSVC compile fix, thanks Gary. (refs #3, merges [1666])Chris Wilson2007-07-26
|
* Improve log message for NotifyFileUploading(). (refs #3)Chris Wilson2007-04-28
|
* Move all command socket communications to the worker thread, to avoidChris Wilson2007-03-24
| | | | | | | | | | deadlocks. Use events, and a message list protected by a critical section, to pass messages between threads. (refs #3)
* Add a new notification constant, NotifyEvent_BackupError, for use whenChris Wilson2007-03-22
| | | | | | | | | | | | | an exception occurs during the backup. Make bbackupd notify sysadmin when an exception occurs during the backup, using this error code, and the notification string "backup-error". Change NotifyEvent__MAX to be one greater than the highest notification constant, makes code more maintainable. (refs #3)
* Log AccessDenied errors in a more concise form than general exceptions Chris Wilson2007-01-16
| | | | | (refs #3)
* Skip mount points and NTFS reparse points inside a location, even ifChris Wilson2007-01-15
| | | | | not excluded (refs #3)
* Added logging of directory scans and excluded files. (refs #3)Chris Wilson2007-01-11
|
* Added a new config option, LogAllFileAccess, which will log access to every Chris Wilson2007-01-11
| | | | | | file and scanning every directory. The current implementation is taken straight from the Boxi branch. To be extended shortly. (refs #3)
* * bbackupd/BackupDaemon.hChris Wilson2006-08-09
| | | | | | | * bbackupd/BackupDaemon.cpp - Made SerializeStoreObjectInfo() return a boolean, true if it successfully saved the store object info file, false otherwise.
* * bin/bbackupd/BackupDaemon.hChris Wilson2006-08-09
| | | | | - Revert to trunk
* * mergeChris Wilson2006-07-27
| | | | | | | - This is my current patch queue. I think that all of these are safe to apply. This is just under half of the pending changes in chris/general (the easy half).
* Merge chris/win32/vc2005-compile-fixes @ r455, add infrastructure/msvc to ↵Ben Summers2006-02-13
| | | | distribution