All Versions
21
Latest Version
1.3
Avg Release Cycle
174 days
Latest Release
1286 days ago

Changelog History
Page 2

  • v1.2-beta2 Changes

    October 17, 2016
    • ๐Ÿšš 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
  • v1.2-beta Changes

    August 30, 2016
    • 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
    • ๐Ÿšฆ 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
    • 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
    • Improved WaitFor... functions to accept multiple pids
    • Added KillAllChilds function to accept multiple pids
    • ๐ŸŒฒ Improved logging
  • v1.1.5 Changes

    November 17, 2016

    ๐Ÿš€ This is a major fix release.

    โœ… Backported unit tests from v1.2-beta3 allowing to fix the following:

    • ๐Ÿ›  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

    โž• Additionnaly, the following enhancements have been backported in order for tests to work:

    • ๐Ÿ‘ 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
  • v1.1.4 Changes

    November 10, 2016

    ๐Ÿ›  This is a minor bugfix release fixing a corner case with sending alert log files when osync is used by multiple users.

  • v1.1.3 Changes

    September 02, 2016
    • ๐Ÿ›  Fixed installer for CYGWIN / MSYS environment
  • v1.1.2 Changes

    August 28, 2016
    • ๐Ÿ”€ Renamed sync.conf to sync.conf.example (thanks to https://github.com/hortimech)
    • ๐Ÿ›  Fixed RunAfterHook may be executed twice
    • ๐Ÿ›  Fixed soft deletion when SUDO_EXEC is enabled
  • v1.1.1 Changes

    August 06, 2016
    • ๐Ÿ›  Fixed bogus rsync pattern file adding
    • ๐Ÿ›  Fixed soft deletion always enabled on target
    • ๐Ÿ›  Fixed problem with attributes file list function
    • ๐Ÿ›  Fixed deletion propagation code
    • ๐Ÿ›  Fixed missing deletion / backup diretories message in verbose mode
  • v1.1 Changes

    July 27, 2016
    • More msys and cygwin compatibility
    • ๐ŸŒฒ Logging begins now before any remote checks
    • Improved process killing and process time control
    • Redirected ERROR and WARN messages to stderr to systemd catches them into it's journal
    • Added systemd unit files
    • โšก๏ธ Added an option to ignore ssh known hosts (use with caution, can lead to security risks), also updated upgrade script accordingly
    • Added optional installation statistics
    • ๐Ÿ›  Fixed a nasty bug with log writing and tree_list function
    • Improved mail fallback
    • ๐ŸŒฒ Improved more logging
    • ๐Ÿ›  Fixed conflict prevalance is target in quicksync mode
    • โšก๏ธ Fixed file attributes aren't updated in a right manner when file mtime is not altered (Big thanks to vstefanoxx)
    • โฌ†๏ธ Better upgrade script (adding missing new config values)
    • ๐Ÿ›  More fixes for GNU / non-GNU versions of mail command
    • Added bogus config file checks & environment checks
    • Added delta copies disable option
    • Revamped rsync patterns to allow include and exclude patterns
    • ๐Ÿ”€ Fully merged codebase with obackup
    • Passed shellCheck.net
      • Simplified EscapeSpaces to simple bash substitution
      • Corrected a lot of minor warnings in order to make code more bullet proof
    • โฌ†๏ธ Added v1.0x to v1.1 upgrade script
    • ๐Ÿšš Added (much) more verbose debugging (and possibility to remove debug code to gain speed)
    • Force tree function to overwrite earlier tree files
    • Add Logger DEBUG to all eval statements
    • Unlocking happens after TrapQuit has successfully killed any child processes
    • ๐Ÿ‘ Replace child_pid by $? directly, add a better sub process killer in TrapQuit
    • ๐Ÿ”จ Refactor [local master, local slave, remote slave] code to [local, remote][initiator, target]code
    • Renamed a lot of code in order to prepare v2 code (master becomes initiator, slave becomes target, sync_id becomes instance_id)
    • Added some automatic checks in code, for _DEBUG mode (and _PARANOIA_DEBUG now)
    • ๐ŸŒฒ Improved Logging
    • ๐Ÿ’… Updated osync to be fully compliant with coding style
    • ๐Ÿ’… Uploaded coding style manifest
    • Added LSB info to init script for Debian based distros
  • v1.0.x Changes

    June 01, 2013

    ๐Ÿš€ 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

  • v1.00.pre Changes

    • ๐Ÿ”จ 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