Merge branch 'master' into betterKillChilds
Conflicts: dev/debug_osync.sh dev/n_osync.sh osync.sh
This commit is contained in:
commit
757c53ca3a
|
@ -13,8 +13,12 @@ KNOWN ISSUES
|
||||||
|
|
||||||
RECENT CHANGES
|
RECENT CHANGES
|
||||||
--------------
|
--------------
|
||||||
|
#TODO: clock compare in doc
|
||||||
|
#TODO: explain why osync is lowband friendly in doc
|
||||||
|
#TODO: explain why osync daemon process can still exist after quit for 30s
|
||||||
! XX Apr 2016: osync v1.1 released
|
! XX Apr 2016: osync v1.1 released
|
||||||
|
! Paranoia debug gives incorrect number of arguments in rsyncpatternsadd
|
||||||
|
! cat vv | ssh -p 49999 -i /root/.ssh/id_rsa_netpower root@netpower.fr cat | xargs -I {} stat -c "%n;%Z;%Y" "{}" | sort > tes
|
||||||
! Updated documentation (+README.md file)
|
! Updated documentation (+README.md file)
|
||||||
- Redirected ERROR and WARN messages to stderr to systemd catches them into it's journal
|
- Redirected ERROR and WARN messages to stderr to systemd catches them into it's journal
|
||||||
!- Added a systemd unit file (needs testing in file monitor mode yet)
|
!- Added a systemd unit file (needs testing in file monitor mode yet)
|
||||||
|
|
|
@ -8,7 +8,7 @@ Always use the following header
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
PROGRAM="program-name" # Long description
|
PROGRAM="program-name" # Long description
|
||||||
AUTHOR="(L) 20XX-20YY by Orsiris \"Ozy\" de Jong"
|
AUTHOR="(C) 20XX-20YY by Orsiris \"Ozy\" de Jong"
|
||||||
CONTACT="http://www.example.com me@example.com"
|
CONTACT="http://www.example.com me@example.com"
|
||||||
PROGRAM_BUILD=YYYYMMDDVV
|
PROGRAM_BUILD=YYYYMMDDVV
|
||||||
|
|
||||||
|
@ -145,3 +145,12 @@ As obackup and osync share alot of common functions, ofunctions.sh will host all
|
||||||
Dev programs n_osync.sh and n_obackup.sh will source ofunctions.sh
|
Dev programs n_osync.sh and n_obackup.sh will source ofunctions.sh
|
||||||
Release programs will still include ofunctions.sh in order to enhance ease of use.
|
Release programs will still include ofunctions.sh in order to enhance ease of use.
|
||||||
|
|
||||||
|
Ofunctions are defined like:
|
||||||
|
|
||||||
|
#__FUNC:FunctionName
|
||||||
|
function FunctionName {
|
||||||
|
|
||||||
|
}
|
||||||
|
#__ENDFUNC
|
||||||
|
|
||||||
|
These functions are inserted into code that has placeholders like #__FUNC:FuncName
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
Copyright (c) 2013-2015, Orsiris "Ozy" de Jong. ozy@netpower.fr
|
Copyright (c) 2013-2016, Orsiris de Jong. ozy@netpower.fr
|
||||||
All rights reserved.
|
All rights reserved.
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
|
|
@ -127,10 +127,10 @@ You may run the install.sh script which should work in most cases or copy the fi
|
||||||
$ service osync-srv start
|
$ service osync-srv start
|
||||||
$ chkconfig osync-srv on
|
$ chkconfig osync-srv on
|
||||||
|
|
||||||
Systemd specific
|
Systemd specific (one service per config file)
|
||||||
|
|
||||||
$ systemctl start osync-srv@configfile
|
$ systemctl start osync-srv@configfile.conf
|
||||||
$ systemctl enable osync-srv@configfile
|
$ systemctl enable osync-srv@configfile.conf
|
||||||
|
|
||||||
Troubleshooting
|
Troubleshooting
|
||||||
---------------
|
---------------
|
||||||
|
|
2
dev/de
2
dev/de
|
@ -3,7 +3,7 @@
|
||||||
#TODO: test if trapquit works on kill (sigterm)
|
#TODO: test if trapquit works on kill (sigterm)
|
||||||
|
|
||||||
PROGRAM="osync" # Rsync based two way sync engine with fault tolerance
|
PROGRAM="osync" # Rsync based two way sync engine with fault tolerance
|
||||||
AUTHOR="(L) 2013-2016 by Orsiris de Jong"
|
AUTHOR="(C) 2013-2016 by Orsiris de Jong"
|
||||||
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
||||||
PROGRAM_VERSION=1.1-dev
|
PROGRAM_VERSION=1.1-dev
|
||||||
PROGRAM_BUILD=2016021804
|
PROGRAM_BUILD=2016021804
|
||||||
|
|
|
@ -4,7 +4,11 @@ PROGRAM="osync" # Rsync based two way sync engine with fault tolerance
|
||||||
AUTHOR="(C) 2013-2016 by Orsiris de Jong"
|
AUTHOR="(C) 2013-2016 by Orsiris de Jong"
|
||||||
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
||||||
PROGRAM_VERSION=1.1-dev
|
PROGRAM_VERSION=1.1-dev
|
||||||
|
<<<<<<< HEAD
|
||||||
PROGRAM_BUILD=2016040101
|
PROGRAM_BUILD=2016040101
|
||||||
|
=======
|
||||||
|
PROGRAM_BUILD=2016033101
|
||||||
|
>>>>>>> master
|
||||||
IS_STABLE=yes
|
IS_STABLE=yes
|
||||||
|
|
||||||
## FUNC_BUILD=2016033105
|
## FUNC_BUILD=2016033105
|
||||||
|
@ -1134,14 +1138,14 @@ function CheckCurrentConfig {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check all variables that should contain "yes" or "no"
|
# Check all variables that should contain "yes" or "no"
|
||||||
declare -a yes_no_vars=(CREATE_DIRS SUDO_EXEC SSH_COMPRESSION REMOTE_HOST_PING PRESERVE_ACL PRESERVE_XATTR COPY_SYMLINKS KEEP_DIRLINKS PRESERVE_HARDLINKS CHECKSUM RSYNC_COMPRESS CONFLICT_BACKUP CONFLICT_BACKUP_MULTIPLE SOFT_DELETE RESUME_SYNC FORCE_STRANGER_LOCK_RESUME PARTIAL DELTA_COPIES STOP_ON_CMD_ERROR)
|
declare -a yes_no_vars=(CREATE_DIRS SUDO_EXEC SSH_COMPRESSION SSH_IGNORE_KNOWN_HOSTS REMOTE_HOST_PING PRESERVE_ACL PRESERVE_XATTR COPY_SYMLINKS KEEP_DIRLINKS PRESERVE_HARDLINKS CHECKSUM RSYNC_COMPRESS CONFLICT_BACKUP CONFLICT_BACKUP_MULTIPLE SOFT_DELETE RESUME_SYNC FORCE_STRANGER_LOCK_RESUME PARTIAL DELTA_COPIES STOP_ON_CMD_ERROR)
|
||||||
for i in "${yes_no_vars[@]}"; do
|
for i in "${yes_no_vars[@]}"; do
|
||||||
test="if [ \"\$$i\" != \"yes\" ] && [ \"\$$i\" != \"no\" ]; then Logger \"Bogus $i value defined in config file.\" \"CRITICAL\"; exit 1; fi"
|
test="if [ \"\$$i\" != \"yes\" ] && [ \"\$$i\" != \"no\" ]; then Logger \"Bogus $i value defined in config file.\" \"CRITICAL\"; exit 1; fi"
|
||||||
eval "$test"
|
eval "$test"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check all variables that should contain a numerical value >= 0
|
# Check all variables that should contain a numerical value >= 0
|
||||||
declare -a num_vars=(MINIMUM_SPACE BANDWIDTH SOFT_MAX_EXEC_TIME HARD_MAX_EXEC_TIME MIN_WAIT MAX_WAIT CONFLICT_BACKUP_DAYS SOFT_DELETE_DAYS RESUME_TRY)
|
declare -a num_vars=(MINIMUM_SPACE BANDWIDTH SOFT_MAX_EXEC_TIME HARD_MAX_EXEC_TIME MIN_WAIT MAX_WAIT CONFLICT_BACKUP_DAYS SOFT_DELETE_DAYS RESUME_TRY MAX_EXEC_TIME_PER_CMD_BEFORE MAX_EXEC_TIME_PER_CMD_AFTER)
|
||||||
for i in "${num_vars[@]}"; do
|
for i in "${num_vars[@]}"; do
|
||||||
test="if [ $(IsNumeric \"\$$i\") -eq 0 ]; then Logger \"Bogus $i value defined in config file.\" \"CRITICAL\"; exit 1; fi"
|
test="if [ $(IsNumeric \"\$$i\") -eq 0 ]; then Logger \"Bogus $i value defined in config file.\" \"CRITICAL\"; exit 1; fi"
|
||||||
eval "$test"
|
eval "$test"
|
||||||
|
|
|
@ -4,7 +4,11 @@ PROGRAM="osync" # Rsync based two way sync engine with fault tolerance
|
||||||
AUTHOR="(C) 2013-2016 by Orsiris de Jong"
|
AUTHOR="(C) 2013-2016 by Orsiris de Jong"
|
||||||
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
||||||
PROGRAM_VERSION=1.1-dev
|
PROGRAM_VERSION=1.1-dev
|
||||||
|
<<<<<<< HEAD
|
||||||
PROGRAM_BUILD=2016040101
|
PROGRAM_BUILD=2016040101
|
||||||
|
=======
|
||||||
|
PROGRAM_BUILD=2016033101
|
||||||
|
>>>>>>> master
|
||||||
IS_STABLE=yes
|
IS_STABLE=yes
|
||||||
|
|
||||||
source "./ofunctions.sh"
|
source "./ofunctions.sh"
|
||||||
|
@ -99,14 +103,14 @@ function CheckCurrentConfig {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check all variables that should contain "yes" or "no"
|
# Check all variables that should contain "yes" or "no"
|
||||||
declare -a yes_no_vars=(CREATE_DIRS SUDO_EXEC SSH_COMPRESSION REMOTE_HOST_PING PRESERVE_ACL PRESERVE_XATTR COPY_SYMLINKS KEEP_DIRLINKS PRESERVE_HARDLINKS CHECKSUM RSYNC_COMPRESS CONFLICT_BACKUP CONFLICT_BACKUP_MULTIPLE SOFT_DELETE RESUME_SYNC FORCE_STRANGER_LOCK_RESUME PARTIAL DELTA_COPIES STOP_ON_CMD_ERROR)
|
declare -a yes_no_vars=(CREATE_DIRS SUDO_EXEC SSH_COMPRESSION SSH_IGNORE_KNOWN_HOSTS REMOTE_HOST_PING PRESERVE_ACL PRESERVE_XATTR COPY_SYMLINKS KEEP_DIRLINKS PRESERVE_HARDLINKS CHECKSUM RSYNC_COMPRESS CONFLICT_BACKUP CONFLICT_BACKUP_MULTIPLE SOFT_DELETE RESUME_SYNC FORCE_STRANGER_LOCK_RESUME PARTIAL DELTA_COPIES STOP_ON_CMD_ERROR)
|
||||||
for i in "${yes_no_vars[@]}"; do
|
for i in "${yes_no_vars[@]}"; do
|
||||||
test="if [ \"\$$i\" != \"yes\" ] && [ \"\$$i\" != \"no\" ]; then Logger \"Bogus $i value defined in config file.\" \"CRITICAL\"; exit 1; fi"
|
test="if [ \"\$$i\" != \"yes\" ] && [ \"\$$i\" != \"no\" ]; then Logger \"Bogus $i value defined in config file.\" \"CRITICAL\"; exit 1; fi"
|
||||||
eval "$test"
|
eval "$test"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check all variables that should contain a numerical value >= 0
|
# Check all variables that should contain a numerical value >= 0
|
||||||
declare -a num_vars=(MINIMUM_SPACE BANDWIDTH SOFT_MAX_EXEC_TIME HARD_MAX_EXEC_TIME MIN_WAIT MAX_WAIT CONFLICT_BACKUP_DAYS SOFT_DELETE_DAYS RESUME_TRY)
|
declare -a num_vars=(MINIMUM_SPACE BANDWIDTH SOFT_MAX_EXEC_TIME HARD_MAX_EXEC_TIME MIN_WAIT MAX_WAIT CONFLICT_BACKUP_DAYS SOFT_DELETE_DAYS RESUME_TRY MAX_EXEC_TIME_PER_CMD_BEFORE MAX_EXEC_TIME_PER_CMD_AFTER)
|
||||||
for i in "${num_vars[@]}"; do
|
for i in "${num_vars[@]}"; do
|
||||||
test="if [ $(IsNumeric \"\$$i\") -eq 0 ]; then Logger \"Bogus $i value defined in config file.\" \"CRITICAL\"; exit 1; fi"
|
test="if [ $(IsNumeric \"\$$i\") -eq 0 ]; then Logger \"Bogus $i value defined in config file.\" \"CRITICAL\"; exit 1; fi"
|
||||||
eval "$test"
|
eval "$test"
|
||||||
|
|
|
@ -135,7 +135,7 @@ fi
|
||||||
function Statistics {
|
function Statistics {
|
||||||
|
|
||||||
local link="http://instcount.netpower.fr?program=$PROGRAM&version=$PROGRAM_VERSION"
|
local link="http://instcount.netpower.fr?program=$PROGRAM&version=$PROGRAM_VERSION"
|
||||||
if type wget > /dev/null; then
|
if type wget -qO- > /dev/null; then
|
||||||
wget $link > /dev/null 2>&1
|
wget $link > /dev/null 2>&1
|
||||||
if [ $? == 0 ]; then
|
if [ $? == 0 ]; then
|
||||||
exit 0
|
exit 0
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#!/usr/bin/env bash
|
#!/usr/bin/env bash
|
||||||
SUBPROGRAM=osync
|
SUBPROGRAM=osync
|
||||||
PROGRAM="$SUBPROGRAM-batch" # Batch program to run osync / obackup instances sequentially and rerun failed ones
|
PROGRAM="$SUBPROGRAM-batch" # Batch program to run osync / obackup instances sequentially and rerun failed ones
|
||||||
AUTHOR="(C) 2013-2016 by Orsiris de Jong"
|
AUTHOR="(L) 2013-2016 by Orsiris de Jong"
|
||||||
CONTACT="http://www.netpower.fr - ozy@netpower.fr"
|
CONTACT="http://www.netpower.fr - ozy@netpower.fr"
|
||||||
PROGRAM_BUILD=2016031301
|
PROGRAM_BUILD=2016031301
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
#
|
#
|
||||||
# osync-srv Two way directory sync daemon
|
# osync-srv Two way directory sync daemon
|
||||||
#
|
#
|
||||||
|
|
8
osync.sh
8
osync.sh
|
@ -4,7 +4,11 @@ PROGRAM="osync" # Rsync based two way sync engine with fault tolerance
|
||||||
AUTHOR="(C) 2013-2016 by Orsiris de Jong"
|
AUTHOR="(C) 2013-2016 by Orsiris de Jong"
|
||||||
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
||||||
PROGRAM_VERSION=1.1-dev
|
PROGRAM_VERSION=1.1-dev
|
||||||
|
<<<<<<< HEAD
|
||||||
PROGRAM_BUILD=2016040101
|
PROGRAM_BUILD=2016040101
|
||||||
|
=======
|
||||||
|
PROGRAM_BUILD=2016033101
|
||||||
|
>>>>>>> master
|
||||||
IS_STABLE=yes
|
IS_STABLE=yes
|
||||||
|
|
||||||
## FUNC_BUILD=2016033105
|
## FUNC_BUILD=2016033105
|
||||||
|
@ -1060,14 +1064,14 @@ function CheckCurrentConfig {
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Check all variables that should contain "yes" or "no"
|
# Check all variables that should contain "yes" or "no"
|
||||||
declare -a yes_no_vars=(CREATE_DIRS SUDO_EXEC SSH_COMPRESSION REMOTE_HOST_PING PRESERVE_ACL PRESERVE_XATTR COPY_SYMLINKS KEEP_DIRLINKS PRESERVE_HARDLINKS CHECKSUM RSYNC_COMPRESS CONFLICT_BACKUP CONFLICT_BACKUP_MULTIPLE SOFT_DELETE RESUME_SYNC FORCE_STRANGER_LOCK_RESUME PARTIAL DELTA_COPIES STOP_ON_CMD_ERROR)
|
declare -a yes_no_vars=(CREATE_DIRS SUDO_EXEC SSH_COMPRESSION SSH_IGNORE_KNOWN_HOSTS REMOTE_HOST_PING PRESERVE_ACL PRESERVE_XATTR COPY_SYMLINKS KEEP_DIRLINKS PRESERVE_HARDLINKS CHECKSUM RSYNC_COMPRESS CONFLICT_BACKUP CONFLICT_BACKUP_MULTIPLE SOFT_DELETE RESUME_SYNC FORCE_STRANGER_LOCK_RESUME PARTIAL DELTA_COPIES STOP_ON_CMD_ERROR)
|
||||||
for i in "${yes_no_vars[@]}"; do
|
for i in "${yes_no_vars[@]}"; do
|
||||||
test="if [ \"\$$i\" != \"yes\" ] && [ \"\$$i\" != \"no\" ]; then Logger \"Bogus $i value defined in config file.\" \"CRITICAL\"; exit 1; fi"
|
test="if [ \"\$$i\" != \"yes\" ] && [ \"\$$i\" != \"no\" ]; then Logger \"Bogus $i value defined in config file.\" \"CRITICAL\"; exit 1; fi"
|
||||||
eval "$test"
|
eval "$test"
|
||||||
done
|
done
|
||||||
|
|
||||||
# Check all variables that should contain a numerical value >= 0
|
# Check all variables that should contain a numerical value >= 0
|
||||||
declare -a num_vars=(MINIMUM_SPACE BANDWIDTH SOFT_MAX_EXEC_TIME HARD_MAX_EXEC_TIME MIN_WAIT MAX_WAIT CONFLICT_BACKUP_DAYS SOFT_DELETE_DAYS RESUME_TRY)
|
declare -a num_vars=(MINIMUM_SPACE BANDWIDTH SOFT_MAX_EXEC_TIME HARD_MAX_EXEC_TIME MIN_WAIT MAX_WAIT CONFLICT_BACKUP_DAYS SOFT_DELETE_DAYS RESUME_TRY MAX_EXEC_TIME_PER_CMD_BEFORE MAX_EXEC_TIME_PER_CMD_AFTER)
|
||||||
for i in "${num_vars[@]}"; do
|
for i in "${num_vars[@]}"; do
|
||||||
test="if [ $(IsNumeric \"\$$i\") -eq 0 ]; then Logger \"Bogus $i value defined in config file.\" \"CRITICAL\"; exit 1; fi"
|
test="if [ $(IsNumeric \"\$$i\") -eq 0 ]; then Logger \"Bogus $i value defined in config file.\" \"CRITICAL\"; exit 1; fi"
|
||||||
eval "$test"
|
eval "$test"
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
#!/bin/bash
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
# Test dir
|
# Test dir
|
||||||
TMP="/tmp/osync_tests"
|
TMP="/tmp/osync_tests"
|
||||||
|
|
|
@ -6,7 +6,7 @@ AUTHOR="(C) 2015 by Orsiris \"Ozy\" de Jong"
|
||||||
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
CONTACT="http://www.netpower.fr/osync - ozy@netpower.fr"
|
||||||
OLD_PROGRAM_VERSION="1.0x"
|
OLD_PROGRAM_VERSION="1.0x"
|
||||||
NEW_PROGRAM_VERSION="v1.1x"
|
NEW_PROGRAM_VERSION="v1.1x"
|
||||||
PROGRAM_BUILD=2016033101
|
PROGRAM_BUILD=2016033102
|
||||||
|
|
||||||
function Init {
|
function Init {
|
||||||
OSYNC_DIR=".osync_workdir"
|
OSYNC_DIR=".osync_workdir"
|
||||||
|
@ -311,8 +311,8 @@ function RewriteConfigFiles {
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "Backing up [$config_file] as [$config_file.v1.0x.save]"
|
echo "Backing up [$config_file] as [$config_file.save]"
|
||||||
cp --preserve "$config_file" "$config_file.v1.0x.save"
|
cp --preserve "$config_file" "$config_file.save"
|
||||||
if [ $? != 0 ]; then
|
if [ $? != 0 ]; then
|
||||||
echo "Cannot backup config file."
|
echo "Cannot backup config file."
|
||||||
exit 1
|
exit 1
|
||||||
|
|
Loading…
Reference in New Issue