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