Daniel Poelzleithner
9b81bb1785
fix dump for more complex structures
2022-11-09 22:41:04 +01:00
Daniel Poelzleithner
cda98d6ba9
add Queue.inject, test Queue, bugfixes in remove()
2022-11-09 15:22:58 +01:00
Daniel Poelzleithner
daa8abb4cf
nix: extract version from lsyncd.lua
2022-11-08 13:27:20 +01:00
Daniel Poelzleithner
7604dd0e16
cmake: extract lsyncd version from lsyncd.lua
2022-10-31 14:36:39 +01:00
Daniel Poelzleithner
e371078222
update nix locks
2022-10-28 15:12:54 +02:00
Daniel Poelzleithner
a2f7df504c
bump version
2022-10-28 15:12:41 +02:00
Daniel Poelzleithner
e08685cfd6
Search crontab library with different names
2022-10-28 14:08:00 +02:00
Daniel Poelzleithner
1eb8a83500
Print version in debug and help messages
2022-10-28 14:07:17 +02:00
Daniel Poelzleithner
e6f3427c5f
reduce required cmake version to 3.5
2022-06-30 11:43:12 +02:00
Daniel Poelzleithner
f02bf700c1
bump version to 2.3.0
2022-06-07 23:26:04 +02:00
Daniel Poelzleithner
6c8a3c2490
don't fail fast in CI
2022-06-07 22:30:51 +02:00
Daniel Poelzleithner
82f9f27172
Add proper compatibilty wrappers for 5.1
2022-06-07 22:28:30 +02:00
Daniel Poelzleithner
63f506582a
fix ci
2022-06-07 11:12:48 +02:00
Daniel Poelzleithner
18008e1d15
enable more versions
2022-06-03 07:08:18 +02:00
Daniel Poelzleithner
dd84b2e6b6
lua 5.4 fixes
2022-06-03 07:07:08 +02:00
Daniel Poelzleithner
8c71941f9c
Remove old debug prints, fix error() calls
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
c84e3d0e05
fix compile warning about write() return code
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
c5514e0451
Document crontab support
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
e94edac51e
Update docs
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
f244405bce
Use ^ instead of ${} syntax in commandSubstitution as well
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
5b8fa2deda
don't export splitQuotedString
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
f2272f1aa7
Support tunnel command as string
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
867a3cec8e
Add debug function
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
22259eee49
Add rsync tunnel example
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
a16d714d6e
fix alarm calculation
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
1b7bf7577f
do not export inhert functions
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
075d64a069
Implement batchSizeLimit for rsync based transfers
...
If the batchSizeLimit is set, only files lower then this limit will
be grouped in one rsync transfer.
Each file larger then this limit will spawn their own transfer process.
This will cause large files to no longer block small file transfers under the
circumstance the maxProcess limit on the sync is larger then 1
A very optimized, very secure transfer configuration based on a
pool of ssh connection looks like this:
```
sync {
default.rsync,
tunnel = tunnel {
command = {"ssh", "-N", "-L", "localhost:${localport}:localhost:873", "user@targetmachine"},
mode = "pool",
parallel = 2,
},
source = "/tmp/src",
target = "rsync://localhost:${localport}/test",
delay = 5,
batchSizeLimit = 1024 * 1024 * 30,
maxProcesses = 4,
rsync = {
verbose = true,
inplace = true,
}
}
```
If you configure remote ssh configuration only allows portforwarding and your rsync daemon
is configured correctly, you can very securely transfer data without giving shell access.
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
7f0127548b
Add function to return file size
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
32e2cac8cc
Add script to simulate fs changes
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
4a0896f58f
fix logic error in alarm compare
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
6d9164a29a
Fix wrong alarm selection
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
ff84a35d4d
Finish full sync cron trigger
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
9ec4f42888
Only check Tunnels if there is at least one tunnel defined
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
95f8ea67dd
Log source of next alarm as well
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
c8fbe955fe
Add debug functions and timestamp2string helpers
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
58f1991e0b
[WIP] implement crontab full sync
2022-06-03 06:45:38 +02:00
Daniel Poelzleithner
d6c49b6858
Fixes for diffrent lua versions
2022-06-03 06:45:30 +02:00
Daniel Poelzleithner
46188f9f60
Implement tunnel pool mode.
...
In this mode, multiple tunnel processes are started and connection a load
balanced on the pool of connections.
Example config:
...
sync {
default.rsync,
tunnel = tunnel {
command = {"ssh", "-N", "-L", "localhost:${localport}:localhost:873", "user@testmachine"},
mode = "pool",
parallel = 2,
},
target = "rsync://localhost:${localport}/test",
...
}
2022-06-03 06:44:02 +02:00
Daniel Poelzleithner
6e60f6b89e
Call runner cleanup method when exiting through error codes
2022-06-03 06:44:02 +02:00
Daniel Poelzleithner
2b9de7d4c3
rename traceback function
2022-06-03 06:44:02 +02:00
Daniel Poelzleithner
fb86124f30
Call user provideable check function
2022-06-03 06:44:01 +02:00
Daniel Poelzleithner
eda846deed
Add function to return a free port
2022-06-03 06:44:01 +02:00
Daniel Poelzleithner
f66b7147fd
Report tunnel status in status file
2022-06-03 06:44:01 +02:00
Daniel Poelzleithner
c543a21162
Add function to substitude commands with placeholders
2022-06-03 06:44:01 +02:00
Daniel Poelzleithner
3d2288dccf
Updates to tunnel logic.
...
Delay before tunnel is considered up.
Working delay if restart fails.
Disabled state.
Kill all tunnel processes on graceful exit
2022-06-03 06:44:01 +02:00
Daniel Poelzleithner
f603d41c6c
bump version
2022-06-03 06:44:01 +02:00
Daniel Poelzleithner
274b2b0416
[WIP] Add tunnel support
2022-06-03 06:44:01 +02:00
Daniel Poelzleithner
24ef43f5fd
Add lua-crontab to dependencies
2022-06-03 06:43:43 +02:00
Daniel Poelzleithner
1796fdb71b
fix manual link
2022-04-20 23:16:44 +02:00
Daniel Poelzleithner
3fae375201
only link to the releases page
2022-04-20 23:11:18 +02:00