osync v1.0.x Release Notes
Release Date: 2013-06-01 // almost 11 years ago-
๐ 22 Jul. 2015: Osync v1.00a released
- Small improvements in osync-batch.sh time management
- ๐ Improved various logging on error
- ๐ง Work in progress: Unit tests (intial tests written by onovy, Thanks again!)
- Small Improvements on install and ssh_filter scripts
- ๐ Improved ssh uri recognition (thanks to onovy)
- ๐ Fixed #22 (missing full path in soft deletion)
- ๐ Fixed #21 by adding portable shell readlink / realpath from https://github.com/mkropat/sh-realpath
- โ Added detection of osync.sh script in osync-batch.sh to overcome mising path in crontab
- ๐ Fixed osync-batch.sh script when osync is in executable path like /usr/local/bin
- ๐ Fixed multiple keep logging messages since sleep time between commands has been lowered under a second
- โ Added optional checksum parameter for the paranoid :)
- ๐ Fixed typo in soft deletion code preventing logging slave deleted backup files
- โ Removed legacy lockfile code from init script
- โ Removed hardcoded program name from init script
01 Avr. 2015: Osync v1.00pre
- ๐ 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
- ๐ 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
- 0๏ธโฃ 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
- Prevent debug mode to send alert emails
- ๐ Fixed an infamous bug introduced with exclude pattern globbing preventing multiple exludes to be processed
- Fixed an issue with empty RSYNC_EXCLUDE_FILES
- 0๏ธโฃ Lowered default compression level for email alerts (for low end systems)
- Prevent exclude pattern globbing before the pattern reaches the rsync cmd
- ๐ Fixed some missing child pids for time control to work
- ๐ Prevent creation of a sync-id less log file when DEBUG is set
- โ Added a sequential run batch script that can rerun failed batches
- ๐ Fixed an issue where a failed task never gets resumed after a successfull file replication phase
- โ Added experimental partial downloads support for rsync so big files can be resumed on slow links
- โ Added the ability to keep partial downloads that can be resumed on next run (usefull for big files on slow links that reach max execution time)
- ๐ Moved msys specific code to Init(Local|Remote)OSSettings
- โ Added a patch by igngvs to fix some issues with Rsync Exclude files
- โ Added a patch by Gary Clark to fix some issues with remote deletion
- ๐ Minor fixes from obackup codebase
- โ Added compression method fallback (xz, lzma, pigz and gzip)
- โ Removed unused code
- ๐ Fixed remote OS detection when a banner is used on SSH
- โ Added a routine that reinjects failed deletions for next run in order to prevent bringing back when deletion failed with permission issues
- โ Added treat dir symlink as dir parameter
27 May 2014: Osync 0.99 RC3
- โ Additionnal delete fix for *BSD and MSYS (deleted file list not created right)
- ๐ Fixed dry mode to use non dry after run treelists to create delete lists
- โ Added follow symlink parameter
- ๐ Minor fixes in parameter list when bandwidth parameter is used
- โ Added some additionnal checks for *BSD and MacOS environments
- ๐ Changed /bin/bash to /usr/bin/env bash for sanity on other systems, also check for bash presence before running
- ๐ Changed default behavior for quick sync tasks: Will try to resume failed sync tasks once
- ๐ Some code cleanup for state filenames and sync action names
- ๐ Fixed deletion propagation (again). Rsync is definitly not designed to delete a list of files / folders. Rsync replaced by rm function which downloads deletion list to remote system.
- โ Added path detection for exclude list file
- โ Added a simple init script and an install script
- ๐ Fixed an issue with MacOSX using rsync -E differently than other *nix (Thanks to Pierre Clement)
- ๐ Multislave asynchronous task support (Thanks to Ulrich Norbisrath)
- This breaks compat with elder osync runs. Add the SYNC_ID suffix to elder state files to keep deleted file information.
- โ Added an easier debug setting i.e DEBUG=yes ./osync.sh (Again, thanks to Ulrich Norbisrath)
- โ Added hardlink preservation (Thanks to Ulrich Norbisrath)
- โ Added external exclusion file support (Thanks to Pierre Clement)
- ๐ Fixed some typos in doc and program itself (Thanks to Pierre Clement)
- More detailled verbose status messages
- More detailled status messages
- ๐ Fixed a bug preventing propagation of empty directory deletions
- ๐ Fixed a nasty bug preventing writing lock files on remote system as superuser
- ๐ Gzipped logs are now deleted once sent
- ๐ Fixed some typos (thanks to Pavel Kiryukhin)
- ๐ Fixed a bug with double trailing slashes in certain sceanrios
- ๐ Sync execution don't fails anymore if files vanish during execution, also vanished files get logged
- โ Add eventual "comm -23" replacement by "grep -F -x -v -f" to enhance compatibility with other platforms (comm is still much faster than grep, so we keep it)
- ๐ Replaced xargs rm with find -exec rm to better handle file names in soft deletion
- ๐ Fixed soft deletion not happening with relative paths
- ๐ Improved process termination behavior
- ๐ More code merging and cleanup
- ๐ Fixed a bug preventing deleted files in subdirectories propagation (Thanks to Richard Faasen for pointing that out)
- ๐ Some more function merge in sync process
- Dry mode won't create or modifiy state files anymore and will use dry-state files instead
- ๐ Improved file monitor mode
- โ Added possibility to daemonize osync in monitor mode
- โ Added monitor mode, which will launch a sync task upon file operations on master replica
- ๐ Changed conf file default format for ssh uri (old format is still compatible)
- โ Added ssh uri support for slave replicas
- ๐ Improved execution hooks logs
- ๐ Various bugfixes introduced with function merge
- โ Added basic MacOS X support (yet not fully tested)
- ๐ Merged tree list functions into one
- โ Added possibility to quick sync two local directories without any prior configuration
- โ Added time control on OS detection
02 Nov. 2013: Osync 0.99 RC2
- Minor improvement on operating system detection
- ๐ Improved RunLocalCommand execution hook
- Minor improvements on permission checks
- Made more portability improvements (mostly for FreeBSD, must be run with bash shell)
- โ Added local and remote operating system detection
- Added forced usage of MSYS find on remote MSYS hosts
- Updated MSYS handling
- ๐ Merged MSYS (MinGW minimal system) bash compatibility under Windows from Obackup
- Added check for /var/log directory
- Added check for shared memory directory
- Added alternative way to kill child processes for other OSes and especially for MSYS (which is a very odd way)
- Added Sendemail.exe support for windows Alerting
- Replaced which commend by type -p, as it is more portable
- Added support for ping.exe from windows
- Forced usage of MSYS find instead of Windows' find.exe on master
- Added an optionnal remote rsync executable path parameter
- ๐ Fixed an issue with CheckConnectivity3rdPartyHosts
- โ Added an option to stop execution if a local / remote command fails
- ๐ Improved forced quit command by killing all child processes
- Before / after commands are now ignored on dryruns
- ๐ Improved verbose output
- ๐ Fixed various typos
- Enforced CheckConnectivityRemoteHost and CheckConnectivity3rdPartyHosts checks (if one of these fails, osync is stopped)
18 Aug. 2013: Osync 0.99 RC1
- โ Added possibility to change default logfile
- ๐ Fixed a possible error upon master replica lock check
- ๐ Fixed exclude directorires with spaces in names generate errros on master replica tree functions
- ๐ Dryruns won't create after run tree lists and therefore not prevent building real run delete lists
- Softdelete and conflict backup functions are now time controlled
- โ Added bandwidth limit
- โก๏ธ Update and delete functions now run rsync with --stats parameter
- ๐ Fixed LoadConfigFile function will not warn on wrong config file
- โ Added --no-maxtime parameter for sync big changes without enforcing execution time checks
03 Aug. 2013: beta 3 milestone
- Softdelete functions do now honor --dry switch
- ๐ Simplified sync delete functions
- โจ Enhanced compatibility with different charsets in filenames
- โ Added CentOS 5 compatibility (comm v5.97 without --nocheck-order function replaced by sort)
- Tree functions now honor supplementary rsync arguments
- Tree functions now honor exclusion lists
01 Aug. 2013: beta 2 milestone
- ๐ Fixed an issue with spaces in directory trees
- ๐ Fixed an issue with recursive directory trees
- Revamped a bit code to add bash 3.2 compatibility
24 Jul. 2013: beta milestone
- ๐ Fixed some bad error handling in CheckMasterSlaveDirs and LockDirectories
- โ Added support for spaces in sync dirs and exclude lists
- ๐ Fixed false exit code if no remote slave lock present
- โ Added minimum disk space checks
- โ Added osync support in ssh_filter.sh
- โ Added support for sudo exec on remote slave
- โ Added support for alternative rsync executable
- โ Added support for spaces in sync directories names
- โ Added support for ACL and xattr
- โ Added --force-unlock parameter to bypass any existing locks on replicas
- โ Added full remote support for slave replica
- ๐ Improved error detection
- Made some changes in execution hook output
- ๐ Fixed an issue with task execution handling exit codes
- โ Added master and slave replicas lock functionnality
- โ Added rsync exclude patterns support
- ๐ Improved backup items, can now have multiple backups of the same file
- โ Added maximum number of resume tries before trying a fresh stateless execution
- โ Added possibility to resume a sync after an error
- ๐ Improved task execution time handling
- ๐ Improved SendAlert handling
- ๐ Fixed cleanup launched even if DEBUG=yes
- โ Added verbose rsync output
- โ Added --dry and --silent parameters
- โ Added time control
- โ Added master/slave conflict prevalance option
- โ Added soft-deleted items
- โ Added backup items in case of conflict
19 Jun. 2013: Project begin as Obackup fork