- Merged Logger and QuickLogger for simplified usage
- Fixed inotifyway error in FreeBSD (see #119)
- Minor enhancements in installer / ofunctions
- Added --prefix option for installer
- Installer path fixes
- Fixed logging bug with QuickLogger
- Added --prefix option for installer
- Installer path fixes
- Fixed logging bug with QuickLogger
- Refactored time control and parallel execution functions into one single function
- Multiple portability improvements
- UrlEncode function is now Busybox compatible
- IsInteger function is now Busybox compatible
- UrlEncode function is now Busybox compatible
- IsInteger function is now Busybox compatible
- Prevented non unique runtime filenames on some systems where no milliseconds exist
- Fixed bogus runtime filenames on Busybox
- Fixed bogus runtime filenames on Busybox
- Upgraded shunit2 test framework to v2.1.8pre (git commit 07bb329)
- Multiple smaller fixes and improvements
25 Mar 2017: osync v1.2 release (for full changelog of v1.2 branch see all v1.2-beta/RC entries)
### 25 Mar 2017: osync v1.2 release (for full changelog of v1.2 branch see all v1.2-beta/RC entries)
- Check for initiator directory before launching monitor mode
- Updated RPM spec file (Thanks to https://github.com/liger1978)
- Fixed remote commands can be run on local runs and obviously fail
- Minor fixes in installer logic
10 Feb 2017: osync v1.2-RC3 release
### 10 Feb 2017: osync v1.2-RC3 release
- Uninstaller skips ssh_filter if needed by other program (osync/obackup)
- Logger now automatically obfuscates _REMOTE_TOKEN
- Logger doesn't show failed commands in stdout, only logs them
08 Feb 2017: osync v1.2-RC2 release
### 08 Feb 2017: osync v1.2-RC2 release
- Tests have run on CentOS 5,7 and 7, Debian 8, Linux Mint 18, Fedora 25, FreeBSD 10.3/pfSense, FreeBSD 11, MacOSX Sierra, Win10 1607 (14393.479) bash, Cygwin x64 and MSYS2 current
- Unit tests have run on CentOS 5,6 and 7, Debian 8, Linux Mint 18, FreeBSD 10.3/pfSense, FreeBSD 11, MacOSX Sierra, Win10 1607 (14393.479) bash, Cygwin x64 and MSYS2 current
- Added optional rsync arguments configuration value
- Made unit tests clean authorized_keys file after usage
- Added local unit test where remote OS connection would fail
18 Nov 2016: osync v1.2-beta3 released
### 18 Nov 2016: osync v1.2-beta3 released
- Improved locking / unlocking replicas
- Fixed killing local pid that has lock bug introduced in v1.2 rewrite
- Allow remote unlocking when INSTANCE_ID of lock matches local INSTANCE_ID
- Fixed killing local pid that has lock bug introduced in v1.2 rewrite
- Allow remote unlocking when INSTANCE_ID of lock matches local INSTANCE_ID
- Fixed failed deletions re-propagation bug introduced in v1.2 rewrite
- Faster remote OS detection
- New output switches, --no-prefix, --summary, --errors-only
- Added busybox (and Android Termux) support
- More portable file size functions
- More portable compression program commands
- More paranoia checks
- Added busybox sendmail support
- Added tls and ssl support for sendmail
- More portable file size functions
- More portable compression program commands
- More paranoia checks
- Added busybox sendmail support
- Added tls and ssl support for sendmail
- Added --skip-deletion support in config and quicksync modes
- Added possibility to skip deletion on initiator or target replica
- Prevent lock file racing condition (thanks to https://github.com/allter)
- Added ssh password file support
- Hugely improved unit tests
- Added conflict resolution tests
- Added softdeletion tests
- Added softdeletion cleanup tests
- Added lock tests
- Added skip-deletion tests
- Added configuration file tests
- Added upgrade script test
- Added basic daemon mode tests
- Added conflict resolution tests
- Added softdeletion tests
- Added softdeletion cleanup tests
- Added lock tests
- Added skip-deletion tests
- Added configuration file tests
- Added upgrade script test
- Added basic daemon mode tests
- Simplified logger
- All fixes from v1.1.5
17 Oct 2016: osync v1.2-beta2 released
### 17 Oct 2016: osync v1.2-beta2 released
- osync now propagates symlink deletions and moves symlinks without referrents to deletion dir
- Upgrade script now has the ability to add any missing value
- Improved unit tests
- Added upgrade script test
- Added deletion propagation tests
- Added upgrade script test
- Added deletion propagation tests
30 Aug 2016: osync v1.2-beta released
### 30 Aug 2016: osync v1.2-beta released
- Rendered more recent code compatible with bash 3.2+
- Added a PKGBUILD file for ArchLinux thanks to Shadowigor (https://github.com/shaodwigor). Builds available at https://aur.archlinux.org/packages/osync/
- Some more code compliance & more paranoia checks
- Added more preflight checks
- Logs sent by mail are easier to read
- Better subject (currently running or finished run)
- Fixed bogus double log sent in alert mails
- Better subject (currently running or finished run)
- Fixed bogus double log sent in alert mails
- Made unix signals posix compliant
- Config file upgrade script now updates header
- Improved batch runner
- Made keep logging value configurable and not mandatory
- Fixed handling of processes in uninterruptible sleep state
- Parallelized sync functions
- Rewrite sync resume process
- Rewrite sync resume process
- Added options to ignore permissions, ownership and groups
- Refactored WaitFor... functions into one
- Improved execution speed
- Rewrite sync resume process
- Added parallel execution for most secondary fuctions
- Lowered sleep time in wait functions
- Removed trivial sleep and forking in remote deletion code, send the whole function to background instead
- Unlock functions no longer launched if locking failed
- Rewrite sync resume process
- Added parallel execution for most secondary fuctions
- Lowered sleep time in wait functions
- Removed trivial sleep and forking in remote deletion code, send the whole function to background instead
- Unlock functions no longer launched if locking failed
- Improved WaitFor... functions to accept multiple pids
- Added KillAllChilds function to accept multiple pids
- Improved logging
17 Nov 2016: osync v1.1.5 released
### 17 Nov 2016: osync v1.1.5 released
- Backported unit tests from v1.2-beta allowing to fix the following
- Allow quicksync mode to specify rsync include / exclude patterns as environment variables
- Added default path separator char in quicksync mode for multiple includes / exclusions
- Local runs should not check for remote connectivity
- Fixed backups go into root of replica instead of .osync_wordir/backups
- Fixed error alerts cannot be triggered from subprocesses
- Fixed remote locked targets are unlocked in any case
- Allow quicksync mode to specify rsync include / exclude patterns as environment variables
- Added default path separator char in quicksync mode for multiple includes / exclusions
- Local runs should not check for remote connectivity
- Fixed backups go into root of replica instead of .osync_wordir/backups
- Fixed error alerts cannot be triggered from subprocesses
- Fixed remote locked targets are unlocked in any case
10 Nov 2016: osync v1.1.4 released
### 10 Nov 2016: osync v1.1.4 released
- Fixed a corner case with sending alerts with logfile attachments when osync is used by multiple users
02 Sep 2016: osync v1.1.3 released
### 02 Sep 2016: osync v1.1.3 released
- Fixed installer for CYGWIN / MSYS environment
28 Aug 2016: osync v1.1.2 released
### 28 Aug 2016: osync v1.1.2 released
- Renamed sync.conf to sync.conf.example (thanks to https://github.com/hortimech)
- Improved and refactored the soft deletion routine by merging conflict backup and soft deletion
- Reworked soft deletion code to handle a case where a top level directory gets deleted even if the files contained in it are not old enough (this obviously shouldn't happen on most FS)
- Added more logging
- Reworked soft deletion code to handle a case where a top level directory gets deleted even if the files contained in it are not old enough (this obviously shouldn't happen on most FS)
- Added more logging
- Merged various fixes from onovy (http://github.com/onovy) Thanks!
- Lowered sleep time between commands
- Check if master and slave directories are the same
- Check script parameters in osync.sh and osync-batch.sh
- Run sync after timeout in --on-changes mode when no changes are detected (helps propagate slave changes)
- Fix for locking in --on-changes mode (child should lock/unlock, master process shouldn't unlock)
- Remote user is now optional in quicksync mode
- Lowered sleep time between commands
- Check if master and slave directories are the same
- Check script parameters in osync.sh and osync-batch.sh
- Run sync after timeout in --on-changes mode when no changes are detected (helps propagate slave changes)
- Fix for locking in --on-changes mode (child should lock/unlock, master process shouldn't unlock)
- Remote user is now optional in quicksync mode
- Replaced default script execution storage from /dev/shm to /tmp because some rootkit detection software doesn't like this
- Fixed bogus error in DEBUG for quicksync mode where no max execution time is set