2
0
mirror of https://github.com/deajan/osync synced 2024-11-19 03:25:37 +00:00
osync/CHANGELOG.md

324 lines
17 KiB
Markdown
Raw Normal View History

2013-07-30 22:18:39 +00:00
KNOWN ISSUES
------------
2013-07-19 16:17:55 +00:00
2014-05-26 22:50:46 +00:00
- Cannot finish sync if one replica contains a directory and the other replica contains a file named the same way (Unix doesn't allow this)
- Soft deletion does not honor exclusion lists
RECENT CHANGES
--------------
2016-08-22 08:27:08 +00:00
2016-11-19 12:23:45 +00:00
19 nov 2016: osync v1.2-beta3 re-release
- Fixed blocker bug where local tests tried GetRemoteOS Anyway
- Fixed CentOS 5 compatibility bug for checking disk space introduced in beta3
- More Android / Busybox compatibility
18 Nov 2016: osync v1.2-beta3 released
2016-11-13 13:46:59 +00:00
2016-11-17 19:02:30 +00:00
- 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 failed deletions re-propagation bug introduced in v1.2 rewrite
- Faster remote OS detection
- New output switches, --no-prefix, --summary, --errors-only
2016-11-13 13:46:59 +00:00
- 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
- Added --skip-deletion support in config and quicksync modes
2016-11-17 19:02:30 +00:00
- 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
2016-11-13 13:46:59 +00:00
- Added softdeletion tests
- Added softdeletion cleanup tests
2016-11-17 19:02:30 +00:00
- Added lock tests
- Added skip-deletion tests
2016-11-13 13:46:59 +00:00
- Added configuration file tests
- Added upgrade script test
2016-11-17 23:04:47 +00:00
- Added basic daemon mode tests
2016-11-17 19:02:30 +00:00
- Simplified logger
2016-11-17 23:04:47 +00:00
- All fixes from v1.1.5
2016-10-17 14:46:08 +00:00
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
2016-09-02 19:43:14 +00:00
30 Aug 2016: osync v1.2-beta released
- Rendered more recent code compatible with bash 3.2+
2016-08-30 09:57:39 +00:00
- 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
2016-08-29 15:38:30 +00:00
- Added more preflight checks
2016-08-28 09:30:28 +00:00
- Logs sent by mail are easier to read
- Better subject (currently running or finished run)
- Fixed bogus double log sent in alert mails
2016-08-22 08:27:08 +00:00
- 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
2016-08-13 09:56:15 +00:00
- Parallelized sync functions
2016-08-22 08:27:08 +00:00
- Rewrite sync resume process
2016-08-09 11:44:43 +00:00
- Added options to ignore permissions, ownership and groups
- Refactored WaitFor... functions into one
2016-08-02 09:11:19 +00:00
- Improved execution speed
2016-08-22 08:27:08 +00:00
- Rewrite sync resume process
2016-08-02 09:11:19 +00:00
- 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
2016-08-13 09:56:15 +00:00
- Unlock functions no longer launched if locking failed
2016-08-02 09:11:19 +00:00
- Improved WaitFor... functions to accept multiple pids
2016-08-06 11:26:16 +00:00
- Added KillAllChilds function to accept multiple pids
2016-08-02 09:11:19 +00:00
- Improved logging
2016-11-17 19:02:30 +00:00
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
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
2016-08-30 09:57:39 +00:00
- Fixed installer for CYGWIN / MSYS environment
2016-08-28 10:00:43 +00:00
28 Aug 2016: osync v1.1.2 released
- Renamed sync.conf to sync.conf.example (thanks to https://github.com/hortimech)
- Fixed RunAfterHook may be executed twice
2016-08-13 09:56:15 +00:00
- Fixed soft deletion when SUDO_EXEC is enabled
06 Aug 2016: osync v1.1.1 released
2016-08-06 11:26:16 +00:00
- Fixed bogus rsync pattern file adding
2016-08-02 20:21:28 +00:00
- Fixed soft deletion always enabled on target
2016-08-02 10:57:56 +00:00
- Fixed problem with attributes file list function
2016-08-02 09:11:19 +00:00
- Fixed deletion propagation code
- Fixed missing deletion / backup diretories message in verbose mode
2016-07-27 08:27:11 +00:00
27 Jul 2016: osync v1.1 released
- 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
2016-07-27 08:27:11 +00:00
- 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
2015-11-12 00:37:43 +00:00
- 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
2015-09-26 11:30:55 +00:00
- Added v1.0x to v1.1 upgrade script
2015-09-12 20:09:05 +00:00
- Added (much) more verbose debugging (and possibility to remove debug code to gain speed)
2015-09-12 17:33:53 +00:00
- Force tree function to overwrite earlier tree files
- Add Logger DEBUG to all eval statements
2015-09-18 07:41:18 +00:00
- Unlocking happens after TrapQuit has successfully killed any child processes
- Replace child_pid by $? directly, add a better sub process killer in TrapQuit
2015-09-12 10:57:27 +00:00
- Refactor [local master, local slave, remote slave] code to [local, remote][initiator, target]code
2015-11-12 00:37:43 +00:00
- 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)
2015-09-08 14:08:14 +00:00
- Improved Logging
2015-09-10 15:48:57 +00:00
- Updated osync to be fully compliant with coding style
2015-09-08 14:08:14 +00:00
- Uploaded coding style manifest
2016-10-22 11:03:18 +00:00
- Added LSB info to init script for Debian based distros
2015-09-08 14:08:14 +00:00
v0-v1.0x - Jun 2013 - Sep 2015
2016-10-22 11:03:18 +00:00
------------------------------
2016-07-27 08:27:11 +00:00
22 Jul. 2015: Osync v1.00a released
- Small improvements in osync-batch.sh time management
2015-07-17 07:47:55 +00:00
- 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
2015-06-26 15:54:49 +00:00
- 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
2015-04-24 19:13:48 +00:00
- 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
2016-10-22 11:03:18 +00:00
2016-07-27 08:27:11 +00:00
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
2015-03-30 16:12:01 +00:00
- 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
2015-03-30 16:27:25 +00:00
- 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
- Prevent debug mode to send alert emails
- Fixed an infamous bug introduced with exclude pattern globbing preventing multiple exludes to be processed
2015-02-18 14:03:45 +00:00
- Fixed an issue with empty RSYNC_EXCLUDE_FILES
- Lowered default compression level for email alerts (for low end systems)
2015-02-12 09:34:42 +00:00
- Prevent exclude pattern globbing before the pattern reaches the rsync cmd
2015-01-16 09:55:01 +00:00
- Fixed some missing child pids for time control to work
2014-11-29 14:07:09 +00:00
- Prevent creation of a sync-id less log file when DEBUG is set
2014-11-26 10:25:58 +00:00
- Added a sequential run batch script that can rerun failed batches
2014-11-24 23:38:03 +00:00
- 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)
2014-11-24 09:12:48 +00:00
- 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
2014-05-27 17:58:59 +00:00
- Added treat dir symlink as dir parameter
2016-10-22 11:03:18 +00:00
2016-07-27 08:27:11 +00:00
27 May 2014: Osync 0.99 RC3
2014-05-27 10:47:50 +00:00
- 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
2014-05-26 22:50:46 +00:00
- 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
2014-05-25 15:51:05 +00:00
- 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.
2014-05-22 16:48:40 +00:00
- Added path detection for exclude list file
2014-05-26 22:50:46 +00:00
- Added a simple init script and an install script
2014-05-21 16:33:16 +00:00
- Fixed an issue with MacOSX using rsync -E differently than other *nix (Thanks to Pierre Clement)
2014-05-08 20:08:15 +00:00
- 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.
2014-05-08 10:36:36 +00:00
- 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
2014-03-23 20:57:57 +00:00
- Fixed a bug preventing propagation of empty directory deletions
- Fixed a nasty bug preventing writing lock files on remote system as superuser
2014-03-23 16:52:45 +00:00
- Gzipped logs are now deleted once sent
2014-03-09 16:54:45 +00:00
- Fixed some typos (thanks to Pavel Kiryukhin)
2014-01-19 19:31:14 +00:00
- 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)
2014-01-17 13:05:20 +00:00
- Some more function merge in sync process
- Dry mode won't create or modifiy state files anymore and will use dry-state files instead
2013-11-25 12:20:53 +00:00
- Improved file monitor mode
- Added possibility to daemonize osync in monitor mode
2013-11-18 21:44:20 +00:00
- Added monitor mode, which will launch a sync task upon file operations on master replica
2013-11-18 20:16:31 +00:00
- Changed conf file default format for ssh uri (old format is still compatible)
- Added ssh uri support for slave replicas
2013-11-16 12:12:25 +00:00
- Improved execution hooks logs
2013-11-14 20:20:13 +00:00
- Various bugfixes introduced with function merge
2013-11-13 16:22:34 +00:00
- Added basic MacOS X support (yet not fully tested)
2013-11-14 20:20:13 +00:00
- Merged tree list functions into one
2013-11-03 19:29:17 +00:00
- Added possibility to quick sync two local directories without any prior configuration
- Added time control on OS detection
2016-10-22 11:03:18 +00:00
2016-07-27 08:27:11 +00:00
02 Nov. 2013: Osync 0.99 RC2
2013-11-02 20:57:15 +00:00
- Minor improvement on operating system detection
- Improved RunLocalCommand execution hook
- Minor improvements on permission checks
2013-10-11 20:27:33 +00:00
- Made more portability improvements (mostly for FreeBSD, must be run with bash shell)
2013-10-11 19:35:20 +00:00
- Added local and remote operating system detection
- Added forced usage of MSYS find on remote MSYS hosts
- Updated MSYS handling
2013-10-10 18:28:40 +00:00
- 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
2013-09-13 11:31:21 +00:00
- Fixed an issue with CheckConnectivity3rdPartyHosts
2013-09-11 14:24:25 +00:00
- Added an option to stop execution if a local / remote command fails
2013-09-03 19:22:38 +00:00
- Improved forced quit command by killing all child processes
- Before / after commands are now ignored on dryruns
2013-08-25 10:37:37 +00:00
- Improved verbose output
- Fixed various typos
- Enforced CheckConnectivityRemoteHost and CheckConnectivity3rdPartyHosts checks (if one of these fails, osync is stopped)
2016-10-22 11:03:18 +00:00
2016-07-27 08:27:11 +00:00
18 Aug. 2013: Osync 0.99 RC1
2013-08-18 11:15:40 +00:00
- 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
2013-08-04 07:47:47 +00:00
- Fixed LoadConfigFile function will not warn on wrong config file
- Added --no-maxtime parameter for sync big changes without enforcing execution time checks
2016-10-22 11:03:18 +00:00
2016-07-27 08:27:11 +00:00
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
2016-10-22 11:03:18 +00:00
2016-07-27 08:27:11 +00:00
01 Aug. 2013: beta 2 milestone
2013-08-01 22:18:38 +00:00
- Fixed an issue with spaces in directory trees
- Fixed an issue with recursive directory trees
2013-07-30 22:18:39 +00:00
- Revamped a bit code to add bash 3.2 compatibility
2016-10-22 11:03:18 +00:00
2016-07-27 08:27:11 +00:00
24 Jul. 2013: beta milestone
2013-07-24 19:03:58 +00:00
- 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
2013-07-22 19:14:57 +00:00
- 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
2013-07-21 19:40:55 +00:00
- 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
2013-07-19 16:17:55 +00:00
- 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
2013-07-19 16:17:55 +00:00